Changeset 13:c7a0f4cc3aab
- Timestamp:
- 04/27/11 11:15:56 (14 years ago)
- Branch:
- userprefs
- Children:
- 14:123684795ed0, 15:85c31814ef71
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/index.php
r3 r13 43 43 $plugins_install = $core->plugins->installModules(); 44 44 45 # Check dashboard module prefs 46 $core->auth->user_prefs->addWorkspace('dashboard'); 47 if (!$core->auth->user_prefs->dashboard->prefExists('doclinks')) { 48 if (!$core->auth->user_prefs->dashboard->prefExists('doclinks',true)) { 49 $core->auth->user_prefs->dashboard->put('doclinks',true,'boolean','',null,true); 50 } 51 $core->auth->user_prefs->dashboard->put('doclinks',true,'boolean'); 52 } 53 if (!$core->auth->user_prefs->dashboard->prefExists('dcnews')) { 54 if (!$core->auth->user_prefs->dashboard->prefExists('dcnews',true)) { 55 $core->auth->user_prefs->dashboard->put('dcnews',true,'boolean','',null,true); 56 } 57 $core->auth->user_prefs->dashboard->put('dcnews',true,'boolean'); 58 } 59 if (!$core->auth->user_prefs->dashboard->prefExists('quickentry')) { 60 if (!$core->auth->user_prefs->dashboard->prefExists('quickentry',true)) { 61 $core->auth->user_prefs->dashboard->put('quickentry',true,'boolean','',null,true); 62 } 63 $core->auth->user_prefs->dashboard->put('quickentry',true,'boolean'); 64 } 65 45 66 # Dashboard icons 46 67 $__dashboard_icons = new ArrayObject(); … … 91 112 92 113 # Documentation links 93 if (!empty($__resources['doc'])) 94 { 95 $doc_links = '<h3>'.__('Documentation').'</h3><ul>'; 96 97 foreach ($__resources['doc'] as $k => $v) { 98 $doc_links .= '<li><a href="'.$v.'">'.$k.'</a></li>'; 99 } 100 101 $doc_links .= '</ul>'; 102 $__dashboard_items[0][] = $doc_links; 103 } 104 105 try 106 { 107 if (empty($__resources['rss_news'])) { 108 throw new Exception(); 109 } 110 111 $feed_reader = new feedReader; 112 $feed_reader->setCacheDir(DC_TPL_CACHE); 113 $feed_reader->setTimeout(2); 114 $feed_reader->setUserAgent('Dotclear - http://www.dotclear.org/'); 115 $feed = $feed_reader->parse($__resources['rss_news']); 116 if ($feed) 114 $dashboardItem = 0; 115 if ($core->auth->user_prefs->dashboard->doclinks) { 116 if (!empty($__resources['doc'])) 117 117 { 118 $latest_news = '<h3>'.__('Latest news').'</h3><dl id="news">'; 119 $i = 1; 120 foreach ($feed->items as $item) 118 $doc_links = '<h3>'.__('Documentation').'</h3><ul>'; 119 120 foreach ($__resources['doc'] as $k => $v) { 121 $doc_links .= '<li><a href="'.$v.'">'.$k.'</a></li>'; 122 } 123 124 $doc_links .= '</ul>'; 125 $__dashboard_items[$dashboardItem][] = $doc_links; 126 $dashboardItem++; 127 } 128 } 129 130 if ($core->auth->user_prefs->dashboard->dcnews) { 131 try 132 { 133 if (empty($__resources['rss_news'])) { 134 throw new Exception(); 135 } 136 137 $feed_reader = new feedReader; 138 $feed_reader->setCacheDir(DC_TPL_CACHE); 139 $feed_reader->setTimeout(2); 140 $feed_reader->setUserAgent('Dotclear - http://www.dotclear.org/'); 141 $feed = $feed_reader->parse($__resources['rss_news']); 142 if ($feed) 121 143 { 122 $dt = isset($item->link) ? '<a href="'.$item->link.'">'.$item->title.'</a>' : $item->title; 144 $latest_news = '<h3>'.__('Latest news').'</h3><dl id="news">'; 145 $i = 1; 146 foreach ($feed->items as $item) 147 { 148 $dt = isset($item->link) ? '<a href="'.$item->link.'">'.$item->title.'</a>' : $item->title; 123 149 124 if ($i < 3) { 125 $latest_news .= 126 '<dt>'.$dt.'</dt>'. 127 '<dd><p><strong>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</strong>: '. 128 '<em>'.text::cutString(html::clean($item->content),120).'...</em></p></dd>'; 129 } else { 130 $latest_news .= 131 '<dt>'.$dt.'</dt>'. 132 '<dd>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</dd>'; 150 if ($i < 3) { 151 $latest_news .= 152 '<dt>'.$dt.'</dt>'. 153 '<dd><p><strong>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</strong>: '. 154 '<em>'.text::cutString(html::clean($item->content),120).'...</em></p></dd>'; 155 } else { 156 $latest_news .= 157 '<dt>'.$dt.'</dt>'. 158 '<dd>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</dd>'; 159 } 160 $i++; 161 if ($i > 3) { break; } 133 162 } 134 $i++; 135 if ($i > 3) { break; } 136 } 137 $latest_news .= '</dl>'; 138 $__dashboard_items[1][] = $latest_news; 139 } 140 } 141 catch (Exception $e) {} 163 $latest_news .= '</dl>'; 164 $__dashboard_items[$dashboardItem][] = $latest_news; 165 $dashboardItem++; 166 } 167 } 168 catch (Exception $e) {} 169 } 142 170 143 171 $core->callBehavior('adminDashboardItems', $core, $__dashboard_items); … … 202 230 echo '</div>'; 203 231 204 if ($core->auth->check('usage,contentadmin',$core->blog->id)) 205 { 206 $categories_combo = array(' ' => ''); 207 try { 208 $categories = $core->blog->getCategories(array('post_type'=>'post')); 209 while ($categories->fetch()) { 210 $categories_combo[] = new formSelectOption( 211 str_repeat(' ',$categories->level-1).'• '.html::escapeHTML($categories->cat_title), 212 $categories->cat_id 213 ); 214 } 215 } catch (Exception $e) { } 216 217 echo 218 '<div id="quick">'. 219 '<h3>'.__('Quick entry').'</h3>'. 220 '<form id="quick-entry" action="post.php" method="post">'. 221 '<fieldset>'. 222 '<p class="col"><label class="required" title="'.__('Required field').'">'.__('Title:'). 223 form::field('post_title',20,255,'','maximal',2). 224 '</label></p>'. 225 '<p class="area"><label class="required" title="'.__('Required field').'" '. 226 'for="post_content">'.__('Content:').'</label> '. 227 form::textarea('post_content',50,7,'','',2). 228 '</p>'. 229 '<p><label class="classic">'.__('Category:').' '. 230 form::combo('cat_id',$categories_combo,'','',2).'</label></p>'. 231 '<p><input type="submit" value="'.__('save').'" name="save" tabindex="3" /> '. 232 ($core->auth->check('publish',$core->blog->id) 233 ? '<input type="hidden" value="'.__('save and publish').'" name="save-publish" />' 234 : ''). 235 $core->formNonce(). 236 form::hidden('post_status',-2). 237 form::hidden('post_format',$core->auth->getOption('post_format')). 238 form::hidden('post_excerpt',''). 239 form::hidden('post_lang',$core->auth->getInfo('user_lang')). 240 form::hidden('post_notes',''). 241 '</p>'. 242 '</fieldset>'. 243 '</form>'. 244 '</div>'; 232 if ($core->auth->user_prefs->dashboard->quickentry) { 233 if ($core->auth->check('usage,contentadmin',$core->blog->id)) 234 { 235 $categories_combo = array(' ' => ''); 236 try { 237 $categories = $core->blog->getCategories(array('post_type'=>'post')); 238 while ($categories->fetch()) { 239 $categories_combo[] = new formSelectOption( 240 str_repeat(' ',$categories->level-1).'• '.html::escapeHTML($categories->cat_title), 241 $categories->cat_id 242 ); 243 } 244 } catch (Exception $e) { } 245 246 echo 247 '<div id="quick">'. 248 '<h3>'.__('Quick entry').'</h3>'. 249 '<form id="quick-entry" action="post.php" method="post">'. 250 '<fieldset>'. 251 '<p class="col"><label class="required" title="'.__('Required field').'">'.__('Title:'). 252 form::field('post_title',20,255,'','maximal',2). 253 '</label></p>'. 254 '<p class="area"><label class="required" title="'.__('Required field').'" '. 255 'for="post_content">'.__('Content:').'</label> '. 256 form::textarea('post_content',50,7,'','',2). 257 '</p>'. 258 '<p><label class="classic">'.__('Category:').' '. 259 form::combo('cat_id',$categories_combo,'','',2).'</label></p>'. 260 '<p><input type="submit" value="'.__('save').'" name="save" tabindex="3" /> '. 261 ($core->auth->check('publish',$core->blog->id) 262 ? '<input type="hidden" value="'.__('save and publish').'" name="save-publish" />' 263 : ''). 264 $core->formNonce(). 265 form::hidden('post_status',-2). 266 form::hidden('post_format',$core->auth->getOption('post_format')). 267 form::hidden('post_excerpt',''). 268 form::hidden('post_lang',$core->auth->getInfo('user_lang')). 269 form::hidden('post_notes',''). 270 '</p>'. 271 '</fieldset>'. 272 '</form>'. 273 '</div>'; 274 } 245 275 } 246 276 -
admin/install/index.php
r3 r13 185 185 $core->plugins->loadModules(DC_PLUGINS_ROOT); 186 186 $plugins_install = $core->plugins->installModules(); 187 188 # Add dashboard module options 189 $core->auth->user_prefs->addWorkspace('dashboard'); 190 $core->auth->user_prefs->dashboard->put('doclinks',true,'boolean','',null,true); 191 $core->auth->user_prefs->dashboard->put('dcnews',true,'boolean','',null,true); 192 $core->auth->user_prefs->dashboard->put('quickentry',true,'boolean','',null,true); 187 193 188 194 # Add default favorites -
admin/preferences.php
r11 r13 28 28 $user_options = $core->auth->getOptions(); 29 29 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 30 35 $default_tab = 'user-profile'; 31 36 32 37 if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder'])) { 33 38 $default_tab = 'user-favorites'; 39 } elseif (!empty($_GET['updated'])) { 40 $default_tab = 'user-options'; 34 41 } 35 42 … … 69 76 $cur->user_lang = $user_lang = $_POST['user_lang']; 70 77 $cur->user_tz = $user_tz = $_POST['user_tz']; 71 $cur->user_post_status = $user_post_status = $_POST['user_post_status']; 72 73 $user_options['edit_size'] = (integer) $_POST['user_edit_size']; 74 if ($user_options['edit_size'] < 1) { 75 $user_options['edit_size'] = 10; 76 } 77 $user_options['post_format'] = $_POST['user_post_format']; 78 $user_options['enable_wysiwyg'] = !empty($_POST['user_wysiwyg']); 79 78 80 79 $cur->user_options = new ArrayObject($user_options); 81 80 … … 94 93 95 94 # --BEHAVIOR-- adminBeforeUserUpdate 96 $core->callBehavior('adminBeforeUser Update',$cur,$core->auth->userID());95 $core->callBehavior('adminBeforeUserProfileUpdate',$cur,$core->auth->userID()); 97 96 98 97 # Udate user … … 100 99 101 100 # --BEHAVIOR-- adminAfterUserUpdate 101 $core->callBehavior('adminAfterUserProfileUpdate',$cur,$core->auth->userID()); 102 103 http::redirect('preferences.php?upd=1'); 104 } 105 catch (Exception $e) 106 { 107 $core->error->add($e->getMessage()); 108 } 109 } 110 111 # Update user options 112 if (isset($_POST['user_post_format'])) { 113 try 114 { 115 $cur = $core->con->openCursor($core->prefix.'user'); 116 117 $cur->user_name = $user_name; 118 $cur->user_firstname = $user_firstname; 119 $cur->user_displayname = $user_displayname; 120 $cur->user_email = $user_email; 121 $cur->user_url = $user_url; 122 $cur->user_lang = $user_lang; 123 $cur->user_tz = $user_tz; 124 125 $cur->user_post_status = $user_post_status = $_POST['user_post_status']; 126 127 $user_options['edit_size'] = (integer) $_POST['user_edit_size']; 128 if ($user_options['edit_size'] < 1) { 129 $user_options['edit_size'] = 10; 130 } 131 $user_options['post_format'] = $_POST['user_post_format']; 132 $user_options['enable_wysiwyg'] = !empty($_POST['user_wysiwyg']); 133 134 $cur->user_options = new ArrayObject($user_options); 135 136 # --BEHAVIOR-- adminBeforeUserUpdate 137 $core->callBehavior('adminBeforeUserUpdate',$cur,$core->auth->userID()); 138 139 # Update user prefs 140 $core->auth->user_prefs->dashboard->put('doclinks',!empty($_POST['user_dm_doclinks']),'boolean'); 141 $core->auth->user_prefs->dashboard->put('dcnews',!empty($_POST['user_dm_dcnews']),'boolean'); 142 $core->auth->user_prefs->dashboard->put('quickentry',!empty($_POST['user_dm_quickentry']),'boolean'); 143 144 # Udate user 145 $core->updUser($core->auth->userID(),$cur); 146 147 # --BEHAVIOR-- adminAfterUserUpdate 102 148 $core->callBehavior('adminAfterUserUpdate',$cur,$core->auth->userID()); 103 149 104 http::redirect('preferences.php?upd =1');150 http::redirect('preferences.php?updated=1'); 105 151 } 106 152 catch (Exception $e) … … 233 279 echo '<p class="message">'.__('Personal information has been successfully updated.').'</p>'; 234 280 } 235 236 echo '<h2>'.$page_title.'</h2>';237 281 if (!empty($_GET['updated'])) { 282 echo '<p class="message">'.__('Personal options has been successfully updated.').'</p>'; 283 } 238 284 if (!empty($_GET['append'])) { 239 285 echo '<p class="message">'.__('Favorites have been successfully added.').'</p>'; … … 245 291 echo '<p class="message">'.__('Favorites have been successfully removed.').'</p>'; 246 292 } 293 294 echo '<h2>'.$page_title.'</h2>'; 247 295 248 296 # User profile … … 316 364 317 365 echo 318 '<form action="preferences.php" method="post" id="user- form">'.366 '<form action="preferences.php" method="post" id="user-options">'. 319 367 '<fieldset><legend>'.__('My options').'</legend>'. 320 368 … … 331 379 form::checkbox('user_wysiwyg',1,$user_options['enable_wysiwyg'],'',12).' '. 332 380 __('Enable WYSIWYG mode').'</label></p>'. 381 '<br class="clear" />'. //Opera sucks 382 '</fieldset>'; 383 384 echo 385 '<fieldset><legend>'.__('Dashboard modules').'</legend>'. 386 387 '<p><label for="user_dm_doclinks" class="classic">'. 388 form::checkbox('user_dm_doclinks',1,$user_dm_doclinks,'',13).' '. 389 __('Display documentation links').'</label></p>'. 390 391 '<p><label for="user_dm_dcnews" class="classic">'. 392 form::checkbox('user_dm_dcnews',1,$user_dm_dcnews,'',14).' '. 393 __('Display Dotclear news').'</label></p>'. 394 395 '<p><label for="user_dm_quickentry" class="classic">'. 396 form::checkbox('user_dm_quickentry',1,$user_dm_quickentry,'',15).' '. 397 __('Display quick entry form').'</label></p>'. 398 333 399 '<br class="clear" />'. //Opera sucks 334 400 '</fieldset>'; -
inc/core/class.dc.workspace.php
r3 r13 103 103 } 104 104 105 p rivatefunction prefExists($id,$global=false)105 public function prefExists($id,$global=false) 106 106 { 107 107 $array = $global ? 'global' : 'local'; -
locales/fr/main.po
r11 r13 2704 2704 msgid "Favorites has been successfully updated." 2705 2705 msgstr "Les favoris ont été mis à jour avec succès." 2706 2707 msgid "Personal options has been successfully updated." 2708 msgstr "Vos options personnelles ont été enregistrées avec succès."
Note: See TracChangeset
for help on using the changeset viewer.