2 <!-- $Id: userprefs.tmpl,v 1.33 2003-09-13 22:39:32 carstenklapp Exp $ -->
4 // Todo: Move the logic and code to the plugin
5 // This is very experimental and the read-only part an ugly hack so far.
6 foreach (explode(',','errmsg,isForm') as $var) {
7 if (empty($$var)) $$var = false;
10 $plugin = $request->getArg('pagename');
11 if ($request->isActionPage($request->getArg('pagename')) and
12 $plugin != _("PreferencesInfo")) {
17 $offset = $request->getPref('timeOffset') * 3600;
18 $serverTime = $time - $offset;
20 $timeOffsetInput = HTML::input(array('type' => "text",
23 'name' => "pref[timeOffset]",
25 'value' => $request->getPref('timeOffset')));
27 $timeOffsetInput = $request->getPref('timeOffset');
30 $RelativeDatesCB = HTML(HTML::input(array('type' => 'hidden',
31 'name' => 'pref[relativeDates][]',
33 HTML::input(array('type' => 'checkbox',
34 'name' => 'pref[relativeDates][]',
36 'checked' => (bool) $request->getPref('relativeDates'))));
38 $NoLinkIconsCB = HTML(HTML::input(array('type' => 'hidden',
39 'name' => 'pref[noLinkIcons][]',
41 HTML::input(array('type' => 'checkbox',
42 'name' => 'pref[noLinkIcons][]',
44 'checked' => (bool) $request->getPref('noLinkIcons'))));
46 function selectedOption ($value, $label = false) {
47 return HTML::option(array('value' => $value,'selected'=>"selected"), ($label ? $label : $value) . "\n");
49 function unselectedOption ($value, $label = false) {
50 return HTML::option(array('value' => $value), ($label ? $label : $value) . "\n");
53 $SelectThemes = ''; $SelectLanguages = '';
54 $SelectThemesDesc = ''; $SelectLanguagesDesc = '';
56 $SelectOptions = HTML();
57 if (!empty($available_themes) and is_array($available_themes)) {
58 if (! $request->getPref('theme'))
59 $SelectOptions->pushContent(selectedOption('',_("<system theme>")));
61 $SelectOptions->pushContent(unselectedOption('',_("<system theme>")));
62 foreach ($available_themes as $theme) {
63 if ($theme == $request->getPref('theme') and $theme != THEME)
64 $SelectOptions->pushContent(selectedOption($theme));
66 $SelectOptions->pushContent(unselectedOption($theme));
68 $SelectThemes = HTML::select(array('name' => "pref[theme]",'id' => 'theme'),
70 $SelectThemesDesc = _("Select your personal theme:");
73 $SelectOptions = HTML();
74 if (!empty($available_languages) and is_array($available_languages)) {
75 if (! $request->getPref('lang') )
76 $SelectOptions->pushContent(selectedOption('',_("<system language>")));
78 $SelectOptions->pushContent(unselectedOption('',_("<system language>")));
79 foreach ($available_languages as $lang) {
80 if ($lang == $request->getPref('lang') and $lang != DEFAULT_LANGUAGE)
81 $SelectOptions->pushContent(selectedOption($lang));
83 $SelectOptions->pushContent(unselectedOption($lang));
85 $SelectLanguages = HTML::select(array('name' => "pref[lang]",'id' => 'lang'),
87 $SelectLanguagesDesc = _("Select your personal language:");
89 if ($SelectThemes == '') {
91 $SelectThemesDesc = '';
92 $SelectLanguagesDesc = '';
96 $SelectThemesDesc = _("Personal theme:");
97 $SelectLanguagesDesc = _("Personal language:");
98 $SelectThemes = $request->getPref('theme');
99 $SelectLanguages = $request->getPref('lang');
102 if ($errmsg) $msg = HTML(HTML::h4(array('class' => 'errors'), $errmsg),HTML::hr());
106 <?php if ($isForm) { ?>
107 <form action="<?=$request->getPostURL()?>" method="post">
109 $user = $request->_user;
112 <?= HTML::pre(sprintf("%12s: [% 10s] %s\n",_("UserId"),$request->getPref('userid'), " from " . $request->_user->auth_how()),
113 sprintf("%12s: [% 10s] %16s: [% 10s] | %8s: [%2s]\n","getId",$user->getId(),"getAuthenticatedId",$user->getAuthenticatedId(),"isSignedIn", $user->isSignedIn()),
114 sprintf("%12s: [% 10s]\n",_("Password"),$request->getPref('passwd')),
115 sprintf("%12s: [% 10s] %15s: [% 8s]\n",
116 _("Auth Level"),$user->_level,_("Auth Method"),$user->_authmethod),
117 sprintf("%12s: [% 10s]\n",_("HomePage"),$user->homePage() ? $user->_homepage->_pagename : ''),
118 sprintf("%12s: [% 10s]\n",_("E-Mail"),$request->getPref('email')),
119 sprintf("%12s: [% 10s]\n",_("Notify"),$request->getPref('notifyPages')),
120 sprintf("%12s: [% 10s] %16s: [% 10s] \n",_("Theme"), $request->getPref('theme'), _("Current Theme"),$Theme->_name),
121 sprintf("%12s: [% 10s] %16s: [% 10s] \n",_("Language"),$request->getPref('lang'),_("Current Language"),$GLOBALS['LANG'])
125 <?php if ($isForm and !$user->isAdmin()) { ?>
126 <h2><?=_("Change Password")?></h2>
127 <input type="password" name="pref[passwd]" size="16" maxlength="16" class="text" value="" /> <?=_("New password")?>.<br />
128 <input type="password" name="pref[passwd2]" size="16" maxlength="16" class="text" value="" /> <?=_("Type it again")?>.
131 <h2><?=_("Email Notification")?></h2>
132 <p><?=_("Your E-Mail:")?>
133 <?php if ($isForm) { ?>
134 <input type="text" name="pref[email]" size="30" maxlength="60"
135 value="<?=$request->getPref('email')?>" />
137 '<?= $request->getPref('email') ?>'
139 <?= _("Status:") ?>
140 <?php if ($request->getPref('emailVerified')) { ?>
141 <?= _("Email verified.") ?>
143 <?= _("Email not yet verified.") ?>
146 <p class="hint">(<?=_("Note, that user accounts with bouncing emails will be disabled.")?>)</p>
147 <p><?=_("Get an email notification at changes of the following pages:")?><br />
149 <?php if ($isForm) { ?>
150 <textarea name="pref[notifyPages]" cols="50" rows="5"><?=$request->getPref('notifyPages')?></textarea>
151 <p class="hint">(<?=_("Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed.")?>)</p>
154 <?=$request->getPref('notifyPages')?>
157 <h2><?=_("Appearance")?></h2>
158 <table cellspacing="5" border="1">
159 <tr class="hint"><td><?= _("Default system theme:") ?></td><td><?=_("Default system language:")?></td></tr>
160 <tr align="center"><td><?= THEME ?></td> <td><?= DEFAULT_LANGUAGE ?></td></tr>
161 <tr class="hint"><td><?= $SelectThemesDesc?></td><td><?=$SelectLanguagesDesc?></td></tr>
162 <tr align="center"><td><?= $SelectThemes ?></td> <td><?= $SelectLanguages ?></td></tr>
164 <p class="hint"><?=_("Here you can override site-specific default values. Currently not recommended!")?></p>
166 <p><?=$NoLinkIconsCB?> <?=fmt("Hide %s.", WikiLink("LinkIcons"))?></p>
167 <p class="hint"><?=_("Hide or show LinkIcons (if supported by the current theme). Useful for text-only browsers or slow connections.")?></p>
169 <h2><?=_("Edit Area Size")?></h2>
171 <?php if ($isForm) { ?>
172 <input type="text" name="pref[editHeight]" size="4" maxlength="4" class="numeric"
173 value="<?=$request->getPref('editHeight')?>" />
175 <?=$request->getPref('editHeight')?>
178 <?php if ($isForm) { ?>
179 <input type="text" name="pref[editWidth]" size="4" maxlength="4" class="numeric"
180 value="<?=$request->getPref('editWidth')?>" />
182 <?=$request->getPref('editWidth')?>
185 <p class="hint"><?=_("Note that many browsers will automatically adjust the width of the editing area so that it fills the browser window. In this case, the width preference will be ignored.")?></p>
187 <h2><?=_("Time Zone")?></h2>
189 <?=fmt("Add %s hours to the server's local time when reporting times.",
193 <?=fmt("The current time at the server is %s.",
194 HTML::strong($Theme->formatDateTime($serverTime)))?>
195 <?=fmt("With the current offset, this would be reported as %s.",
196 HTML::strong($Theme->formatDateTime($time)))?>
199 <h2><?=_("Date Format")?></h2>
200 <p><?=$RelativeDatesCB?>
201 <?=_("Show relative dates using 'Today' and 'Yesterday'.")?>
204 <?php if ($isForm) { ?>
206 <p><?=Button("submit:", _("Update Preferences"), 'wikiadmin')?><?=Button("submit:cancel", _("Cancel"), 'button')?></p>
208 <?= HiddenInputs($request->getArgs(), false, array('pref')) ?>