Commit Graph

3671 Commits

Author SHA1 Message Date
Bob Mottram 11c57e7aee Remove Google References
This removes most references to Google, with some
remaining since they may point to things which are still
relevant. References to Google Code, Google Buzz and
Google Maps have been removed
2016-03-20 13:06:58 +00:00
Mikael Nordfeldth 723b49a22a throw exception instead of clientError 2016-03-09 14:17:55 +01:00
Mikael Nordfeldth 265fa12917 Relatively experimental change to store thumbnails in 'file/thumb/' (by default) 2016-03-07 22:33:34 +01:00
Mikael Nordfeldth 6ec72b2978 Move mail_confirm_address out of mail.php 2016-03-06 17:27:40 +01:00
Mikael Nordfeldth bf34f730dd Use $this->scoped in AvatarsettingsAction 2016-03-05 01:03:48 +01:00
Mikael Nordfeldth 175b7e8541 Refactor some ConfirmaddressAction stuff 2016-03-02 15:31:48 +01:00
Mikael Nordfeldth 63c087a255 Consistent behaviour for ScopingNoticeStream $scoped
We don't guess the current profile anymore if the value of the profile === -1

Also sets $this->scoped for all ScopingNoticeStream inheritors, which just
like in an Action can be null if we're not scoped in any way (logged in).
2016-03-01 14:51:47 +01:00
Mikael Nordfeldth da34491c59 Woops, undefined $type there. 2016-02-28 20:50:45 +01:00
mmn d1b294e1ac Merge branch 'delete_group_logo' into 'nightly'
Now we can delete a group logo.

I added a function of deleting a group logo.

I'm not sure we should delete group's avatar through Avatar::deleteFromProfile like on line 426:
```php
Avatar::deleteFromProfile($this->group->getProfile());
```

See merge request !84
2016-02-28 18:45:31 +00:00
Mikael Nordfeldth 2696e13b19 Refactoring ApiStatusesDestroyAction 2016-02-28 19:35:03 +01:00
Mikael Nordfeldth 446c930823 Change to more recent code style in ApiStatusesDestroyAction 2016-02-28 19:23:13 +01:00
hannes 6a0007c410 moderators can delete others' notices using the api 2016-02-27 01:03:24 +00:00
Mikael Nordfeldth 1d0a448e07 Publish rel="me" in Link HTTP headers 2016-02-24 16:43:09 +01:00
Mikael Nordfeldth afbdcf8938 Don't publish mbox_sha1sum in FOAF by default.
We say the email is private data, so reasonably we shouldn't reveal it
indirectly through a hash sum: http://xmlns.com/foaf/spec/#term_mbox_sha1sum
2016-02-19 00:10:05 +01:00
Mikael Nordfeldth 73dbc5ca1b Use ToSelector choice again. 2016-02-17 23:44:15 +01:00
Mikael Nordfeldth d9b649642d Show notice feed URLs (and author) 2016-02-17 23:32:56 +01:00
Mikael Nordfeldth 5fbb01130a By default, disallow users to set private_stream 2016-02-17 22:58:31 +01:00
Mikael Nordfeldth 47dc15c9f6 Describe that we don't allow empty fullnames. 2016-02-17 22:48:32 +01:00
Mikael Nordfeldth d6bf90cfb7 If profile fullname is 0 chars use nickname 2016-02-17 22:43:45 +01:00
Mikael Nordfeldth c7c34ec05a Only administrators can delete other privileged users. 2016-02-12 15:00:18 +01:00
Mikael Nordfeldth e5ad98e601 Silence action can only be used on non-priviliged users 2016-02-12 14:22:25 +01:00
Mikael Nordfeldth ec257d940a Either use or don't use HTTPS
The risk of injection attacks using HTTP is too great to allow a
site that allows both HTTP and HTTPS...
2016-02-10 00:57:39 +01:00
Mikael Nordfeldth 7c90d7022b Require the license with HTML5 2016-02-08 17:56:35 +01:00
Mikael Nordfeldth cd71188d3a SimpleCaptcha plugin to stop basic bots 2016-02-08 17:47:09 +01:00
Mikael Nordfeldth a30d34be7f Returnto the previous page when deleting a notice. 2016-02-08 15:30:28 +01:00
Mikael Nordfeldth 25c15119bc Backupaccount is always readonly 2016-02-03 01:15:35 +01:00
Mikael Nordfeldth 19b743a9f5 Set time limit to increase time backupaccount can take
Wills till run out of memory probably, we should fix that.
2016-02-03 01:04:14 +01:00
Mikael Nordfeldth a6898b033d Fullname and location are now text, not varchar, and can be >191|255 2016-01-28 19:12:30 +01:00
Mikael Nordfeldth 7e6783bb8f Replace htmLawed with HTMLPurifier 2016-01-28 19:01:13 +01:00
Mikael Nordfeldth d73c264e25 Haha, forgot that the $content content must also be there! 2016-01-27 23:04:19 +01:00
Mikael Nordfeldth a47563cf3d Don't add space if there's no string in new notice content 2016-01-27 22:41:53 +01:00
Mikael Nordfeldth 03d2b680f8 Allow empty new-notice content via web if there's an upload 2016-01-27 22:39:43 +01:00
Akio Nishimura d13454fb84 Now we can delete a group logo. 2016-01-21 08:10:35 +09:00
Mikael Nordfeldth a1530b0e68 Removing superflous debug stuff 2016-01-14 22:12:36 +01:00
Mikael Nordfeldth 8df38df5cb Get uploaded media_ids via File::getByID()
Filters out failed ones...
2016-01-14 22:05:03 +01:00
Mikael Nordfeldth e5019c3858 Accept media_ids parameter from Twitter API v1.1 clients
They upload the media first and then provide media IDs in a comma
separated parameter (but we just split it to all whole integers).
2016-01-14 20:24:01 +01:00
Mikael Nordfeldth b570f0d3cb Media files are accepted and uploaded via Twitter API now 2016-01-14 19:15:02 +01:00
Mikael Nordfeldth 0caf0612d0 Make Twitter Media upload API v1.1 reach us
Now we just have to accept the 'media' or 'media_data' (base64 encoded)
POST arguments instead of $_FILES uploads.
2016-01-14 18:29:21 +01:00
Mikael Nordfeldth 1e5770bbcf $this->notice is never unset after prepare 2016-01-13 21:34:15 +01:00
Mikael Nordfeldth adba38ce20 Deleted_notice is pluginified, don't call directly from core 2016-01-13 21:29:23 +01:00
mmn e4a1dff98d Merge branch 'apiaccountregister_event_branch' into 'nightly'
APIStartRegistrationTry event



See merge request !77
2016-01-11 21:08:09 +00:00
hannes 543a7e421e APIStartRegistrationTry event 2016-01-11 20:04:31 +00:00
Mikael Nordfeldth 33194b3cff Attention goes to the parent notice author too 2016-01-08 02:58:31 +01:00
Mikael Nordfeldth c48871cf1b Notice from web now saves context->attention too! ;) 2016-01-07 23:24:15 +01:00
Mikael Nordfeldth 1f02dc639e shortenLinks _after_ media upload to be consistent with api 2016-01-07 18:14:45 +01:00
Mikael Nordfeldth 6505504411 shortenLinks with a capital L 2016-01-07 18:12:29 +01:00
Mikael Nordfeldth 6924bb1d29 Gah and a 302 in the non-exception-handling redirect too 2016-01-06 20:09:59 +01:00
Mikael Nordfeldth a9b5519293 Attachment thumbnail redirect is a 302 redirect
It SHOULD be cached but it might no longer be valid if we empty cache or something.
2016-01-06 20:07:40 +01:00
Mikael Nordfeldth 4d179c6b0c Our URLs are permanent redirects, mind you! 2016-01-06 20:06:14 +01:00
Mikael Nordfeldth b596391fcd Avoid having to check for notices without rendered copies in upgrade.php
Always call the Notice->getRendered() function to get a rendered copy.
We could perhaps put some sanitation there too in the future
2016-01-06 15:32:27 +01:00
Mikael Nordfeldth 0fd2ad649e Conversation IDs (again) no longer based on Notice ID 2016-01-06 13:58:46 +01:00
Mikael Nordfeldth 4b22b0c42a More listitems and lists into separate files + stronger typing 2016-01-06 01:36:46 +01:00
Mikael Nordfeldth 6d9f390ba8 Separating classes into files and stronger typing 2016-01-06 01:30:12 +01:00
Mikael Nordfeldth 792b62874e Require Profile for Profile->getLists 2016-01-06 00:18:10 +01:00
Mikael Nordfeldth 3d66d960a1 Require Profile for Profile->getOtherTags 2016-01-06 00:07:15 +01:00
Mikael Nordfeldth 8ad6b8809a Don't abort on too long notices in Notice::saveActivity 2016-01-05 17:31:09 +01:00
Mikael Nordfeldth c19964094b Pending subscription requests now work as they should
A slight layout issue with the buttons still persists
2016-01-03 20:27:53 +01:00
Mikael Nordfeldth 0dfafe2567 NewnoticeAction now uses Notice::saveActivity(...) 2016-01-01 20:18:54 +01:00
Mikael Nordfeldth 54325e266f upgrade script makes sure all notices have rendered copies 2016-01-01 18:30:38 +01:00
Mikael Nordfeldth b0bf620c61 RecoverpasswordAction uses User->setPassword() 2015-12-30 17:53:43 +01:00
Mikael Nordfeldth 29847f172f setPassword now runs validate too 2015-12-30 17:51:57 +01:00
Chimo c95f74018d Add AtomPub, Twitter-compat. API documentation to doc-src/ 2015-11-24 13:00:32 -05:00
mmn 3255e2e1b8 Merge branch 'page_title_showstream' into 'nightly'
Show page title in user's profile page

Enable page title on user's profile page to make it consistent with all other pages and better orient users.

![Screenshot_-_250715_-_14_50_00](https://git.gnu.io/aroque/gnu-social/uploads/06e92b233e88fdb66047fbc0571f9831/Screenshot_-_250715_-_14_50_00.png)

See merge request !22
2015-10-10 20:36:59 +00:00
mmn 89d3d9b2ce Merge branch 'usergroups_page' into 'nightly'
Improve display of user's groups page.

* Show page notice as for subscriptions
* Show instructions when user has no groups
* Add explanation of remote groups and link to skilledtest wiki

Here is how it looks when a logged in user is not following groups yet

![login_nogroups](https://git.gnu.io/aroque/gnu-social/uploads/34b1bdcdb9e7277ec3deff4594061c59/login_nogroups.png)

After following a group, you still see the instruction notice. This way you have links to searching groups and creating a new one.

![login_groups](https://git.gnu.io/aroque/gnu-social/uploads/cb50689bcdfca7adc5cdcbe620487aa4/login_groups.png)

Finally when logged out:

![nologin_groups](https://git.gnu.io/aroque/gnu-social/uploads/40d81ab909321f8729c2696dd3938d46/nologin_groups.png)

The current version on nightly has basically no text at all.

See merge request !25
2015-10-10 20:35:36 +00:00
Mikael Nordfeldth a793d211d2 Match parent class definition of clientError 2015-10-10 20:51:53 +02:00
Mikael Nordfeldth b4c51b2d39 Use an atom:link to ApiMediaUpload response instead of mediahref
'cause why not?
2015-10-10 20:41:14 +02:00
Mikael Nordfeldth 9728270acd Add mediahref in our incredibly arbitrary response 2015-10-10 17:15:29 +02:00
Mikael Nordfeldth 5d91c9a820 Don't send multiple error responses in ApiMediaUpload :) 2015-10-10 17:12:44 +02:00
Mikael Nordfeldth dd149a76f3 AtomPub should work now, at least for post/note 2015-10-09 16:19:26 +02:00
Mikael Nordfeldth 216a04df86 Switching variable access in ApiTimelineUser to GNUsocial improvements 2015-10-09 11:23:20 +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 ad3b62cf2f ShowprofiletagAction now extends ShowstreamAction 2015-09-27 23:46:30 +02:00
Mikael Nordfeldth 0e24709989 Profile/Peopletag file splitting for autoload 2015-09-27 22:51:50 +02:00
Mikael Nordfeldth 0bd0c65b87 Bring back title to DocAction 2015-09-15 14:26:33 +02:00
Mikael Nordfeldth b209dcf8a7 DocAction now extends ManagedAction 2015-09-15 12:07:35 +02:00
Mikael Nordfeldth e06553b15b Suggested edits by hannes2peer 2015-09-03 18:04:13 +02:00
aroquen a04b1cda45 Drop dead variable 2015-07-26 11:10:57 +02:00
aroquen b0abce9bc8 Page notice message as instructions class 2015-07-26 11:10:30 +02:00
aroquen c6f58d432c Improve display of user's groups page.
* Show page notice as for subscriptions
* Show instructions when user has no groups
* Add explanation of remote groups and link to skilledtest wiki
2015-07-25 21:38:38 +02:00
aroquen ad49158fb5 Show page title in user's profile page 2015-07-25 14:45:45 +02:00
Mikael Nordfeldth 266b032b17 UsergroupbyidAction now extends ManagedAction 2015-07-21 02:32:17 +02:00
Mikael Nordfeldth 992fe6896f Urlsettings now adapted to FormAction 2015-07-17 15:16:45 +02:00
Mikael Nordfeldth 2dd979d3f8 SMS Settings now better adapted to FormAction 2015-07-17 14:29:07 +02:00
Mikael Nordfeldth 9f82da07f1 ProfilesettingsAction and related stuff modernised 2015-07-17 12:20:11 +02:00
Mikael Nordfeldth 53e820b466 Maximum character limit with utf8mb4 is 191 in varchar 2015-07-17 11:22:25 +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 47ef917f62 oldschool settings adapted to FormAction
TODO: Rename this "Layout", "Display" or something, since it might
actually be interesting to have non-threaded views for some users.
2015-07-17 01:18:28 +02:00
Mikael Nordfeldth a6e299a2fc OAuth stuff adapted for FormAction
TODO: Break OAuth out into a plugin.
2015-07-17 01:07:19 +02:00
Mikael Nordfeldth f1d9d8a6ed ImSettings adapted to FormAction inheritance
TODO: Get separate Form classes and move User_im_prefs to Profile_prefs
2015-07-16 21:18:50 +02:00
Mikael Nordfeldth 647171e089 EmailSettingsAction adapted to FormAction
TODO: EmailSettingsForm as a separate class would be good!
2015-07-16 21:17:22 +02:00
Mikael Nordfeldth fd2efbc6f8 AvatarSettings more aligned to FormAction
TODO: Make classes called AvatarCropForm and AvatarUploadForm
2015-07-16 19:21:12 +02:00
Mikael Nordfeldth 673bef2fda OAuth widgets separated into their own files 2015-07-16 18:52: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
Mikael Nordfeldth e868ac41cd userrss action didn't call parent preparation method 2015-07-11 19:48:18 +02:00
Mikael Nordfeldth ac98600640 More RESTish URL (/notice/:notice/delete) for notice delete
Also returns to 'top' now after notice deletion.
2015-07-11 11:26:48 +02:00
Mikael Nordfeldth 7d524307d2 DeletenoticeForm is its own class now 2015-07-11 11:26:44 +02:00
Mikael Nordfeldth 2a1be57470 Merge branch 'nightly' into deletenotice_form_fix 2015-07-11 10:49:41 +02:00
Mikael Nordfeldth ad453785f0 FoafAction now a ManagedAction 2015-07-10 23:10:24 +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 6c4985476e Merge branch 'nightly' into deletenotice_form_fix 2015-07-10 13:54:06 +02:00
Mikael Nordfeldth 50c297bcbe ShowstreamAction fixes so it's not as horrible 2015-07-10 12:34:06 +02:00
Mikael Nordfeldth e567406c9f RedirecturlAction now extends ManagedAction 2015-07-10 12:08:33 +02:00
Mikael Nordfeldth 76432b958b delete notice form fix 2015-07-10 00:52:22 +02:00
Mikael Nordfeldth e46b2803a7 Introducing TargetedRss10Action for simplifying RSS 1.0 2015-07-10 00:28:36 +02:00
Mikael Nordfeldth 06f60b57c1 StartpageAction essentially duplicated TopAction 2015-07-09 23:01:50 +02:00
Mikael Nordfeldth d63bca9d3c Rss10Action now in an autodetected file. 2015-07-09 14:22:22 +02:00
Mikael Nordfeldth 43cec8eaac API actions are not ManagedAction yet 2015-07-09 13:46:03 +02:00
Mikael Nordfeldth 6919dda958 RobotstxtAction migrated to ManagedAction 2015-07-07 19:45:01 +02:00
Mikael Nordfeldth acdcb2ad8d prepare and handle function to match parents 2015-07-07 19:34:42 +02:00
Mikael Nordfeldth 3b6a424c9f Mismatching function declarations. 2015-07-04 19:51:36 +02:00
Mikael Nordfeldth 9054bb69e9 I had some inheritance the wrong way around. 2015-07-04 19:48:35 +02:00
Mikael Nordfeldth d5a24da167 only variables can be sent by reference (strict standards) 2015-06-25 20:13:27 +02:00
Mikael Nordfeldth fde3b99e8e Less redundant code, please 2015-06-21 01:37:29 +02: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
Mikael Nordfeldth 4fc62a8bf5 Another function not matching parent declaration 2015-06-07 09:26:12 +02:00
Mikael Nordfeldth d76d37340a Function declarations not matching their parents 2015-06-06 22:14:56 +02:00
mmn a39f51c044 Merge branch 'tagprofile-ajax-fix' into 'nightly'
Only serve tagprofile HTML if we aren't POSTing via ajax

This fixes an issue where POSTing the selftag form in the
profile_block sidebar via AJAX would generate an XML response
containing both the content from doPost() and showPage(),
resulting in invalid XML.

These changes make it so that if we're POSTing via AJAX,
we serve content from doPost(), otherwise we serve showPage()
but never both.

See merge request !8
2015-06-06 10:26:43 +00:00
Chimo 47c83f4c49 Only serve tagprofile HTML if we aren't POSTing via ajax
This fixes an issue where POSTing the selftag form in the
profile_block sidebar via AJAX would generate an XML response
containing both the content from doPost() and showPage(),
resulting in invalid XML.

These changes make it so that if we're POSTing via AJAX,
we serve content from doPost(), otherwise we serve showPage()
but never both.
2015-06-06 00:22:14 -04:00
Mikael Nordfeldth c26e08d6a6 some more extensions of ShowstreamAction broke in last commit 2015-06-05 21:49:34 +02:00
Mikael Nordfeldth 8ad81a6aa3 Allow showing profiles with UserbyidAction (/user/:id) 2015-06-05 21:24:41 +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 bdd15cfe63 don't double the output for some PublicAction->extraHead 2015-06-04 00:56:46 +02:00
Mikael Nordfeldth 551c69ed56 Extend Networkpublic and Public actions from SitestreamAction 2015-06-04 00:51:07 +02:00
Mikael Nordfeldth 2cebbead75 Accidentally presented Atom feed as ActivityStreams JSON 2015-06-02 12:58:30 +02:00
Mikael Nordfeldth 82f9b6908c Fake recovery by email address, to hide registrants on the site 2015-05-30 23:29:58 +02:00
Mikael Nordfeldth 731d283159 Password recovery logic cleaned up 2015-05-30 23:18:17 +02:00
Mikael Nordfeldth 2b58d6b774 Merge branch 'quitagram' into nightly
Fixes that make quitagram work better amongst other things.
2015-04-22 22:17:50 +02:00
Mikael Nordfeldth 51ecd6be15 Fix some ProfileAction stuff, add function profileActionPreparation
Split up files with multiple classes to multiple files for autoload, sorry
for baking this into this commit.
2015-04-22 21:22:38 +02:00
Mikael Nordfeldth f6432fdf48 File_thumbnail->getUrl now gives Attachment_thumbnail action URL
That in turn redirects to the statically stored file.
2015-04-03 21:21:39 +02:00
Mikael Nordfeldth 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 dcfcceb6f2 Share plugin now handles showing form in NoticeOptionItems 2015-03-12 16:33:34 +01:00
Mikael Nordfeldth c85e78ac3c Remove unnecessary require lines and definitions
ProfileNoticeList and ProfileNoticeListItem are in their own files now too
2015-03-12 15:53:59 +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 0a2c51510c FormAction wants getInstructions to be protected
only showInstructions is public
2015-03-10 21:46:33 +01:00
Mikael Nordfeldth 7aa1e02d06 Don't use a placeholder value on the nickname field
(because the placeholder would be 'Nickname', and it might confuse
someone who thinks they can use capital letters...)
2015-03-08 23:29:38 +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
Mikael Nordfeldth 32dacb9369 ROLLBACK queries in the proper order 2015-03-08 19:44:23 +01:00
Mikael Nordfeldth d6423bbbc8 Sensitive-test _is_ done in index.php 2015-03-08 19:17:01 +01:00
Mikael Nordfeldth 1a1b992858 RepliesAction migrated to extend ManagedAction 2015-03-08 12:38:15 +01:00
Mikael Nordfeldth 196df7d8a4 Change the title of NewnoticeAction if replying 2015-03-07 20:34:46 +01:00
Mikael Nordfeldth 38f977d2f3 Make sure we save 0 as '0' because of DB_DataObject bug 2015-03-06 23:21:57 +01:00
Mikael Nordfeldth 62596d462b Get the values from the correct object. 2015-03-06 00:47:18 +01:00
Mikael Nordfeldth f35ea45e09 Values of 0 would not be updated because of DB_DataObject
Upstream bug causing (int)0 to be interpreted as a "null string":
https://pear.php.net/bugs/bug.php?id=20291
2015-03-06 00:44:00 +01:00
Mikael Nordfeldth ec4e432d55 Subscription::ensureStart skips AlreadyFulfilledException
Sometimes we just want to accept the user's wrong, but when it comes
to remote APIs etc. we probably want to let the client know it has
done something already (in this case multiple identical subscription
requests - which might indicate to it that it should refresh the sub
lists or something).
2015-03-04 11:38:04 +01:00
Mikael Nordfeldth 19bf975e56 Aahhh, gotta run php -l before pushing stuff!!! 2015-03-01 12:47:48 +01:00
Mikael Nordfeldth 1227d2d710 Forgot to make syntax edits on last commit. 2015-03-01 12:45:58 +01:00
Mikael Nordfeldth bece816ec7 User class throws exception on register failure 2015-03-01 12:36:19 +01:00