friendica/src/Module
2022-12-29 21:53:56 +01:00
..
ActivityPub Tighten profile restriction feature 2022-12-01 08:03:35 -05:00
Admin Three systems added to the federation statistics 2022-12-20 22:29:53 +00:00
Api Merge pull request #12527 from nupplaphil/feat/request_id 2022-12-26 16:07:35 -05:00
Blocklist/Domain
Calendar Apply calendar owner custom theme 2022-12-15 23:14:45 -05:00
Contact The GNU-Social import is removed 2022-12-21 22:21:22 +00:00
Conversation
Debug
DFRN Remove parameter-less call of OStatus\Salmon module in DFRN\Notify 2022-12-10 11:45:53 -05:00
Diaspora
Filer
HTTPException Use X-REQUEST-ID for Error pages 2022-12-26 21:18:05 +01:00
Item Only search for empty quoted reshares (Diaspora type) 2022-12-13 23:26:58 +00:00
Media Update src/Module/Media/Photo/Upload.php 2022-11-30 18:16:55 +01:00
Moderation Add ClockInterface dependency to Temporal::getRelativeDate 2022-12-28 00:31:20 -05:00
Notifications Suppress notifications for forum users in Module\Notifications\Ping 2022-12-14 22:01:14 -05:00
OAuth Use X-REQUEST-ID for Error pages 2022-12-26 21:18:05 +01:00
OStatus Check that $probed key exists before comparison in OStatus\Subscribe 2022-12-15 23:29:06 -05:00
Post Issue 12189: Quote share a feed now shares the linked feed url 2022-11-24 06:36:08 +00:00
Profile Merge pull request #12447 from MrPetovan/bug/12441-profile-contacts 2022-12-19 17:14:43 +01:00
Search The GNU-Social import is removed 2022-12-21 22:21:22 +00:00
Security Delete mod/settings.php and its reference 2022-11-09 06:26:08 -05:00
Settings Issue 12524: Fix first day of week 2022-12-25 22:45:34 +00:00
Special Use X-REQUEST-ID for Error pages 2022-12-26 21:18:05 +01:00
Update Don't compute system.update_interval when it's -1 (disabled) 2022-12-19 10:05:21 -05:00
User The GNU-Social import is removed 2022-12-21 22:21:22 +00:00
WellKnown
About.php Redirect in a different way 2022-12-12 11:24:20 +00:00
AccountManagementControlDocument.php
Acctlink.php
Apps.php
Attach.php Move mod/fbrowser to src\Modules\Attachment|Photos\Browser 2022-11-26 22:26:30 +01:00
BaseAdmin.php New area "moderation" 2022-11-08 02:28:42 -05:00
BaseApi.php Use X-REQUEST-ID for Error pages 2022-12-26 21:18:05 +01:00
BaseModeration.php New area "moderation" 2022-11-08 02:28:42 -05:00
BaseNotifications.php Move mod/cal.php and mod/events.php to Module 2022-11-07 19:52:24 +01:00
BaseProfile.php Add new public_calendar additional feature 2022-12-01 08:06:07 -05:00
BaseSearch.php
BaseSettings.php Move settings/connectors to src/Module 2022-11-09 06:26:05 -05:00
Bookmarklet.php
Contact.php Remove fallback contact query from Model\Contact::photoMenu 2022-12-19 09:50:18 -05:00
Credits.php
Delegation.php
Directory.php
Feed.php Tighten profile restriction feature 2022-12-01 08:03:35 -05:00
FollowConfirm.php
Friendica.php Replace PostUpdate key-value config entries with key-value pair entries 2022-12-29 21:53:56 +01:00
FriendSuggest.php
Group.php
Hashtag.php
HCard.php
Help.php
Home.php Fix various PHP 8 deprecations 2022-11-19 19:15:47 -05:00
Install.php
Invite.php
Magic.php
Maintenance.php
Manifest.php Move mod/cal.php and mod/events.php to Module 2022-11-07 19:52:24 +01:00
NodeInfo110.php
NodeInfo120.php
NodeInfo210.php
NoScrape.php Check for last-activity value before feeding it to strtotime in Module\NoScrape 2022-12-10 11:38:41 -05:00
Oembed.php
OpenSearch.php
Owa.php
ParseUrl.php
PermissionTooltip.php
Photo.php Ward against empty $contact array in Module\Photo::getPhotoById 2022-12-15 23:31:32 -05:00
Proxy.php
PublicRSAKey.php [Composer] Upgrade to phpseclib version 3 2022-11-25 08:13:05 -05:00
RandomProfile.php
README.md
ReallySimpleDiscovery.php
Register.php Ensure register records aren't created with uid = 0 2022-11-18 16:04:02 -05:00
Response.php
RobotsTxt.php
Smilies.php
Statistics.php
Theme.php
ThemeDetails.php
ToggleMobile.php
Tos.php Skip blank lines in Tos module 2022-12-18 22:16:41 -05:00
Welcome.php
Xrd.php Add new OStatus\PortableContacts module class 2022-11-14 13:48:46 -05:00

Friendica\Module

The Module namespace contains the different modules of Friendica. Each module is loaded through the App.

There are mainly two types of modules:

  • frontend modules to interact with users
  • backend modules to interact with machine requests

Frontend modules

This type of modules mainly needs a template, which are generally located at view/templates/.

A frontend module should extend the BaseModule, especially the content() method.

Backend modules

This type of modules mainly responds either with encoded XML or with JSON output. It isn't intended to respond with human readable text.

A frontend module should extend the BaseModule, especially the rawContent() method.

Routing

Every module needs to be accessed within a route. The routes are defined inside Router->collectRoutes().

Use the given routes as a pattern for further routes.

The routing library and further documentation can be found here.