]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - themes/default/templates/userprefs.tmpl
Activated Id substitution for Subversion
[SourceForge/phpwiki.git] / themes / default / templates / userprefs.tmpl
1 <?php // -*-html-*- ?>
2 <!-- $Id$ -->
3 <?php
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;
8 }
9
10 $plugin = $request->getArg('pagename');
11 if ($request->isActionPage($request->getArg('pagename')) 
12     and $isForm and $plugin == _("PreferencesInfo")) {
13     $isForm = false;
14 }
15 $time = time();
16 $user =& $request->getUser();
17 $pref =& $request->_prefs;
18
19 if (!$pref) return;
20 $offset = $pref->get('timeOffset');
21 $serverTime = $time - $offset * 3600;
22 if ( $isForm )
23     $timeOffsetInput = HTML::input(array('type' => "text",
24                                          'size' => 6,
25                                          'maxlength' => 6,
26                                          'name' => "pref[timeOffset]",
27                                          'class' => "numeric",
28                                          'value' => $offset));
29 else
30     $timeOffsetInput = $pref->get('timeOffset');
31
32 $RelativeDatesCB = HTML::input(array('type' => 'checkbox',
33                                      'name' => 'pref[relativeDates]',
34                                      'value' => '1',
35                                      'checked' => (bool) $pref->get('relativeDates')));
36 $NoLinkIconsCB = HTML::input(array('type' => 'checkbox',
37                                    'name' => 'pref[noLinkIcons]',
38                                    'value' => '1',
39                                    'checked' => (bool) $pref->get('noLinkIcons')));
40 $GoogleLinkCB = HTML::input(array('type' => 'checkbox',
41                                   'name' => 'pref[googleLink]',
42                                   'value' => '1',
43                                   'checked' => (bool) $pref->get('googleLink')));
44 $DoubleClickCB = HTML::input(array('type' => 'checkbox',
45                                   'name' => 'pref[doubleClickEdit]',
46                                   'value' => '1',
47                                   'checked' => (bool) $pref->get('doubleClickEdit')));
48 if (!function_exists('selectedOption')) {
49   function selectedOption ($value, $label = false) {
50     return HTML::option(array('value' => $value,'selected'=>"selected"), ($label ? $label : $value) . "\n");
51   }
52   function unselectedOption ($value, $label = false) {
53     return HTML::option(array('value' => $value), ($label ? $label : $value) . "\n");
54   }
55 }
56
57 $SelectThemes = ''; $SelectLanguages = '';
58 $SelectThemesDesc = ''; $SelectLanguagesDesc = '';
59 if ( $isForm ) {
60     $SelectOptions = HTML(); 
61     if (!empty($available_themes) and is_array($available_themes)) {
62         if (!$pref->get('theme') or $pref->get('theme') == THEME)
63             $SelectOptions->pushContent(selectedOption("",_("<system theme>")));
64         else
65             $SelectOptions->pushContent(unselectedOption("",_("<system theme>")));
66         foreach ($available_themes as $theme) {
67             if ($theme == $pref->get('theme') and $theme != THEME)
68                 $SelectOptions->pushContent(selectedOption($theme));
69             else
70                 $SelectOptions->pushContent(unselectedOption($theme));
71         }
72         $SelectThemes = HTML::select(array('name' => "pref[theme]",'id' => 'theme'),
73                                      $SelectOptions);
74         $SelectThemesDesc = _("Personal theme:");
75     }
76     
77     $SelectOptions = HTML();
78     if (!empty($available_languages) and is_array($available_languages)) {
79         if (!$pref->get('lang') or $pref->get('lang') == DEFAULT_LANGUAGE)
80             $SelectOptions->pushContent(selectedOption("",_("<system language>")));
81         else
82             $SelectOptions->pushContent(unselectedOption("",_("<system language>")));
83         foreach ($available_languages as $lang) {
84             if ($lang == $pref->get('lang') and $lang != DEFAULT_LANGUAGE)
85                 $SelectOptions->pushContent(selectedOption($lang));
86             else
87                 $SelectOptions->pushContent(unselectedOption($lang));
88         }
89         $SelectLanguages = HTML::select(array('name' => "pref[lang]",'id' => 'lang'),
90                                         $SelectOptions);
91         $SelectLanguagesDesc = _("Personal language:");
92     } else {
93         if ($SelectThemes == '') {
94             $appearance = false;
95             $SelectThemesDesc = '';
96             $SelectLanguagesDesc = '';
97         }
98     }
99 } else {
100     $SelectThemesDesc = _("Personal theme:");
101     $SelectLanguagesDesc = _("Personal language:");
102     $SelectThemes = $pref->get('theme');
103     $SelectLanguages = $pref->get('lang');
104 }
105
106 if ($errmsg) $msg = HTML(HTML::h4(array('class' => 'errors'), $errmsg),HTML::hr());
107 ?>
108 <?= $errmsg ?>
109
110 <?= fmt("User preferences for user '%s':", $user->UserName()) ?>
111
112 <?php if ($isForm) { ?>
113 <form action="<?=$request->getPostURL()?>" method="post">
114 <?php } else { 
115   $fill = "&nbsp;";
116   // See also plugin _AuthInfo
117   $authmethod = ENABLE_USER_NEW ? @$user->_authmethod : @$user->auth_how;
118 ?>
119 <?= HTML::pre(sprintf("%12s: [% 10s]  %s\n",_("UserId"),$pref->get('userid'), " from " . $authmethod),
120               sprintf("%12s: [% 10s]  %16s: [% 10s] | %8s: [%2s]\n","getId",$user->getId(),"getAuthenticatedId",$user->getAuthenticatedId(),"isSignedIn", $user->isSignedIn()),
121               //sprintf("%12s: [% 10s]\n",_("Password"),empty($pref->get('passwd')) ? _("<empty>") : _("<not empty>")),
122               sprintf("%12s: [% 10s]  %15s: [% 8s]\n",
123                       _("Auth Level"),$user->_level,_("Auth Method"),$authmethod),
124               sprintf("%12s: [% 10s]\n",_("HomePage"),$user->hasHomePage() ? (ENABLE_USER_NEW ? $user->_HomePagehandle->_pagename : $user->_homepage->_pagename ) : ''),
125               sprintf("%12s: [% 10s]\n",_("E-Mail"),$pref->get('email')),
126               //sprintf("%12s: [% 10s]\n",_("Notify"),$pref->get('notifyPages')),
127               sprintf("%12s: [% 10s] %16s: [% 10s] \n",_("Theme"), $pref->get('theme'), _("Current Theme"),$WikiTheme->_name),
128               sprintf("%12s: [% 10s] %16s: [% 10s] \n",_("Language"),$pref->get('lang'),_("Current Language"),$GLOBALS['LANG'])
129               ) ?>
130 <?php } ?>
131
132 <table border="0">
133 <?php if ($isForm and $user->mayChangePass()) { ?>
134   <tr><td colspan="3"><h2><?= ($request->getPref('passwd') ?  _("Change Password") :  _("Set Password")) ?></h2></td></tr>
135
136     <tr><td align="right"><?=_("New password")?>:</td>
137         <td><input type="password" name="pref[passwd]" size="16" maxlength="16" class="text" value="" /></td>
138         <td></td></tr>
139     <tr><td align="right"><?=_("Type it again")?>:</td>
140         <td><input type="password" name="pref[passwd2]" size="16" maxlength="16" class="text" value="" /></td>
141         <td></td></tr>
142 <?php } ?>
143
144 <?php if (ENABLE_USER_NEW) { ?>
145   <tr><td colspan="3"><h2><?=_("E-mail")?></h2></td></tr>
146
147   <tr><td><?=_("Your E-Mail:")?></td>
148   <td>
149   <?php if ($isForm) { ?>
150      <input type="text" name="pref[email]" size="30" maxlength="60"
151             value="<?=$pref->get('email')?>" />
152   <?php } else { ?>
153      '<?= $pref->get('email') ?>'
154   <?php } ?>
155   &nbsp;&nbsp;<?= _("Status:") ?>&nbsp;&nbsp;
156   <?php if ($pref->get('emailVerified')) { ?>
157     <?= _("Email verified.") ?>
158   <?php } else { ?>
159     <?= _("Email not yet verified.") ?>
160   <?php } ?>
161   </td><td><p class="hint"><?=_("Note, that user accounts with bouncing emails will be disabled.")?></p></td></tr>
162
163    <tr><td colspan="2">
164     <?=_("Get an email notification at changes of the following pages:")?><br />
165     <?php if ($isForm) { ?>
166       <blockquote><textarea name="pref[notifyPages]" cols="50" rows="4"><?=$pref->get('notifyPages')?></textarea></blockquote></td>
167     <td><p class="hint"><?=_("Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed.")?></p></td>
168     <?php } else { ?>
169      <td><?=$pref->get('notifyPages')?></td><td></td>
170     <?php } ?>
171    </tr>
172 <?php } ?>
173
174   <tr><td colspan="3"><h2><?=_("Appearance")?></h2></td></tr>
175
176   <tr><td colspan="2"><?=_("Here you can override site-specific default values.") ?></td>
177       <td><span class="hint"><?= _("Currently not recommended!") ?></span></td></tr>
178   <?php /* Alternatively this could be done with <fieldset> and <legend>. */ ?>
179       <tr><td align="right"><?=$SelectThemesDesc?></td>
180           <td><?= $SelectThemes ?></td>
181           <td><span class="hint"><?=_("System default:")?> <?= THEME ?></span></td></tr>
182       <tr><td align="right"><?=$SelectLanguagesDesc?></td>
183           <td><?= $SelectLanguages ?></td>
184           <td><span class="hint"><?=_("System default:")?> <?= DEFAULT_LANGUAGE ?></span></td></tr>
185       <tr><td align="right"><?=fmt("Hide %s:", WikiLink("LinkIcons"))?></td>
186           <td><?=$NoLinkIconsCB?></td>
187           <td><p class="hint"><?=_("Hide or show LinkIcons (if supported by the current theme). Useful for text-only browsers or slow connections.")?></p></td></tr>
188       <tr><td align="right"><?=fmt("Add %s:", WikiLink("GoogleLink"))?></td>
189           <td><?=$GoogleLinkCB?></td>
190           <td><p class="hint"><?=fmt("Add Google links to unknown pages behind the '?', and the create action behind the pagename instead. See %s.", WikiLink("MeatBall:GooglePrompt"))?></p></td></tr>
191       <tr><td align="right"><?=fmt("Enable DoubleClick Edit")?></td>
192           <td><?=$DoubleClickCB?></td>
193   <td><p class="hint"><?=fmt("Enabled makes it hard to double-click words and sentences for cut and paste. See %s.", WikiLink("PhpWiki:DoubleClickToEditPage"))?></p></td></tr>
194
195
196   <tr><td colspan="3"><h2><?=_("Edit Area Size")?></h2></td></tr>
197
198   <tr><td colspan="2">
199     <?=_("Height")?>:&nbsp;
200     <?php if ($isForm) { ?>
201      <input type="text" name="pref[editHeight]" size="4" maxlength="4" class="numeric"
202             value="<?=$pref->get('editHeight')?>" />
203     <?php } else { ?>
204       <?=$pref->get('editHeight')?>
205     <?php } ?>
206     &nbsp;&nbsp;<?=_("Width")?>:&nbsp;
207     <?php if ($isForm) { ?>
208      <input type="text" name="pref[editWidth]" size="4" maxlength="4" class="numeric"
209             value="<?=$pref->get('editWidth')?>" />
210     <?php } else { ?>
211       <?=$pref->get('editWidth')?>
212     <?php } ?>
213     </td>
214     <td><p class="hint">
215       <?=_("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>
216     </td></tr>
217
218   <tr><td colspan="3"><h2><?=_("Time Zone")?></h2></td></tr>
219
220   <tr><td colspan="2"><p>
221     <?=fmt("Add %s hours to the server's local time when reporting times.",
222            $timeOffsetInput)?>
223   </p></td><td>
224   <p class="hint">
225     <?=fmt("The current time at the server is %s.",
226             HTML::strong($WikiTheme->formatDateTime($serverTime)))?>
227     <?=fmt("With the current offset, this would be reported as %s.",
228            HTML::strong($WikiTheme->formatDateTime($time)))?>
229   </p>
230   </td></tr>
231
232   <tr><td colspan="3"><h2><?=_("Date Format")?></h2></td></tr>
233
234   <tr><td colspan="2"><p>
235     <?=_("Show relative dates using 'Today' and 'Yesterday'")?>:
236     <?= $RelativeDatesCB ?>
237   </p></td><td></td></tr>
238 </table>
239
240 <?php if ($isForm) { ?>
241   <hr />
242   <p><?=Button("submit:", _("Update Preferences"), 'wikiadmin')?>
243   <?=Button("submit:delete", _("Reset Preferences"), 'wikiadmin')?>
244   <?=Button("submit:cancel", _("Cancel"), 'button')?></p>
245
246 <?= HiddenInputs($request->getArgs(), false, array('pref')) ?>
247 </form>
248 <?php } ?>