Changeset 45:282249d3b55d for admin/index.php
- Timestamp:
- 04/29/11 10:06:34 (13 years ago)
- Branch:
- userprefs
- Parents:
- 39:859596664e23 (diff), 37:89b90dfd3913 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/index.php
r0 r45 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(); 47 68 69 # Dashboard favorites 48 70 $post_count = $core->blog->getPosts(array(),true)->f(0); 49 71 $str_entries = ($post_count > 1) ? __('%d entries') : __('%d entry'); … … 52 74 $str_comments = ($comment_count > 1) ? __('%d comments') : __('%d comment'); 53 75 54 $__dashboard_icons['new_post'] = new ArrayObject(array(__('New entry'),'post.php','images/menu/edit-b.png')); 55 $__dashboard_icons['posts'] = new ArrayObject(array(sprintf($str_entries,$post_count),'posts.php','images/menu/entries-b.png')); 56 $__dashboard_icons['comments'] = new ArrayObject(array(sprintf($str_comments,$comment_count),'comments.php','images/menu/comments-b.png')); 57 $__dashboard_icons['prefs'] = new ArrayObject(array(__('User preferences'),'preferences.php','images/menu/user-pref-b.png')); 58 59 if ($core->auth->check('admin',$core->blog->id)) 60 { 61 $__dashboard_icons['blog_pref'] = new ArrayObject(array(__('Blog settings'),'blog_pref.php','images/menu/blog-pref-b.png')); 62 $__dashboard_icons['blog_theme'] = new ArrayObject(array(__('Blog appearance'),'blog_theme.php','images/menu/blog-theme-b.png')); 63 } 64 65 $core->callBehavior('adminDashboardIcons', $core, $__dashboard_icons); 66 76 $ws = $core->auth->user_prefs->addWorkspace('favorites'); 77 $count = 0; 78 foreach ($ws->dumpPrefs() as $k => $v) { 79 // User favorites only 80 if (!$v['global']) { 81 $fav = unserialize($v['value']); 82 if (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)) { 83 $count++; 84 $title = ($fav['name'] == 'posts' ? sprintf($str_entries,$post_count) : 85 ($fav['name'] == 'comments' ? sprintf($str_comments,$comment_count) : $fav['title'])); 86 $__dashboard_icons[$fav['name']] = new ArrayObject(array($title,$fav['url'],$fav['large-icon'])); 87 } 88 } 89 } 90 if (!$count) { 91 // Global favorites if any 92 foreach ($ws->dumpPrefs() as $k => $v) { 93 $fav = unserialize($v['value']); 94 if (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)) { 95 $count++; 96 $title = ($fav['name'] == 'posts' ? sprintf($str_entries,$post_count) : 97 ($fav['name'] == 'comments' ? sprintf($str_comments,$comment_count) : $fav['title'])); 98 $__dashboard_icons[$fav['name']] = new ArrayObject(array($title,$fav['url'],$fav['large-icon'])); 99 } 100 } 101 } 102 if (!$count) { 103 // No user or global favorites, add "user pref" and "new entry" fav 104 if ($core->auth->check('usage,contentadmin',$core->blog->id)) { 105 $__dashboard_icons['new_post'] = new ArrayObject(array(__('New entry'),'post.php','images/menu/edit-b.png')); 106 } 107 $__dashboard_icons['prefs'] = new ArrayObject(array(__('My preferences'),'preferences.php','images/menu/user-pref-b.png')); 108 } 67 109 68 110 # Latest news for dashboard … … 70 112 71 113 # Documentation links 72 if (!empty($__resources['doc'])) 73 { 74 $doc_links = '<h3>'.__('Documentation').'</h3><ul>'; 75 76 foreach ($__resources['doc'] as $k => $v) { 77 $doc_links .= '<li><a href="'.$v.'">'.$k.'</a></li>'; 78 } 79 80 $doc_links .= '</ul>'; 81 $__dashboard_items[0][] = $doc_links; 82 } 83 84 try 85 { 86 if (empty($__resources['rss_news'])) { 87 throw new Exception(); 88 } 89 90 $feed_reader = new feedReader; 91 $feed_reader->setCacheDir(DC_TPL_CACHE); 92 $feed_reader->setTimeout(2); 93 $feed_reader->setUserAgent('Dotclear - http://www.dotclear.org/'); 94 $feed = $feed_reader->parse($__resources['rss_news']); 95 if ($feed) 114 $dashboardItem = 0; 115 if ($core->auth->user_prefs->dashboard->doclinks) { 116 if (!empty($__resources['doc'])) 96 117 { 97 $latest_news = '<h3>'.__('Latest news').'</h3><dl id="news">'; 98 $i = 1; 99 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) 100 143 { 101 $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; 102 149 103 if ($i < 3) { 104 $latest_news .= 105 '<dt>'.$dt.'</dt>'. 106 '<dd><p><strong>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</strong>: '. 107 '<em>'.text::cutString(html::clean($item->content),120).'...</em></p></dd>'; 108 } else { 109 $latest_news .= 110 '<dt>'.$dt.'</dt>'. 111 '<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; } 112 162 } 113 $i++; 114 if ($i > 7) { break; } 115 } 116 $latest_news .= '</dl>'; 117 $__dashboard_items[1][] = $latest_news; 118 } 119 } 120 catch (Exception $e) {} 163 $latest_news .= '</dl>'; 164 $__dashboard_items[$dashboardItem][] = $latest_news; 165 $dashboardItem++; 166 } 167 } 168 catch (Exception $e) {} 169 } 121 170 122 171 $core->callBehavior('adminDashboardItems', $core, $__dashboard_items); … … 181 230 echo '</div>'; 182 231 183 if ($core->auth->check('usage,contentadmin',$core->blog->id)) 184 { 185 $categories_combo = array(' ' => ''); 186 try { 187 $categories = $core->blog->getCategories(array('post_type'=>'post')); 188 while ($categories->fetch()) { 189 $categories_combo[] = new formSelectOption( 190 str_repeat(' ',$categories->level-1).'• '.html::escapeHTML($categories->cat_title), 191 $categories->cat_id 192 ); 193 } 194 } catch (Exception $e) { } 195 196 echo 197 '<div id="quick">'. 198 '<h3>'.__('Quick entry').'</h3>'. 199 '<form id="quick-entry" action="post.php" method="post">'. 200 '<fieldset>'. 201 '<p class="col"><label class="required" title="'.__('Required field').'">'.__('Title:'). 202 form::field('post_title',20,255,'','maximal',2). 203 '</label></p>'. 204 '<p class="area"><label class="required" title="'.__('Required field').'" '. 205 'for="post_content">'.__('Content:').'</label> '. 206 form::textarea('post_content',50,7,'','',2). 207 '</p>'. 208 '<p><label class="classic">'.__('Category:').' '. 209 form::combo('cat_id',$categories_combo,'','',2).'</label></p>'. 210 '<p><input type="submit" value="'.__('save').'" name="save" tabindex="3" /> '. 211 ($core->auth->check('publish',$core->blog->id) 212 ? '<input type="hidden" value="'.__('save and publish').'" name="save-publish" />' 213 : ''). 214 $core->formNonce(). 215 form::hidden('post_status',-2). 216 form::hidden('post_format',$core->auth->getOption('post_format')). 217 form::hidden('post_excerpt',''). 218 form::hidden('post_lang',$core->auth->getInfo('user_lang')). 219 form::hidden('post_notes',''). 220 '</p>'. 221 '</fieldset>'. 222 '</form>'. 223 '</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 for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 252 form::field('post_title',20,255,'','maximal',2). 253 '</label></p>'. 254 '<p class="area"><label class="required" '. 255 'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 256 form::textarea('post_content',50,7,'','',2). 257 '</p>'. 258 '<p><label for="cat_id" 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 } 224 275 } 225 276 -
admin/index.php
r13 r45 249 249 '<form id="quick-entry" action="post.php" method="post">'. 250 250 '<fieldset>'. 251 '<p class="col"><label class="required" title="'.__('Required field').'">'.__('Title:').251 '<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 252 252 form::field('post_title',20,255,'','maximal',2). 253 253 '</label></p>'. 254 '<p class="area"><label class="required" title="'.__('Required field').'"'.255 'for="post_content"> '.__('Content:').'</label> '.254 '<p class="area"><label class="required" '. 255 'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 256 256 form::textarea('post_content',50,7,'','',2). 257 257 '</p>'. 258 '<p><label class="classic">'.__('Category:').' '.258 '<p><label for="cat_id" class="classic">'.__('Category:').' '. 259 259 form::combo('cat_id',$categories_combo,'','',2).'</label></p>'. 260 260 '<p><input type="submit" value="'.__('save').'" name="save" tabindex="3" /> '.
Note: See TracChangeset
for help on using the changeset viewer.