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