streams/Zotlabs/Module
2018-05-31 13:05:32 +02:00
..
Admin wrong default param for pubstream_incl (this checkin also picked up a few minor and hopefully non-significant changes) 2018-05-18 16:57:45 -07:00
Settings update oauth related tables to use bigint/int(10) for user_id column. this is to be more consistent with the rest of the tables and fixes issue #1180 2018-05-20 22:42:47 +02:00
Achievements.php
Acl.php work through a few more autocomplete minor nits 2018-04-26 02:42:48 -07:00
Admin.php hubzilla issue #1086, pending count on admin summary page 2018-05-19 00:54:47 -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 app sellpage not being stored 2018-03-24 15:13:19 -07:00
Apporder.php fix issues with apporder related to recent pinned apps changes 2017-11-19 22:42:16 +01:00
Apps.php fix regression in app categories 2018-01-08 11:11:17 +01:00
Article_edit.php add cancel button to editor, fix issue with autosave of categories 2018-05-10 20:54:48 -07:00
Articles.php add alt_pager to mod_moderate, remove legacy $a parameter from all occurrences of alt_pager 2018-04-17 23:36:35 -07:00
Attach.php check code rights on cloud files 2017-09-05 21:38:07 -07:00
Authorize.php OAuth2 integration 2018-04-03 21:08:40 -07:00
Authtest.php
Block.php
Blocks.php
Bookmarks.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Branchtopic.php
Cal.php rename channel app events to calendar and add nav_set_selected() to /cal 2017-11-07 11:22:11 +01:00
Card_edit.php add cancel button to editor, fix issue with autosave of categories 2018-05-10 20:54:48 -07:00
Cards.php add alt_pager to mod_moderate, remove legacy $a parameter from all occurrences of alt_pager 2018-04-17 23:36:35 -07:00
Cdav.php strip acct: from OWA auth to API endpoints 2017-12-07 18:56:26 -08:00
Changeaddr.php
Channel.php merge groups and filed posts into activity filters 2018-05-31 13:05:32 +02:00
Chanview.php make unicode usernames work in chanview module 2018-03-14 00:50:12 -07:00
Chat.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02: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
Cloud.php initial support for alternative sort orders on the cloud pages. Can be triggered manually but further development is required. 2018-03-21 21:19:18 -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
Common.php some basic work on mod common 2017-10-03 11:37:45 +02:00
Connect.php
Connections.php small work on connections page 2018-03-13 02:57:08 -07:00
Connedit.php hubzilla issue #1019 - punycode urls on connedit page when displaying locations 2018-03-29 02:26:25 -07:00
Contactgroup.php
Cover_photo.php include photos.php 2018-05-27 17:57:35 +02:00
Dav.php strip acct: from OWA auth to API endpoints 2017-12-07 18:56:26 -08:00
Defperms.php defperms: bad query 2018-02-13 12:13:37 -08:00
Directory.php add alt_pager to mod_moderate, remove legacy $a parameter from all occurrences of alt_pager 2018-04-17 23:36:35 -07:00
Dirsearch.php simplify dir_tagadelic dramatically 2018-01-17 20:10:49 -08:00
Display.php missing permission description 2018-05-21 09:25:57 +02:00
Dreport.php
Editblock.php add cancel button to editor, fix issue with autosave of categories 2018-05-10 20:54:48 -07:00
Editlayout.php add cancel button to editor, fix issue with autosave of categories 2018-05-10 20:54:48 -07:00
Editpost.php add cancel button to editor, fix issue with autosave of categories 2018-05-10 20:54:48 -07:00
Editwebpage.php add cancel button to editor, fix issue with autosave of categories 2018-05-10 20:54:48 -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
Embedphotos.php use embed photos javascript widget to select existing photos for profile and cover photos 2018-02-23 19:23:17 -08:00
Events.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Fbrowser.php
Feed.php issues with feed parameters 2018-01-02 14:04:43 -08:00
Fhublocs.php
File_upload.php remove logging line 2017-11-30 19:11:26 -08:00
Filer.php
Filerm.php
Filestorage.php admin delete of files 2018-05-02 20:08:59 -07:00
Follow.php more work with unicode usernames 2018-03-14 18:42:07 -07:00
Getfile.php use the same variable name consistently 2017-11-29 14:08:30 -08:00
Go.php provide new member widget which sits beneath the notifications for the first 60 days after an account creation. 2018-02-28 19:49:33 -08:00
Group.php
Hashtags.php allow case independence of replacements as well as patterns 2018-03-30 01:59:32 -07:00
Hcard.php
Help.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Home.php refactor the 'where does the register link point?' logic 2018-05-14 19:19:25 -07:00
Hostxrd.php
Hq.php missing permission description 2018-05-21 09:25:57 +02:00
Impel.php pagetitle lost importing a pdl element from conversation 2017-12-03 19:12:55 -08:00
Import.php new feature (post 3.4): allow a different username to be used when importing. 2018-05-01 20:29:07 -07:00
Import_items.php
Invite.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Item.php more refactor tags/mentions 2018-05-14 17:20:25 -07:00
Lang.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Layouts.php pagetitle lost importing a pdl element from conversation 2017-12-03 19:12:55 -08:00
Like.php fix permalinks to children of articles and cards 2018-04-05 16:58:37 -07:00
Linkinfo.php provide function to fetch photo contents from url 2018-05-15 16:51:04 -07:00
Lockview.php
Locs.php
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
Magic.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
Mail.php hubzilla issue #1020 - PM using unicode domain for recipient. May require further testing 2018-03-30 15:18:33 -07:00
Manage.php more fixes 2017-10-08 22:47:43 +02:00
Menu.php
Message.php add alt_pager to mod_moderate, remove legacy $a parameter from all occurrences of alt_pager 2018-04-17 23:36:35 -07:00
Mitem.php
Moderate.php add alt_pager to mod_moderate, remove legacy $a parameter from all occurrences of alt_pager 2018-04-17 23:36:35 -07:00
Mood.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Network.php merge groups and filed posts into activity filters 2018-05-31 13:05:32 +02:00
New_channel.php new_channel - make text strings translatable and use the name as a base for the nick if you try to create without entering a nick 2018-05-21 20:17:17 -07:00
Nojs.php
Notes.php
Notifications.php do not show seen notifys in notifications - show them in mod notifications instead. Update notifications count also on notifications updates 2017-10-22 21:01:58 +02:00
Notify.php some more work on mod hq 2017-11-18 22:16:06 +01:00
Oauth2testvehicle.php disable the oauth2testvehicle completely until it is safe 2018-04-03 21:58:11 -07:00
Oauthinfo.php update response types 2018-05-21 19:34:03 -07:00
Ochannel.php prevent reload loop if somebody lands on /ochannel (without channel_address and without trailing slash) 2018-03-22 13:55:23 +01:00
Oembed.php
Oep.php make the cloud logging a bit less verbose until we actually need it. 2018-05-02 22:05:55 -07:00
Oexchange.php
Ofeed.php issues with feed parameters 2018-01-02 14:04:43 -08:00
Online.php
Owa.php owa: attempt channel discovery if not found 2018-04-22 19:24:15 -07:00
Page.php allow plugin class widgets, fix sql error in page module 2017-10-29 19:52:00 -07:00
Pconfig.php
Pdledit.php pdledit - show original/system layout text for comparison 2017-10-31 18:04:01 -07:00
Permcat.php
Photo.php wrong default param for pubstream_incl (this checkin also picked up a few minor and hopefully non-significant changes) 2018-05-18 16:57:45 -07:00
Photos.php backend work to allow admin to delete photos. Still requires frontend work to give admin access to either the photos and/or the delete link. 2018-05-02 18:23:42 -07:00
Ping.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
Poco.php
Poke.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Post.php whitespace 2017-09-25 23:39:48 -07:00
Prate.php
Pretheme.php
Probe.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Profile.php remove deprecated $a argument from advanced_profile() 2017-11-23 20:35:34 -08:00
Profile_photo.php provide warnings about profile photo and cover photo permissions 2018-05-01 16:54:54 -07:00
Profiles.php rename relation to relationship - issue #1044 2018-04-07 13:50:41 +02:00
Profperm.php
Pubsites.php comment out statistics link in mod pubsites until we have something functional again 2017-10-24 18:21:19 +02:00
Pubstream.php missing permission description 2018-05-21 09:25:57 +02:00
Randprof.php
Rate.php
Ratings.php
Ratingsearch.php
Rbmark.php
React.php fix permalinks to children of articles and cards 2018-04-05 16:58:37 -07:00
README.md
Regdir.php
Register.php refactor the 'where does the register link point?' logic 2018-05-14 19:19:25 -07:00
Regmod.php refactor the 'where does the register link point?' logic 2018-05-14 19:19:25 -07:00
Regver.php
Removeaccount.php
Removeme.php wrong default param for pubstream_incl (this checkin also picked up a few minor and hopefully non-significant changes) 2018-05-18 16:57:45 -07:00
Rmagic.php redirect loop with rmagic and owa 2017-10-04 18:51:37 -07:00
Rpost.php add cancel button to editor, fix issue with autosave of categories 2018-05-10 20:54:48 -07:00
Search.php yet another postgres/"group by" issue 2018-05-07 19:33:58 -07:00
Search_ac.php
Service_limits.php
Settings.php
Setup.php Setup - .htconfig.php write access is now required for automated installation. [String change - leave in dev for the next release] 2018-03-11 16:42:46 -07:00
Share.php add auth flag to share attributes so we can make a costly determination to use zid at post submission time instead of making multiple calls to is_matrix_url() at render time 2018-03-15 17:51:24 -07:00
Sharedwithme.php
Siteinfo.php Add supported protocols to siteinfo (not siteinfo.json) 2018-05-07 18:46:42 -07:00
Sitelist.php fix some issues with friend suggestions on standalone sites with no 'suggestme' volunteers. This wrongly pulled up a site directory suggesting everybody on the site. While a better outcome than finding nobody, this does not fit with our ethical design goals. If there are no friends of friends, we will only suggest those who volunteer to be on the default suggestion list. Also do not attempt to load poco data from dead sites. 2018-03-04 17:40:38 -08:00
Smilies.php
Snap.php
Sources.php
Sslify.php
Starred.php fix "unstar" 2017-10-28 15:24:37 -07:00
Subthread.php pubstream comments and a few other bugfixes that were discovered along the way 2017-11-26 18:29:24 -08:00
Suggest.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Tagger.php display and link issues with quoted tags 2018-03-29 17:06:23 -07:00
Tagrm.php
Tasks.php last remaining task in tasklist was not removed from view when 'completed' 2017-08-23 23:59:05 -07:00
Theme_info.php
Thing.php There was no pdl for mod_thing; add one because it's only a link away from profile creation and remains on that page until you go elsewhere and new members may need help to find their way out 2018-03-03 15:19:39 -08:00
Toggle_mobile.php
Toggle_safesearch.php
Token.php An authorization token is received, but I had to modify the Request class in vendor/bshaffer/oauth2-server-php/ to accept $_REQUEST instead of $_POST. 2018-02-25 08:36:40 -05:00
Uexport.php uexport: set content-type to json and add sections info to the default filename if present 2018-03-27 18:43:59 -07:00
Update.php explain what happened here 2017-12-04 21:39:53 -08:00
View.php
Viewconnections.php do not overwrite abook flags if we are not owner 2018-02-25 13:00:43 +01:00
Viewsrc.php
Wall_attach.php change to bbcode calling parameters: important: will require pulling addons; 2017-11-23 15:21:50 -08:00
Wall_upload.php
Webfinger.php imagemagick preserves exif when scaling. GD does not. We do not want to preserve exif on thumbnails which we have rotated, as a browser reading the exif information could rotate them yet again. This checkin adds an abstract function to the generic photo driver which makes the behaviour consistent by stripping EXIF from imagick processed images. However, we will attempt to preserve any ICC colour profiles. See http://php.net/manual/en/imagick.stripimage.php 2018-04-22 18:12:16 -07:00
Webpages.php feed untranslated appnames to nav_set_selected() and query for the active app directly to get app details 2017-10-09 21:22:57 +02:00
Well_known.php oauth2 discovery per draft-ietf-oauth-discovery-10 2018-05-21 19:25:03 -07:00
Wfinger.php support '@' paths 2018-05-05 00:39:53 -07:00
Wiki.php missing permission description 2018-05-04 22:03:51 +02:00
Xchan.php
Xpoco.php
Xrd.php we need this in the plugin, not in core 2017-09-20 19:34:43 -07:00
Xref.php
Zfinger.php some preliminary work on Zot VI 2017-09-04 22:35:44 -07:00
Zotfeed.php
Zping.php

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.