*/ // must be run within Dokuwiki use dokuwiki\Form\Form; if(!defined('DOKU_INC')) die(); class admin_plugin_farmer_config extends DokuWiki_Admin_Plugin { /** @var helper_plugin_farmer */ protected $helper; /** * @return bool admin only! */ public function forAdminOnly() { return false; } /** * admin_plugin_farmer_config constructor. */ public function __construct() { $this->helper = plugin_load('helper', 'farmer'); } /** * Should carry out any processing required by the plugin. */ public function handle() { global $INPUT; global $ID; if(!$INPUT->has('farmconf')) return; if(!checkSecurityToken()) return; $farmconf = $this->helper->getConfig(); $farmdir = $farmconf['base']['farmdir']; $farmconf = array_merge($farmconf, $INPUT->arr('farmconf')); $farmconf['base']['farmdir'] = $farmdir; $farmconf['base']['basedomain'] = trim(trim($farmconf['base']['basedomain'],'.')); $ini = DOKU_INC . 'conf/farm.ini'; $data = "; Farm config created by the farmer plugin\n"; $data .= $this->createIni($farmconf); io_saveFile($ini, $data); $self = wl($ID, array('do' => 'admin', 'page' => 'farmer', 'sub' => 'config'), true, '&'); send_redirect($self); } /** * Render HTML output, e.g. helpful text and a form */ public function html() { $farmconf = $this->helper->getConfig(); $form = new Form(array('method' => 'post')); $form->addFieldsetOpen($this->getLang('base')); $form->addHTML('