streams/Zotlabs/Module
2021-09-17 14:13:17 -07:00
..
Admin social tag match (still testing) 2021-09-12 20:49:53 -07:00
Settings Notifications API backend. Still needs cache/filter before enabling. 2021-09-06 23:32:54 -07:00
Acl.php even more php8 stuff 2021-03-11 16:03:45 -08:00
Activity.php syntax 2021-06-23 16:48:19 -07:00
Admin.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Affinity.php network -> stream 2020-02-12 21:36:21 -08:00
Album.php more work on AP fetchable photo albums 2021-03-31 18:25:14 -07:00
Ap_probe.php mod_ap_probe: return curl error info if fetch fails 2021-09-16 21:16:08 -07:00
Api.php very slow progress on AP C2S API 2021-04-06 20:33:27 -07: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 scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Apschema.php apschema tweaks 2021-01-22 20:54:48 -08:00
Attach.php improve script injection protection for cloud storage 2021-08-19 01:40:46 -07:00
Authorize.php some oauth work necessary for AP C2S. This appears to be heading down the path of favouritism towards oauth2 and deprecating openid connect. In theory we should be able to support both, but the underlying library isn't quite as flexible as hoped and appears to favour one or the other without involving multiple installations. 2021-04-10 00:51:12 -07:00
Block.php start libprofile 2019-04-17 16:54:06 -07:00
Blocks.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Ca.php only return cache entry if it has contents 2021-04-20 19:33:06 -07:00
Cal.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Calendar.php Deprecate the term 'master' from the codebase. 2020-06-15 00:29:56 -07:00
Card_edit.php more php8 2021-03-10 19:30:25 -08:00
Cards.php more php8 2021-03-10 19:30:25 -08:00
Categories.php start libprofile 2019-04-17 16:54:06 -07:00
Cdav.php don't deprecate server->exec until dav is upgraded 2021-01-20 11:15:41 -08:00
Changeaddr.php cleanup 2021-03-16 20:06:35 -07:00
Channel.php more work on site actor + sys channel merge 2021-09-13 01:46:50 -07:00
Chanview.php With the recent improvements to mod_chanview, make it the default for all protocols, even though nomad connections have a connect button. This provides a birds-eye view summary of the channel (currently) sans content. 2021-08-13 14:13:33 -07:00
Chat.php re-package browser-to-browser encryption as 'secrets' app 2020-08-23 17:32:33 -07:00
Chatsvc.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Clients.php appify oauth2 2019-10-09 22:51:48 -07:00
Cloud.php porting access tokens and making them generally more useful by adding them to connections 2021-04-10 15:32:14 -07: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 cleanup 2021-04-12 20:49:58 -07:00
Connections.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Connedit.php let people know they shouldn't block shares from groups because that kinda' keeps the group from working correctly. 2021-06-24 00:16:17 -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
Conversation.php use 'Ignore' for unfollowing threads instead of 'Unfollow' which isn't specified in the ActivityStreams vocabulary. This is low impact since these activities do not federate. Updates to previously unfollowed threads may show up after this change and may require unfollowing again since existing activities were not modified. 2021-05-17 14:14:57 -07:00
Cover_photo.php quotes are unescaped in the latest multi-code implementation and this screws up some bbcode parameter parsers that expected to see & quot ; 2021-02-07 16:13:33 -08:00
Dav.php sql: sprintf arg count incorrect 2021-09-17 05:49:32 -07:00
Defperms.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Dircensor.php directory issue 2019-06-30 19:10:12 -07:00
Directory.php directory issue when choosing collections and no collections exist. This always returns the first directory entry with no xchan_name and makes the directory unusable afterward; so ensure there is a search string before redirecting to chanview 2021-07-20 15:56:12 -07:00
Dirsearch.php finish removal of deprecated server_role and sitelist 2021-06-17 14:54:15 -07:00
Display.php new function unpack_link_id to complement gen_link_id 2021-09-03 15:14:39 -07:00
Drafts.php typo 2020-11-29 16:43:31 -08:00
Dreport.php new function unpack_link_id to complement gen_link_id 2021-09-03 15:14:39 -07:00
Editblock.php more php8 2021-03-10 19:30:25 -08:00
Editlayout.php more php8 2021-03-10 19:30:25 -08:00
Editpost.php redirect editpost to mod_photos correctly and open the form if photo 2021-07-20 02:29:52 -07:00
Editwebpage.php more php8 2021-03-10 19:30:25 -08: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 cleanup 2021-04-12 20:49:58 -07:00
Expire.php remove accounts that do not complete email verification in 3 days 2021-03-17 18:30:37 -07:00
Fastping.php create alerttimer separate from notifications timer 2021-08-23 21:44:37 -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 fixes from upstream 2021-01-19 18:21:48 -08:00
Filer.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Filerm.php more db column renames 2016-05-31 21:45:33 -07:00
Filestorage.php disable file activities until a few more things are fixed. 2021-04-01 15:21:19 -07:00
Finger.php cleanup 2019-04-14 22:31:07 -07:00
Follow.php fix edge cases in our implementation of Mastodon's undocumented remote comment over OStatus follow. 2021-07-13 18:09:30 -07:00
Followers.php more AP restriction tests 2020-12-20 20:37:08 -08:00
Following.php more AP restriction tests 2020-12-20 20:37:08 -08:00
Future.php bring back future posting 2020-05-03 16:18:27 -07:00
Getfile.php improve script injection protection for cloud storage 2021-08-19 01:40:46 -07:00
Hashtags.php cleanup 2019-04-14 22:31:07 -07:00
Hcard.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Help.php more doco 2021-03-01 18:50:41 -08:00
Home.php AP service actor record at site root 2021-08-24 22:59:48 -07:00
Hostxrd.php minor theming and whitespace 2017-02-08 19:47:34 -08:00
Hq.php new function unpack_link_id to complement gen_link_id 2021-09-03 15:14:39 -07:00
Id.php use hardwired ap schema 2021-01-22 16:59:56 -08:00
Impel.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Import.php clone atokens and their associated structures 2021-04-10 18:41:35 -07:00
Import_items.php hz compatibility stuff 2021-02-18 17:55:51 -08:00
Inbox.php bug: missing namespace get_actor_hublocs() 2021-09-13 21:45:05 -07:00
Inspect.php cleanup some loose ends w/r/t activitypub addressing and confederation of activitypub signatures over nomad for use by third-parties on activitypub. 2021-06-03 21:57:08 -07:00
Invite.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Item.php lockview improvements 2021-09-17 05:35:29 -07: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 scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Like.php rework mod_like cont. - should be good for everything but photos at the moment 2021-07-18 16:01:59 -07:00
Linkinfo.php allow setting the UA string for fetches 2021-04-07 19:11:55 -07:00
Lists.php lockview improvements 2021-09-17 05:35:29 -07:00
Lockview.php lockview improvements 2021-09-17 05:35:29 -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 sitechan work to new branch 2021-09-14 00:58:36 -07:00
Manifest.php update manifest 2021-08-22 18:41:24 -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 new function unpack_link_id to complement gen_link_id 2021-09-03 15:14:39 -07:00
Mood.php cleanup 2021-04-12 20:49:58 -07:00
New_channel.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Notes.php network -> stream 2020-02-12 21:36:21 -08:00
Notifications.php Don't fetch replyTo by default. It's wasteful. Just store the value. 2021-04-19 15:51:15 -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 new function unpack_link_id to complement gen_link_id 2021-09-03 15:14:39 -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 more work on copy_of_pubitem issues 2021-04-27 17:18:18 -07:00
Owa.php owa issue 2021-08-29 05:03:08 -07:00
Page.php start libprofile 2019-04-17 16:54:06 -07:00
Pconfig.php notification usability work 2021-05-27 04:04:16 -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 initial work on supporting activitypub fetchable photo albums (and eventually file collections) 2021-03-31 17:22:47 -07:00
Photomap.php more app work 2019-06-30 23:36:03 -07:00
Photos.php Clarify how the Create/Photo status message works in the case of multiple uploads 2021-08-27 22:28:45 -07:00
Pin.php missing pinned post files 2019-12-02 18:44:32 -08:00
Ping.php new function unpack_link_id to complement gen_link_id 2021-09-03 15:14:39 -07:00
Plike.php fixes 2021-07-18 14:17:42 -07:00
Poco.php cleanup 2019-04-14 23:50:49 -07:00
Poke.php fixes 2021-07-28 02:07:39 -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 scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Profile_photo.php quotes are unescaped in the latest multi-code implementation and this screws up some bbcode parameter parsers that expected to see & quot ; 2021-02-07 16:13:33 -08:00
Profiles.php lockview updates 2021-09-16 20:31:39 -07:00
Profperm.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Pubstream.php new function unpack_link_id to complement gen_link_id 2021-09-03 15:14:39 -07: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 more work on copy_of_pubitem issues 2021-04-27 17:18:18 -07:00
README.md fix feeds 2019-06-10 23:39:17 -07:00
Register.php bring back registration form validation 2021-08-31 06:15:14 -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 move developer docs to their own directory. This provides a hopefully obvious example of adding documentation directories with translations. 2021-06-16 00:26:05 -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 rpost cleanup and version update 2021-08-23 00:41:27 -07:00
Safe.php consolidate safe mode settings 2019-10-03 13:22:59 -07:00
Search.php onepoll: improvements in fetching outbox content 2021-04-12 22:37:08 -07: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 cleanup mod_setup, change variable named $item_id to $item_uuid to avoid confusion 2021-06-26 14:25:55 -07:00
Share.php begin the messy transition to multicode object source, which will ultimately fix Friendica confederation but could negatively affect Hubzilla confederation. 2021-03-07 21:32:28 -08:00
Sharedwithme.php disable file activities until a few more things are fixed. 2021-04-01 15:21:19 -07:00
Siteinfo.php notification and siteinfo cleanup 2021-05-31 14:32:02 -07:00
Sites.php missing string translation - zap issue #40 2021-09-05 14:05:16 -07:00
Smilies.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -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 fixes 2021-07-18 14:17:42 -07:00
Subthread.php use 'Ignore' for unfollowing threads instead of 'Unfollow' which isn't specified in the ActivityStreams vocabulary. This is low impact since these activities do not federate. Updates to previously unfollowed threads may show up after this change and may require unfollowing again since existing activities were not modified. 2021-05-17 14:14:57 -07:00
Suggestions.php fix suggestion ignore redirection and update zotsh 2019-08-13 19:42:32 -07:00
Superblock.php superblock: we need the entire xchan record, not just the url. Also prevent blocking your own site. 2021-02-10 16:06:56 -08:00
Tagadelic.php tagadelic app 2020-10-21 15:22:23 -07:00
Tagger.php more work on copy_of_pubitem issues 2021-04-27 17:18:18 -07:00
Tagrm.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Tasks.php even more php8 stuff 2021-03-11 16:03:45 -08:00
Theme_info.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Thing.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07:00
Toggle_safesearch.php module updates 2016-04-18 20:38:38 -07:00
Token.php some oauth work necessary for AP C2S. This appears to be heading down the path of favouritism towards oauth2 and deprecating openid connect. In theory we should be able to support both, but the underlying library isn't quite as flexible as hoped and appears to favour one or the other without involving multiple installations. 2021-04-10 00:51:12 -07:00
Uexport.php import/export issues 2021-01-08 13:53:28 -08:00
Update.php issue displaying draft comments on stream page 2021-04-05 17:57:39 -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 Zot/10 = 'Nomad' 2021-05-02 16:41:18 -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 remove experimental setting on replyTo, limit incoming message size (regression), fix variable re-use in storage/basicauth, and add attachments for all attached photos/files. 2021-04-22 14:41:26 -07:00
Wall_upload.php port photo lib updates 2019-04-15 23:43:06 -07:00
Webfinger.php sitechan work to new branch 2021-09-14 00:58:36 -07:00
Webpages.php scripted replace of 'array()' with '[]' 2021-03-14 22:10:44 -07: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
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.