streams/Zotlabs/Module
2020-12-10 16:32:29 -08:00
..
Admin remove 'vendor' from the list of addons 2020-11-30 11:26:56 -08:00
Settings channel level comments_closed 2020-11-28 13:27:24 -08:00
Acl.php limit the mention autocomplete query 2020-09-06 22:46:07 -07:00
Activity.php code consolidation: as_return_and_die() function created to handle signing ActivityStreams output in a number of places 2020-11-16 21:39:49 -08:00
Admin.php wrong icon 2020-09-16 18:03:14 -07:00
Affinity.php network -> stream 2020-02-12 21:36:21 -08:00
Ap_probe.php cleanup 2019-05-27 20:50:05 -07:00
Api.php scrutinizer issues: none worthy of including in 3.0, there will likely be a few hundred more before all is said and done. 2018-01-08 14:45:21 -08:00
Appman.php cleanup 2019-06-16 23:05:15 -07:00
Apporder.php allow apps to be pinned,featured or both. Also some channel settings cleanup 2019-10-02 21:38:32 -07:00
Apps.php Merge branch 'red' into dev 2018-09-18 20:51:38 -07:00
Apschema.php tagging issues 2020-11-14 16:13:23 -08:00
Attach.php use correct (or at least official) capitalisation on Content-Disposition 2020-03-04 14:45:58 -08:00
Authorize.php oauth2 testing 2020-11-11 21:37:13 -08:00
Block.php start libprofile 2019-04-17 16:54:06 -07:00
Blocks.php start libprofile 2019-04-17 16:54:06 -07:00
Ca.php add cache control headers to image cache module 2020-03-15 18:45:29 -07:00
Cal.php parse error 2019-10-03 12:56:49 -07:00
Calendar.php Deprecate the term 'master' from the codebase. 2020-06-15 00:29:56 -07:00
Card_edit.php appify categories 2019-03-24 20:08:23 -07:00
Cards.php start libprofile 2019-04-17 16:54:06 -07:00
Categories.php start libprofile 2019-04-17 16:54:06 -07:00
Cdav.php calendar fixes 2019-05-13 16:59:50 -07:00
Changeaddr.php cleanup 2019-04-16 23:31:36 -07:00
Channel.php need to update all liveupdate modules when a new parameter is added 2020-11-29 17:33:22 -08:00
Chanview.php prevent chanview from being used as an anonymous redirect by spammers 2020-06-23 17:45:27 -07:00
Chat.php re-package browser-to-browser encryption as 'secrets' app 2020-08-23 17:32:33 -07:00
Chatsvc.php we must now provide the full path to the profile image for the cavatar plugin to work 2018-05-15 10:20:20 +02:00
Clients.php appify oauth2 2019-10-09 22:51:48 -07:00
Cloud.php store/[data] => cache 2020-03-03 18:24:26 -08:00
Cloud_tiles.php make most recent cloud_tiles setting for local channels persistent across logins 2017-11-07 19:34:00 -08:00
Comment_control.php per-post comment control: select comment allowed audience and comments_closed date 2020-11-23 19:14:44 -08:00
Common.php start libprofile 2019-04-17 16:54:06 -07:00
Connect.php Deprecate the term 'master' from the codebase. 2020-06-15 00:29:56 -07:00
Connections.php bring superblock back to connections 2020-05-16 23:49:40 -07:00
Connedit.php paged collection improvements and some UX cleanup for jgrowl 2020-08-06 20:19:03 -07:00
Contactgroup.php make public lists discoverable 2019-10-01 18:29:39 -07:00
Content_filter.php cut/paste error - incorrect field description 2020-03-17 18:15:57 -07:00
Cover_photo.php alias tagging issue 2019-09-19 15:30:17 -07:00
Dav.php several issues plus some cleanup 2020-05-05 21:34:31 -07:00
Defperms.php updates 2019-01-18 13:04:05 -08:00
Dircensor.php directory issue 2019-06-30 19:10:12 -07:00
Directory.php add link to 'sites' on directory page via Findpeople widget. 2020-09-10 18:12:35 -07:00
Dirsearch.php suggestion debugging cont. 2020-09-03 03:46:25 -07:00
Display.php remove debugging 2020-11-30 14:51:00 -08:00
Drafts.php typo 2020-11-29 16:43:31 -08:00
Dreport.php Deprecate the term 'master' from the codebase. 2020-06-15 00:29:56 -07:00
Editblock.php start libprofile 2019-04-17 16:54:06 -07:00
Editlayout.php start libprofile 2019-04-17 16:54:06 -07:00
Editpost.php drafts v1 2020-11-29 16:38:45 -08:00
Editwebpage.php start libprofile 2019-04-17 16:54:06 -07:00
Email_resend.php Merge remote-tracking branch 'mike/master' into dev 2018-01-28 00:18:29 +01:00
Email_validation.php several email validation issues 2018-02-28 21:15:26 -08:00
Embed.php cleanup 2019-04-14 22:31:07 -07:00
Embedphotos.php code comments 2020-09-09 21:30:18 -07:00
Event.php code consolidation: as_return_and_die() function created to handle signing ActivityStreams output in a number of places 2020-11-16 21:39:49 -08:00
Events.php Deprecate the term 'master' from the codebase. 2020-06-15 00:29:56 -07:00
Expire.php cleanup 2019-09-29 17:17:40 -07:00
Fbrowser.php port photo lib updates 2019-04-15 23:43:06 -07:00
Feed.php fix feeds 2019-06-10 23:39:17 -07:00
File_upload.php split off libsync from libzot 2018-06-04 18:40:11 -07:00
Filer.php more heavy lifting 2018-05-31 21:05:09 -07:00
Filerm.php more db column renames 2016-05-31 21:45:33 -07:00
Filestorage.php add mod_followlist and filestorage fix 2020-11-01 15:16:16 -08:00
Finger.php cleanup 2019-04-14 22:31:07 -07:00
Follow.php code consolidation: as_return_and_die() function created to handle signing ActivityStreams output in a number of places 2020-11-16 21:39:49 -08:00
Followers.php code consolidation: as_return_and_die() function created to handle signing ActivityStreams output in a number of places 2020-11-16 21:39:49 -08:00
Following.php code consolidation: as_return_and_die() function created to handle signing ActivityStreams output in a number of places 2020-11-16 21:39:49 -08:00
Future.php bring back future posting 2020-05-03 16:18:27 -07:00
Getfile.php use correct (or at least official) capitalisation on Content-Disposition 2020-03-04 14:45:58 -08:00
Hashtags.php cleanup 2019-04-14 22:31:07 -07:00
Hcard.php start libprofile 2019-04-17 16:54:06 -07:00
Help.php start the doco rewrite 2019-10-28 16:47:55 -07:00
Home.php network -> stream 2020-02-12 21:36:21 -08:00
Hostxrd.php minor theming and whitespace 2017-02-08 19:47:34 -08:00
Hq.php need to update all liveupdate modules when a new parameter is added 2020-11-29 17:33:22 -08:00
Id.php provide a global project default setting for whether or not ActivityPub is enabled. It can still be toggled at the site level and (if enabled at the system level) toggled at the channel level. 2020-11-26 16:17:07 -08:00
Impel.php use urlify from composer 2019-04-11 23:59:44 -07:00
Import.php provide content_import in core and run it automatically if you choose to import posts when creating a clone. So one step import *if* you import from a site instead of a file (yay - finally). This required slight modifications to api_auth because it always looked for a cached identity and in this case the identity was just created and will not yet be in cache. 2020-12-10 16:32:29 -08:00
Import_items.php improve expiration +cleanup 2019-05-29 16:29:55 -07:00
Inbox.php do not include deleted posts in $conv search 2020-11-17 16:34:48 -08:00
Inspect.php photo encoding anomaly 2020-03-16 15:58:41 -07:00
Invite.php remove old twitter stuff 2019-04-15 21:55:59 -07:00
Item.php drafts v1 2020-11-29 16:38:45 -08:00
Jwks.php jwt issues 2020-11-12 20:41:44 -08:00
Lang.php appification of the lang module 2018-09-16 09:30:07 +02:00
Layouts.php use correct (or at least official) capitalisation on Content-Disposition 2020-03-04 14:45:58 -08:00
Like.php issue undoing like activities 2020-09-29 17:48:14 -07:00
Linkinfo.php typo 2020-10-25 16:50:38 -07:00
Lists.php code consolidation: as_return_and_die() function created to handle signing ActivityStreams output in a number of places 2020-11-16 21:39:49 -08:00
Lockview.php we don't need the profile-based virtual lists any more 2020-07-22 19:11:54 -07:00
Locs.php hubloc sync issue, regression in mod_display from change yesterday 2020-11-30 14:48:02 -08:00
Login.php refactor the 'where does the register link point?' logic 2018-05-14 19:19:25 -07:00
Logout.php channel delegation: push current identity and pop it on logout from the delegated channel. This fixes the known issue of being forced to log back in after leaving the delegated channel. 2018-04-11 17:40:04 -07:00
Lostpass.php Unify the various mail sending instance to enotify::send() and z_mail(). Both take the same arguments. z_mail() is text only, enotify::send() provides html and text. Both are pluggable using the enotfy_send hook. 2016-10-01 03:06:01 -07:00
Magic.php some cleanup 2019-04-11 20:26:38 -07:00
Manage.php more work on channel manager 2019-10-05 01:07:02 -07:00
Markup.php turn off dragon drop on post editor until duplicate upload issue can be investigated/resolved. New app: Markup which provides the bold, italic, etc. editor buttons and removes them by default for less clutter 2020-09-23 17:59:09 -07:00
Menu.php start libprofile 2019-04-17 16:54:06 -07:00
Mitem.php start libprofile 2019-04-17 16:54:06 -07:00
Moderate.php Deprecate the term 'master' from the codebase. 2020-06-15 00:29:56 -07:00
Mood.php Deprecate the term 'master' from the codebase. 2020-06-15 00:29:56 -07:00
New_channel.php the only thing worse than no doco is bad doco 2019-05-26 19:55:08 -07:00
Notes.php network -> stream 2020-02-12 21:36:21 -08:00
Notifications.php add summary field to item table 2018-07-15 18:31:39 -07:00
Notify.php more sudo 2020-02-24 15:40:20 -08:00
Nullbox.php connect perms 2018-08-29 02:19:32 -07:00
Oauthinfo.php more openid work 2019-10-10 18:34:44 -07:00
Oembed.php add rel=noopener to all external target _blank links 2017-06-14 16:56:13 +02:00
Oep.php add portable_id to share attributes in some cases 2019-05-13 20:28:56 -07:00
Oexchange.php deprecate daemon/externals 2020-10-27 01:45:46 -07:00
Online.php support expire plus misc cleanup 2019-05-28 16:42:32 -07:00
Outbox.php code consolidation: as_return_and_die() function created to handle signing ActivityStreams output in a number of places 2020-11-16 21:39:49 -08:00
Owa.php issues with autoperms, rewrite owa, upstream fixes to main.js 2019-01-23 14:27:51 -08:00
Page.php start libprofile 2019-04-17 16:54:06 -07:00
Pconfig.php update obscurify 2019-04-04 19:55:17 -07:00
Pdledit.php private channel notes 2020-07-21 20:01:37 -07:00
Permcat.php move permcat library functions to Zlib 2017-02-07 16:43:00 -08:00
Photo.php code consolidation: as_return_and_die() function created to handle signing ActivityStreams output in a number of places 2020-11-16 21:39:49 -08:00
Photomap.php more app work 2019-06-30 23:36:03 -07:00
Photos.php fixes from hz 2020-10-31 22:33:56 -07:00
Pin.php missing pinned post files 2019-12-02 18:44:32 -08:00
Ping.php jwt issues 2020-11-12 20:41:44 -08:00
Poco.php cleanup 2019-04-14 23:50:49 -07:00
Poke.php Merge branch 'red' into dev 2018-09-18 20:51:38 -07:00
Poster.php make notes widget fixed height because it still doesn't play well with stickykit and I've wasted too much time trying to bludgeon it into submission. 2019-06-25 16:11:22 -07:00
Pretheme.php module updates 2016-04-18 20:38:38 -07:00
Profile.php provide a global project default setting for whether or not ActivityPub is enabled. It can still be toggled at the site level and (if enabled at the system level) toggled at the channel level. 2020-11-26 16:17:07 -08:00
Profile_photo.php more work on topfetch and provide an animated avatar preference 2020-10-20 22:54:05 -07:00
Profiles.php apply local name changes to all relevant xchans 2020-09-19 18:13:58 -07:00
Profperm.php start libprofile 2019-04-17 16:54:06 -07:00
Pubstream.php need to update all liveupdate modules when a new parameter is added 2020-11-29 17:33:22 -08:00
Q.php cloud perms and location independent content searching 2019-02-19 12:31:39 -08:00
Randprof.php convert randprof to use chanlink_hash() instead of chanlink_url() and filter sys channels by xchan.xchan_system instead of xchan_addr != sys@% 2017-06-03 10:13:42 +02:00
React.php Deprecate the term 'master' from the codebase. 2020-06-15 00:29:56 -07:00
README.md fix feeds 2019-06-10 23:39:17 -07:00
Register.php more directory work 2020-08-30 21:08:39 -07:00
Regmod.php refactor the 'where does the register link point?' logic 2018-05-14 19:19:25 -07:00
Regver.php cleanup 2020-01-14 12:14:34 -08:00
Removeaccount.php Deprecate global channel removal. There are a few issues which need to be addressed. The first of which is a mechanism to tell other servers to destroy your clones. The second is securing this against forgery attempts. In its current form a lot of your data is removed from around the network but the channel clones themselves may remain. 2019-06-04 23:27:11 -07:00
Removeme.php Deprecate global channel removal. There are a few issues which need to be addressed. The first of which is a mechanism to tell other servers to destroy your clones. The second is securing this against forgery attempts. In its current form a lot of your data is removed from around the network but the channel clones themselves may remain. 2019-06-04 23:27:11 -07:00
Rmagic.php generalise the rmagic login form so we can re-use it for remote follows and stuff 2020-06-28 20:24:36 -07:00
Rpost.php add form reset to rpost module 2020-07-27 22:37:44 -07:00
Safe.php consolidate safe mode settings 2019-10-03 13:22:59 -07:00
Search.php primal version of communities 2020-12-09 17:40:29 -08:00
Search_ac.php cleanup, link modal issue 2019-05-23 16:37:56 -07:00
Secrets.php re-package browser-to-browser encryption as 'secrets' app 2020-08-23 17:32:33 -07:00
Service_limits.php module updates 2016-04-18 20:38:38 -07:00
Settings.php groups 2019-10-11 16:45:04 -07:00
Setup.php branding 2020-08-09 18:08:40 -07:00
Share.php Deprecate the term 'master' from the codebase. 2020-06-15 00:29:56 -07:00
Sharedwithme.php remove profile_tabs() which has been deprecated and replaced by channel_apps() 2018-09-13 10:59:37 +02:00
Siteinfo.php filestorage work, use site_icon for siteinfo html page instead of project icon 2020-09-17 17:30:52 -07:00
Sitelist.php cleanup 2019-05-05 23:38:29 -07:00
Sites.php mod_sites - show non-zot projects 2020-11-23 21:28:33 -08:00
Smilies.php module updates 2016-04-18 20:38:38 -07:00
Sources.php typos 2020-04-10 22:11:46 -07:00
Sslify.php there are occasional sites which use different capitalisation of Content-Type; which is rare, but completely legal. 2016-12-15 18:08:23 -08:00
Starred.php split off libsync from libzot 2018-06-04 18:40:11 -07:00
Stream.php drafts v1 2020-11-29 16:38:45 -08:00
Subthread.php missing namespace declaration 2020-08-17 16:58:56 -07:00
Suggestions.php fix suggestion ignore redirection and update zotsh 2019-08-13 19:42:32 -07:00
Superblock.php superblock missing namespace 2020-09-16 16:12:03 -07:00
Tagadelic.php tagadelic app 2020-10-21 15:22:23 -07:00
Tagger.php split off libsync from libzot 2018-06-04 18:40:11 -07:00
Tagrm.php more backticks 2016-10-03 21:48:53 -07:00
Tasks.php turn tasks into an app 2019-06-29 19:23:31 -07:00
Theme_info.php put theme config into its own namespace 2016-09-01 22:20:08 -07:00
Thing.php move cached xchan photos to filesystem 2020-08-24 21:36:56 -07:00
Toggle_safesearch.php module updates 2016-04-18 20:38:38 -07:00
Token.php oauth2 testing 2020-11-11 21:37:13 -08:00
Uexport.php use correct (or at least official) capitalisation on Content-Disposition 2020-03-04 14:45:58 -08:00
Update.php cleanup 2019-04-14 22:31:07 -07:00
Userinfo.php updates 2019-01-18 13:04:05 -08:00
View.php module updates 2016-04-18 20:38:38 -07:00
Viewconnections.php misc fixes 2019-07-11 22:03:17 -07:00
Viewsrc.php use correct (or at least official) capitalisation on Content-Disposition 2020-03-04 14:45:58 -08:00
Vlists.php turn virtual lists into an app 2020-09-21 18:11:32 -07:00
Vote.php provide a global project default setting for whether or not ActivityPub is enabled. It can still be toggled at the site level and (if enabled at the system level) toggled at the channel level. 2020-11-26 16:17:07 -08:00
Wall_attach.php embeddable events 2020-09-27 17:13:24 -07:00
Wall_upload.php port photo lib updates 2019-04-15 23:43:06 -07:00
Webfinger.php provide a global project default setting for whether or not ActivityPub is enabled. It can still be toggled at the site level and (if enabled at the system level) toggled at the channel level. 2020-11-26 16:17:07 -08:00
Webpages.php use correct (or at least official) capitalisation on Content-Disposition 2020-03-04 14:45:58 -08:00
Well_known.php start the doco rewrite 2019-10-28 16:47:55 -07:00
Xchan.php module updates 2016-04-18 20:38:38 -07:00
Xp.php typo 2020-09-02 17:27:48 -07:00
Xref.php module updates 2016-04-18 20:38:38 -07:00
Zot.php add more schema validation to clone sync activities 2018-11-19 17:30:22 -08:00
Zot_probe.php modernise zot_probe 2020-10-20 21:42:26 -07:00
Zotfeed.php oauth work 2019-10-09 17:34:18 -07:00
Zotfinger.php more cleanup 2019-04-14 23:41:26 -07:00

Zotlabs/Module

This directory contains controller modules for handling web requests. The lowercase class name indicates the head of the URL path which this module handles. There are other methods of attaching (routing) URL paths to controllers, but this is the primary method used in this project.

Module controllers MUST reside in this directory and namespace to be autoloaded (unless other specific routing methods are employed). They typically use and extend the class definition in Zotlabs/Web/Controller as a template.

Template:

<?php

namespace Zotlabs\Web;


class Controller {

	function init() {}
	function post() {}
	function get() {}

}

Typical Module declaration for the '/foo' URL route:

<?php
namespace Zotlabs\Module;

class Foo extends \Zotlabs\Web\Controller {

	function init() {
		// init() handler goes here
	}

	function post() {
		// post handler goes here
	}

	function get() {
		return 'Hello world.' . EOL;
	}

}

This model provides callbacks for public functions named init(), post(), and get(). init() is always called. post() is called if $_POST variables are present, and get() is called if none of the prior functions terminated the handler. The get() method typically retuns a string which represents the contents of the content region of the resulting page. Modules which emit json, xml or other machine-readable formats typically emit their contents inside the init() function and call 'killme()' to terminate the Module.

Modules are passed the URL path as argc,argv arguments. For a path such as

https://mysite.something/foo/bar/baz

The app will typically invoke the Module class 'Foo' and pass it

$x = argc(); // $x = 3

$x = argv(0); // $x = 'foo'
$x = argv(1); // $x = 'bar'
$x = argv(2); // $x = 'baz'

These are handled in a similar fashion to their counterparts in the Unix shell or C/C++ languages. Do not confuse the argc(),argv() functions with the global variables $argc,$argv which are passed to command line programs. These are handled separately by command line and Zotlabs/Daemon class functions.