1<?php
2// (c) Copyright by authors of the Tiki Wiki CMS Groupware Project
3//
4// All Rights Reserved. See copyright.txt for details and a complete list of authors.
5// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
6// $Id$
7
8namespace Tiki\MailIn\Provider;
9
10use Tiki\MailIn\Action;
11
12class WikiMultipleProvider implements ProviderInterface
13{
14	function isEnabled()
15	{
16		global $prefs;
17		return $prefs['feature_wiki'] == 'y';
18	}
19
20	function getType()
21	{
22		return 'wiki';
23	}
24
25	function getLabel()
26	{
27		return tr('Wiki (multiple actions)');
28	}
29
30	function getActionFactory(array $acc)
31	{
32		$wikiParams = [
33			'namespace' => $acc['namespace'],
34			'structure_routing' => $acc['routing'] == 'y',
35		];
36
37		return new Action\SubjectPrefixFactory([
38			'GET:' => new Action\DirectFactory('Tiki\MailIn\Action\WikiGet', $wikiParams),
39			'APPEND:' => new Action\DirectFactory('Tiki\MailIn\Action\WikiAppend', $wikiParams),
40			'PREPEND:' => new Action\DirectFactory('Tiki\MailIn\Action\WikiPrepend', $wikiParams),
41			'PUT:' => new Action\DirectFactory('Tiki\MailIn\Action\WikiPut', $wikiParams),
42			'' => new Action\DirectFactory('Tiki\MailIn\Action\WikiPut', $wikiParams),
43		]);
44	}
45}
46