From 066fee3089513b988d1beac2040e32a365921310 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 12 Oct 2008 13:31:50 +0200 Subject: Make license selectable from config FS#312 darcs-hash:20081012113150-7ad00-6408da058bdb6c923159d445e03b76f54b579362.gz --- lib/plugins/config/lang/en/lang.php | 3 +++ lib/plugins/config/settings/config.class.php | 1 + lib/plugins/config/settings/config.metadata.php | 1 + lib/plugins/config/settings/extra.class.php | 19 +++++++++++++++++++ 4 files changed, 24 insertions(+) (limited to 'lib/plugins') diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index 3de0bbd7d..6d942c290 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -57,6 +57,7 @@ $lang['savedir'] = 'Directory for saving data'; $lang['start'] = 'Start page name'; $lang['title'] = 'Wiki title'; $lang['template'] = 'Template'; +$lang['license'] = 'Under which license should your content be released?'; $lang['fullpath'] = 'Reveal full path of pages in the footer'; $lang['recent'] = 'Recent changes'; $lang['breadcrumbs'] = 'Number of breadcrumbs'; @@ -162,6 +163,8 @@ $lang['ftp____user'] = 'FTP user name for safemode hack'; $lang['ftp____pass'] = 'FTP password for safemode hack'; $lang['ftp____root'] = 'FTP root directory for safemode hack'; +$lang['license_o_'] = 'None chosen'; + /* typography options */ $lang['typography_o_0'] = 'none'; $lang['typography_o_1'] = 'Double quotes only'; diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index faa8c5e7e..011335913 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -631,6 +631,7 @@ if (!class_exists('setting_multichoice')) { foreach ($this->_choices as $choice) { $selected = ($value == $choice) ? ' selected="selected"' : ''; $option = $plugin->getLang($this->_key.'_o_'.$choice); + if (!$option && isset($this->lang[$this->_key.'_o_'.$choice])) $option = $this->lang[$this->_key.'_o_'.$choice]; if (!$option) $option = $choice; $choice = htmlspecialchars($choice); diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index c087cd767..56a1c43ff 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -84,6 +84,7 @@ $meta['title'] = array('string'); $meta['start'] = array('string','_pattern' => '!^[^:;/]+$!'); // don't accept namespaces $meta['lang'] = array('dirchoice','_dir' => DOKU_INC.'inc/lang/'); $meta['template'] = array('dirchoice','_dir' => DOKU_INC.'lib/tpl/','_pattern' => '/^[\w-]+$/'); +$meta['license'] = array('license'); $meta['savedir'] = array('savedir'); $meta['basedir'] = array('string'); $meta['baseurl'] = array('string'); diff --git a/lib/plugins/config/settings/extra.class.php b/lib/plugins/config/settings/extra.class.php index 40c919a12..12e176f35 100644 --- a/lib/plugins/config/settings/extra.class.php +++ b/lib/plugins/config/settings/extra.class.php @@ -116,6 +116,25 @@ if (!class_exists('setting_compression')) { } } +if (!class_exists('setting_license')) { + class setting_license extends setting_multichoice { + + var $_choices = array(''); // none choosen + + function initialize($default,$local,$protected) { + global $license; + + foreach($license as $key => $data){ + $this->_choices[] = $key; + $this->lang[$this->_key.'_o_'.$key] = $data['name']; + } + + parent::initialize($default,$local,$protected); + } + } +} + + if (!class_exists('setting_renderer')) { class setting_renderer extends setting_multichoice { var $_prompts = array(); -- cgit v1.2.3