friendica/src/Module
2019-05-09 16:49:38 +02:00
..
Admin Uninstall addon when it wasn't found when accessed from admin aside 2019-05-08 00:46:42 -04:00
Diaspora
Filer Move mod/filerm to src/Module/FilerM 2019-05-05 10:02:10 +02:00
Special Add style to exception page 2019-05-04 21:54:05 -04:00
WellKnown
AccountManagementControlDocument.php
Acctlink.php
AllFriends.php
Apps.php
Attach.php
Babel.php
BaseAdminModule.php
Bookmarklet.php Rename BookMarklet to Bookmarklet 2019-05-05 17:59:57 +02:00
Contact.php Add contact/batch route 2019-05-07 21:15:22 +02:00
Credits.php
Directory.php
Feed.php
Feedtest.php
FollowConfirm.php Some cleaning up 2019-05-06 18:46:30 +00:00
Followers.php
Following.php
Friendica.php added feedback 2019-05-05 10:00:28 +02:00
Group.php
Hashtag.php
Help.php
Home.php Bugfixing Home 2019-05-05 10:47:08 +02:00
Inbox.php
Install.php
Invite.php fix quotes 2019-05-04 21:25:16 +02:00
ItemBody.php Move mod/viewsrc to src/Module/ItemBody 2019-05-05 19:15:33 +02:00
Itemsource.php
Like.php Move mod/like to src/Module/Like 2019-05-04 21:20:39 +02:00
Localtime.php
Login.php
Logout.php
Magic.php
Maintenance.php Rename ServiceUnavailableException & alter maintenance 2019-05-05 10:07:33 +02:00
Manifest.php
NodeInfo.php
Objects.php
Oembed.php
Outbox.php
Owa.php
PageNotFound.php
Photo.php
Profile.php
Proxy.php
PublicRSAKey.php Move mod/modexp to src/Module/PublicRSAKey 2019-05-05 19:02:19 +02:00
README.md
ReallySimpleDiscovery.php Create XML output for RSD with XML::fromArray() 2019-05-05 18:15:39 +02:00
Register.php
RobotsTxt.php add new disallowed path for robots.txt 2019-05-08 13:08:34 +02:00
Smilies.php Move Smilies::getList() into if 2019-05-06 18:46:37 +02:00
Statistics.php
ThemeDetails.php Move mod/pretheme to src/Module/ThemeDetails 2019-05-05 19:24:10 +02:00
Tos.php
WebFinger.php
Xrd.php

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.