Dotclear

source: admin/preferences.php @ 454:0458313d8a11

Revision 454:0458313d8a11, 19.2 KB checked in by Franck <carnet.franck.paul@…>, 14 years ago (diff)

Accessibilité - ordre de tabulation - Step 1 :

  • Suppression intégrale des tabindex côté admin.
  • Reste à gérer l'ordre pour post.php (et son clone page.php)
RevLine 
[0]1<?php
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of Dotclear 2.
5#
[270]6# Copyright (c) 2003-2011 Olivier Meunier & Association Dotclear
[0]7# Licensed under the GPL version 2.0 license.
8# See LICENSE file or
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10#
11# -- END LICENSE BLOCK -----------------------------------------
12
13require dirname(__FILE__).'/../inc/admin/prepend.php';
14
15dcPage::check('usage,contentadmin');
16
[3]17$page_title = __('My preferences');
[0]18
19$user_name = $core->auth->getInfo('user_name');
20$user_firstname = $core->auth->getInfo('user_firstname');
21$user_displayname = $core->auth->getInfo('user_displayname');
22$user_email = $core->auth->getInfo('user_email');
23$user_url = $core->auth->getInfo('user_url');
24$user_lang = $core->auth->getInfo('user_lang');
25$user_tz = $core->auth->getInfo('user_tz');
26$user_post_status = $core->auth->getInfo('user_post_status');
27
28$user_options = $core->auth->getOptions();
29
[13]30$core->auth->user_prefs->addWorkspace('dashboard');
31$user_dm_doclinks = $core->auth->user_prefs->dashboard->doclinks;
32$user_dm_dcnews = $core->auth->user_prefs->dashboard->dcnews;
33$user_dm_quickentry = $core->auth->user_prefs->dashboard->quickentry;
34
[160]35$core->auth->user_prefs->addWorkspace('accessibility');
[240]36$user_acc_nodragdrop = $core->auth->user_prefs->accessibility->nodragdrop;
37
38$core->auth->user_prefs->addWorkspace('interface');
39$user_ui_enhanceduploader = $core->auth->user_prefs->interface->enhanceduploader;
[244]40if ($core->auth->isSuperAdmin()) {
41     $user_ui_hide_std_favicon = $core->auth->user_prefs->interface->hide_std_favicon;
42}
[160]43
[247]44$default_tab = !empty($_GET['tab']) ? html::escapeHTML($_GET['tab']) : 'user-profile';
[3]45
[30]46if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder']) || !empty($_GET['replaced'])) {
[3]47     $default_tab = 'user-favorites';
[13]48} elseif (!empty($_GET['updated'])) {
49     $default_tab = 'user-options';
[3]50}
[247]51if (($default_tab != 'user-profile') && ($default_tab != 'user-options') && ($default_tab != 'user-favorites')) {
52     $default_tab = 'user-profile';
53}
[3]54
[0]55foreach ($core->getFormaters() as $v) {
56     $formaters_combo[$v] = $v;
57}
58
59foreach ($core->blog->getAllPostStatus() as $k => $v) {
60     $status_combo[$v] = $k;
61}
62
63# Language codes
64$langs = l10n::getISOcodes(1,1);
65foreach ($langs as $k => $v) {
66     $lang_avail = $v == 'en' || is_dir(DC_L10N_ROOT.'/'.$v);
67     $lang_combo[] = new formSelectOption($k,$v,$lang_avail ? 'avail10n' : '');
68}
69
70# Add or update user
71if (isset($_POST['user_name']))
72{
73     try
74     {
75          $pwd_check = !empty($_POST['cur_pwd']) && $core->auth->checkPassword(crypt::hmac(DC_MASTER_KEY,$_POST['cur_pwd']));
76         
77          if ($core->auth->allowPassChange() && !$pwd_check && $user_email != $_POST['user_email']) {
78               throw new Exception(__('If you want to change your email or password you must provide your current password.'));
79          }
80         
81          $cur = $core->con->openCursor($core->prefix.'user');
82         
83          $cur->user_name = $user_name = $_POST['user_name'];
84          $cur->user_firstname = $user_firstname = $_POST['user_firstname'];
85          $cur->user_displayname = $user_displayname = $_POST['user_displayname'];
86          $cur->user_email = $user_email = $_POST['user_email'];
87          $cur->user_url = $user_url = $_POST['user_url'];
88          $cur->user_lang = $user_lang = $_POST['user_lang'];
89          $cur->user_tz = $user_tz = $_POST['user_tz'];
[13]90
[0]91          $cur->user_options = new ArrayObject($user_options);
92         
93          if ($core->auth->allowPassChange() && !empty($_POST['new_pwd']))
94          {
95               if (!$pwd_check) {
96                    throw new Exception(__('If you want to change your email or password you must provide your current password.'));
97               }
98               
99               if ($_POST['new_pwd'] != $_POST['new_pwd_c']) {
100                    throw new Exception(__("Passwords don't match"));
101               }
102               
103               $cur->user_pwd = $_POST['new_pwd'];
104          }
105         
106          # --BEHAVIOR-- adminBeforeUserUpdate
[13]107          $core->callBehavior('adminBeforeUserProfileUpdate',$cur,$core->auth->userID());
108         
109          # Udate user
110          $core->updUser($core->auth->userID(),$cur);
111         
112          # --BEHAVIOR-- adminAfterUserUpdate
113          $core->callBehavior('adminAfterUserProfileUpdate',$cur,$core->auth->userID());
114         
115          http::redirect('preferences.php?upd=1');
116     }
117     catch (Exception $e)
118     {
119          $core->error->add($e->getMessage());
120     }
121}
122
123# Update user options
124if (isset($_POST['user_post_format'])) {
125     try
126     {
127          $cur = $core->con->openCursor($core->prefix.'user');
128         
129          $cur->user_name = $user_name;
130          $cur->user_firstname = $user_firstname;
131          $cur->user_displayname = $user_displayname;
132          $cur->user_email = $user_email;
133          $cur->user_url = $user_url;
134          $cur->user_lang = $user_lang;
135          $cur->user_tz = $user_tz;
136
137          $cur->user_post_status = $user_post_status = $_POST['user_post_status'];
138         
139          $user_options['edit_size'] = (integer) $_POST['user_edit_size'];
140          if ($user_options['edit_size'] < 1) {
141               $user_options['edit_size'] = 10;
142          }
143          $user_options['post_format'] = $_POST['user_post_format'];
144          $user_options['enable_wysiwyg'] = !empty($_POST['user_wysiwyg']);
145         
146          $cur->user_options = new ArrayObject($user_options);
147         
148          # --BEHAVIOR-- adminBeforeUserUpdate
[0]149          $core->callBehavior('adminBeforeUserUpdate',$cur,$core->auth->userID());
150         
[13]151          # Update user prefs
152          $core->auth->user_prefs->dashboard->put('doclinks',!empty($_POST['user_dm_doclinks']),'boolean');
153          $core->auth->user_prefs->dashboard->put('dcnews',!empty($_POST['user_dm_dcnews']),'boolean');
154          $core->auth->user_prefs->dashboard->put('quickentry',!empty($_POST['user_dm_quickentry']),'boolean');
[240]155          $core->auth->user_prefs->accessibility->put('nodragdrop',!empty($_POST['user_acc_nodragdrop']),'boolean');
156          $core->auth->user_prefs->interface->put('enhanceduploader',!empty($_POST['user_ui_enhanceduploader']),'boolean');
[244]157          if ($core->auth->isSuperAdmin()) {
158               # Applied to all users
159               $core->auth->user_prefs->interface->put('hide_std_favicon',!empty($_POST['user_ui_hide_std_favicon']),'boolean',null,true,true);
160          }
[13]161         
[0]162          # Udate user
163          $core->updUser($core->auth->userID(),$cur);
164         
165          # --BEHAVIOR-- adminAfterUserUpdate
166          $core->callBehavior('adminAfterUserUpdate',$cur,$core->auth->userID());
167         
[13]168          http::redirect('preferences.php?updated=1');
[0]169     }
170     catch (Exception $e)
171     {
172          $core->error->add($e->getMessage());
173     }
174}
175
[3]176# Add selected favorites
177if (!empty($_POST['appendaction']) && !empty($_POST['append'])) {
178     $ws = $core->auth->user_prefs->addWorkspace('favorites');
179     $user_favs = $ws->DumpLocalPrefs();
180     $count = count($user_favs);
181     foreach ($_POST['append'] as $k => $v)
182     {
183          try {
184               $found = false;
185               foreach ($user_favs as $f) {
186                    $f = unserialize($f['value']);
187                    if ($f['name'] == $v) {
188                         $found = true;
189                         break;
190                    }
191               }
192               if (!$found) {
193                    $uid = sprintf("u%03s",$count);
194                    $fav = array('name' => $_fav[$v][0],'title' => $_fav[$v][1],'url' => $_fav[$v][2],'small-icon' => $_fav[$v][3],
195                         'large-icon' => $_fav[$v][4],'permissions' => $_fav[$v][5],'id' => $_fav[$v][6],'class' => $_fav[$v][7]);
196                    $core->auth->user_prefs->favorites->put($uid,serialize($fav),'string');
197                    $count++;
198               }
199          } catch (Exception $e) {
200               $core->error->add($e->getMessage());
201               break;
202          }
203     }
204     
205     if (!$core->error->flag()) {
206          http::redirect('preferences.php?append=1');
207     }
208}
209
210# Delete selected favorites
211if (!empty($_POST['removeaction']) && !empty($_POST['remove'])) {
212     $ws = $core->auth->user_prefs->addWorkspace('favorites');
213     foreach ($_POST['remove'] as $k => $v)
214     {
215          try {
216               $core->auth->user_prefs->favorites->drop($v);
217          } catch (Exception $e) {
218               $core->error->add($e->getMessage());
219               break;
220          }
221     }
222     // Update pref_id values
223     try {
224          $user_favs = $ws->DumpLocalPrefs();
[34]225          $core->auth->user_prefs->favorites->dropAll();
[3]226          $count = 0;
227          foreach ($user_favs as $k => $v)
228          {
229               $uid = sprintf("u%03s",$count);
230               $f = unserialize($v['value']);
231               $fav = array('name' => $f['name'],'title' => $f['title'],'url' => $f['url'],'small-icon' => $f['small-icon'],
232                    'large-icon' => $f['large-icon'],'permissions' => $f['permissions'],'id' => $f['id'],'class' => $f['class']);
233               $core->auth->user_prefs->favorites->put($uid,serialize($fav),'string');
234               $count++;
235          }
236     } catch (Exception $e) {
237          $core->error->add($e->getMessage());
238     }
239     
240     if (!$core->error->flag()) {
241          http::redirect('preferences.php?removed=1');
242     }
243}
244
245# Order favs
246$order = array();
247if (empty($_POST['favs_order']) && !empty($_POST['order'])) {
248     $order = $_POST['order'];
249     asort($order);
250     $order = array_keys($order);
251} elseif (!empty($_POST['favs_order'])) {
252     $order = explode(',',$_POST['favs_order']);
253}
254
255if (!empty($_POST['saveorder']) && !empty($order))
256{
257     try {
[26]258          $ws = $core->auth->user_prefs->addWorkspace('favorites');
[3]259          $user_favs = $ws->DumpLocalPrefs();
[34]260          $core->auth->user_prefs->favorites->dropAll();
[3]261          $count = 0;
262          foreach ($order as $i => $k) {
263               $uid = sprintf("u%03s",$count);
264               $f = unserialize($user_favs[$k]['value']);
265               $fav = array('name' => $f['name'],'title' => $f['title'],'url' => $f['url'],'small-icon' => $f['small-icon'],
266                    'large-icon' => $f['large-icon'],'permissions' => $f['permissions'],'id' => $f['id'],'class' => $f['class']);
267               $core->auth->user_prefs->favorites->put($uid,serialize($fav),'string');
268               $count++;
269          }
270     } catch (Exception $e) {
271          $core->error->add($e->getMessage());
272     }
273
274     if (!$core->error->flag()) {
275          http::redirect('preferences.php?&neworder=1');
276     }
277}
278
[30]279# Replace default favorites by current set (super admin only)
280if (!empty($_POST['replace']) && $core->auth->isSuperAdmin()) {
281     try {
282          $ws = $core->auth->user_prefs->addWorkspace('favorites');
283          $user_favs = $ws->DumpLocalPrefs();
[34]284          $core->auth->user_prefs->favorites->dropAll(true);
[30]285          $count = 0;
286          foreach ($user_favs as $k => $v)
287          {
288               $uid = sprintf("g%03s",$count);
289               $f = unserialize($v['value']);
290               $fav = array('name' => $f['name'],'title' => $f['title'],'url' => $f['url'],'small-icon' => $f['small-icon'],
291                    'large-icon' => $f['large-icon'],'permissions' => $f['permissions'],'id' => $f['id'],'class' => $f['class']);
292               $core->auth->user_prefs->favorites->put($uid,serialize($fav),'string',null,null,true);
293               $count++;
294          }
295     } catch (Exception $e) {
296          $core->error->add($e->getMessage());
297     }
298
299     if (!$core->error->flag()) {
300          http::redirect('preferences.php?&replaced=1');
301     }
302}
[0]303
304/* DISPLAY
305-------------------------------------------------------- */
306dcPage::open($page_title,
307     dcPage::jsLoad('js/_preferences.js').
[240]308     ($user_acc_nodragdrop ? '' : dcPage::jsLoad('js/_preferences-dragdrop.js')).
[15]309     dcPage::jsLoad('js/jquery/jquery-ui-1.8.12.custom.min.js').
[3]310     dcPage::jsPageTabs($default_tab).
[0]311     dcPage::jsConfirmClose('user-form').
312     
313     # --BEHAVIOR-- adminPreferencesHeaders
314     $core->callBehavior('adminPreferencesHeaders')
315);
316
317if (!empty($_GET['upd'])) {
318          echo '<p class="message">'.__('Personal information has been successfully updated.').'</p>';
319}
[13]320if (!empty($_GET['updated'])) {
321          echo '<p class="message">'.__('Personal options has been successfully updated.').'</p>';
322}
[3]323if (!empty($_GET['append'])) {
324          echo '<p class="message">'.__('Favorites have been successfully added.').'</p>';
325}
326if (!empty($_GET['neworder'])) {
[82]327     echo '<p class="message">'.__('Favorites have been successfully updated.').'</p>';
[3]328}
329if (!empty($_GET['removed'])) {
330          echo '<p class="message">'.__('Favorites have been successfully removed.').'</p>';
331}
[30]332if (!empty($_GET['replaced'])) {
333          echo '<p class="message">'.__('Default favorites have been successfully updated.').'</p>';
334}
[3]335
[13]336echo '<h2>'.$page_title.'</h2>';
337
[3]338# User profile
339echo '<div class="multi-part" id="user-profile" title="'.__('My profile').'">';
[0]340
341echo
342'<form action="preferences.php" method="post" id="user-form">'.
[3]343'<fieldset><legend>'.__('My profile').'</legend>'.
[0]344'<div class="two-cols">'.
345'<div class="col">'.
[11]346'<p><label for="user_name">'.__('Last Name:').
[454]347form::field('user_name',20,255,html::escapeHTML($user_name)).'</label></p>'.
[0]348
[3]349'<p><label for="user_firstname">'.__('First Name:').
[454]350form::field('user_firstname',20,255,html::escapeHTML($user_firstname)).'</label></p>'.
[0]351
[3]352'<p><label for="user_displayname">'.__('Display name:').
[454]353form::field('user_displayname',20,255,html::escapeHTML($user_displayname)).'</label></p>'.
[0]354
[3]355'<p><label for="user_email">'.__('Email:').
[454]356form::field('user_email',20,255,html::escapeHTML($user_email)).'</label></p>'.
[0]357
[3]358'<p><label for="user_url">'.__('URL:').
[454]359form::field('user_url',30,255,html::escapeHTML($user_url)).'</label></p>'.
[0]360
361'</div>'.
362
363'<div class="col">'.
364
[3]365'<p><label for="user_lang">'.__('User language:').
[454]366form::combo('user_lang',$lang_combo,$user_lang,'l10n').'</label></p>'.
[0]367
[3]368'<p><label for="user_tz">'.__('User timezone:').
[454]369form::combo('user_tz',dt::getZones(true,true),$user_tz).'</label></p>'.
[0]370
371'</div>'.
372'</div>'.
373'<br class="clear" />'. //Opera sucks
374'</fieldset>';
375
376if ($core->auth->allowPassChange())
377{
378     echo
379     '<fieldset>'.
380     '<legend>'.__('Change your password').'</legend>'.
381     
[3]382     '<p><label for="new_pwd">'.__('New password:').
[454]383     form::password('new_pwd',20,255).'</label></p>'.
[0]384     
[3]385     '<p><label for="new_pwd_c">'.__('Confirm password:').
[454]386     form::password('new_pwd_c',20,255).'</label></p>'.
[0]387     '</fieldset>'.
388     
389     '<fieldset>'.
390     '<p>'.__('If you want to change your email or password you must provide your current password.').'</p>'.
[3]391     '<p><label for="cur_pwd">'.__('Your password:').
[454]392     form::password('cur_pwd',20,255).'</label></p>'.
[0]393     '</fieldset>';
394}
395
396echo
397'<p class="clear">'.
398$core->formNonce().
[454]399'<input type="submit" accesskey="s" value="'.__('Save').'" /></p>'.
[0]400'</form>';
401
[3]402echo '</div>';
403
404# User options : some from actual user profile, dashboard modules, ...
405echo '<div class="multi-part" id="user-options" title="'.__('My options').'">';
406
407echo
[114]408'<form action="preferences.php" method="post" id="opts-forms">'.
[3]409'<fieldset><legend>'.__('My options').'</legend>'.
410
411'<p><label for="user_post_format">'.__('Preferred format:').
[454]412form::combo('user_post_format',$formaters_combo,$user_options['post_format']).'</label></p>'.
[3]413
414'<p><label for="user_post_status">'.__('Default entry status:').
[454]415form::combo('user_post_status',$status_combo,$user_post_status).'</label></p>'.
[3]416
417'<p><label for="user_edit_size">'.__('Entry edit field height:').
[454]418form::field('user_edit_size',5,4,(integer) $user_options['edit_size']).'</label></p>'.
[3]419
420'<p><label for="user_wysiwyg" class="classic">'.
[454]421form::checkbox('user_wysiwyg',1,$user_options['enable_wysiwyg']).' '.
[3]422__('Enable WYSIWYG mode').'</label></p>'.
[240]423
424'<p><label for="user_ui_enhanceduploader" class="classic">'.
[454]425form::checkbox('user_ui_enhanceduploader',1,$user_ui_enhanceduploader).' '.
[244]426__('Activate enhanced uploader in media manager').'</label></p>';
[240]427
[244]428if ($core->auth->isSuperAdmin()) {
429     echo
430     '<p><label for="user_ui_hide_std_favicon" class="classic">'.
[454]431     form::checkbox('user_ui_hide_std_favicon',1,$user_ui_hide_std_favicon).' '.
[244]432     __('Do not use standard favicon').'</label></p>'.
433     '<p class="clear form-note info">'.__('This will be applied for all users').'</p>';
434}
435
436echo 
[3]437'<br class="clear" />'. //Opera sucks
438'</fieldset>';
439
[13]440echo
[160]441'<fieldset><legend>'.__('Accessibility options').'</legend>'.
442
[240]443'<p><label for="user_acc_nodragdrop" class="classic">'.
[454]444form::checkbox('user_acc_nodragdrop',1,$user_acc_nodragdrop).' '.
[160]445__('Disable javascript powered drag and drop for ordering items').'</label></p>'.
446
[190]447'<p class="clear form-note info">'.__('Numeric fields will allow to type the elements\' ordering number.').'</p>'.
[160]448'</fieldset>';
449
450echo
[13]451'<fieldset><legend>'.__('Dashboard modules').'</legend>'.
452
453'<p><label for="user_dm_doclinks" class="classic">'.
[454]454form::checkbox('user_dm_doclinks',1,$user_dm_doclinks).' '.
[13]455__('Display documentation links').'</label></p>'.
456
457'<p><label for="user_dm_dcnews" class="classic">'.
[454]458form::checkbox('user_dm_dcnews',1,$user_dm_dcnews).' '.
[13]459__('Display Dotclear news').'</label></p>'.
460
461'<p><label for="user_dm_quickentry" class="classic">'.
[454]462form::checkbox('user_dm_quickentry',1,$user_dm_quickentry).' '.
[13]463__('Display quick entry form').'</label></p>'.
464
465'<br class="clear" />'. //Opera sucks
466'</fieldset>';
467
[3]468# --BEHAVIOR-- adminPreferencesForm
469$core->callBehavior('adminPreferencesForm',$core);
470
471echo
472'<p class="clear">'.
473$core->formNonce().
[454]474'<input type="submit" accesskey="s" value="'.__('Save').'" /></p>'.
[3]475'</form>';
476
477echo '</div>';
478
479# User favorites
480echo '<div class="multi-part" id="user-favorites" title="'.__('My favorites').'">';
481$ws = $core->auth->user_prefs->addWorkspace('favorites');
482echo '<form action="preferences.php" method="post" id="favs-form">';
483echo '<div class="two-cols">';
484echo '<div class="col70">';
485echo '<fieldset id="my-favs"><legend>'.__('My favorites').'</legend>';
[32]486
[3]487$count = 0;
488foreach ($ws->dumpPrefs() as $k => $v) {
489     // User favorites only
490     if (!$v['global']) {
491          $fav = unserialize($v['value']);
492          if (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)) {
493               if ($count == 0) echo '<ul>';
494               $count++;
495               echo '<li id="fu-'.$k.'">'.
496                    '<img src="'.$fav['large-icon'].'" alt="" /> '.
[35]497                    form::field(array('order['.$k.']'),2,3,$count,'position','',false,'title="'.sprintf(__('position of %s'),$fav['title']).'"').
[114]498                    form::hidden(array('dynorder[]','dynorder-'.$k.''),$k).
[324]499                    '<label for="fuk-'.$k.'">'.form::checkbox(array('remove[]','fuk-'.$k),$k).__($fav['title']).'</label>'.
[3]500                    '</li>';
501          }
502     }
503}
504if ($count > 0) echo '</ul>';
505if ($count > 0) {
506     echo
507     '<div class="clear">'.
[82]508     '<p>'.form::hidden('favs_order','').
[3]509     $core->formNonce().
[114]510     '<input type="submit" name="saveorder" value="'.__('Save order').'" /> '.
511
512     '<input type="submit" class="delete" name="removeaction" '.
[3]513     'value="'.__('Delete selected favorites').'" '.
514     'onclick="return window.confirm(\''.html::escapeJS(
515          __('Are you sure you want to remove selected favorites?')).'\');" /></p>'.
[82]516
517     ($core->auth->isSuperAdmin() ? 
[114]518          '<hr />'.
519          '<p>'.__('If you are a super administrator, you may define this set of favorites to be used by default on all blogs of this installation:').'</p>'.
520          '<p><input class="reset" type="submit" name="replace" value="'.__('Define as default favorites').'" />' : 
521          '').
522          '</p>'.
[3]523     '</div>';
524} else {
525     echo
526     '<p>'.__('Currently no personal favorites.').'</p>';
527}
528
529echo '</fieldset>';
530
531echo '<div id="default-favs"><h3>'.__('Default favorites').'</h3>';
[133]532echo '<p class="form-note info clear">'.__('Those favorites are displayed when My Favorites list is empty.').'</p>';
[3]533$count = 0;
534foreach ($ws->dumpPrefs() as $k => $v) {
535     // Global favorites only
536     if ($v['global']) {
537          $fav = unserialize($v['value']);
538          if (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)) {
539               if ($count == 0) echo '<ul class="fav-list">';
540               $count++;
541               echo '<li id="fd-'.$k.'">'.
[324]542               '<img src="'.$fav['small-icon'].'" alt="" /> '.__($fav['title']).'</li>';
[3]543          }
544     }
545}   
546if ($count > 0) echo '</ul>';
547echo '</div>';
548echo '</div>';
549echo '<div class="col30" id="available-favs">';
550# Available favorites
551echo '<fieldset><legend>'.__('Available favorites').'</legend>';
552$count = 0;
553$array = $_fav;
554function cmp($a,$b) {
[371]555    if (__($a[1]) == __($b[1])) {
[3]556        return 0;
557    }
[371]558    return (__($a[1]) < __($b[1])) ? -1 : 1;
[3]559}
[162]560$array=$array->getArrayCopy();
561uasort($array,'cmp');
[3]562foreach ($array as $k => $fav) {
563     if (($fav[5] == '*') || $core->auth->check($fav[5],$core->blog->id)) {
564          if ($count == 0) echo '<ul class="fav-list">';
565          $count++;
566          echo '<li id="fa-'.$fav[0].'">'.'<label for="fak-'.$fav[0].'">'.
[11]567               form::checkbox(array('append[]','fak-'.$fav[0]),$k).
[324]568               '<img src="'.$fav[3].'" alt="" /> '.'<span class="zoom"><img src="'.$fav[4].'" alt="" /></span>'.
569               __($fav[1]).'</label>'.'</li>';
[3]570     }
571}   
572if ($count > 0) echo '</ul>';
573echo
574'<p>'.
575$core->formNonce().
[114]576'<input type="submit" name="appendaction" value="'.__('Add to my favorites').'" /></p>';
577echo '</fieldset>';
[3]578echo '</div>';
579echo '</div>'; # Two-cols
580echo '</form>';
581echo '</div>'; # user-favorites
582
[0]583dcPage::helpBlock('core_user_pref');
584dcPage::close();
[115]585?>
Note: See TracBrowser for help on using the repository browser.

Sites map