$c['factory.loader.workflow'] = function ($c) { global $wgFlowDefaultWorkflow; return new Flow\WorkflowLoaderFactory($c['storage'], $c['factory.block'], $c['submission_handler'], $wgFlowDefaultWorkflow); }; // Initialized in FlowHooks to facilitate only loading the flow container // when flow is specifically requested to run. Extension initialization // must always happen before calling flow code. $c['occupation_controller'] = FlowHooks::getOccupationController(); $c['controller.notification'] = function ($c) { global $wgContLang; return new Flow\NotificationController($wgContLang); }; // Initialized in FlowHooks to faciliate only loading the flow container // when flow is specifically requested to run. Extension initialization // must always happen before calling flow code. $c['controller.abusefilter'] = FlowHooks::getAbuseFilter(); $c['controller.spamregex'] = function ($c) { return new Flow\SpamFilter\SpamRegex(); }; $c['controller.spamblacklist'] = function ($c) { return new Flow\SpamFilter\SpamBlacklist(); }; $c['controller.confirmedit'] = function ($c) { return new Flow\SpamFilter\ConfirmEdit(); }; $c['controller.contentlength'] = function ($c) { global $wgMaxArticleSize; // wgMaxArticleSize is in kilobytes, // whereas this really is characters (it uses // mb_strlen), so it's not the exact same limit. $maxCharCount = $wgMaxArticleSize * 1024;