| [ Index ] |
|
Code source de Dotclear 2.0-beta6 |
1 <?php 2 # ***** BEGIN LICENSE BLOCK ***** 3 # This file is part of DotClear. 4 # Copyright (c) 2005 Olivier Meunier and contributors. All rights 5 # reserved. 6 # 7 # DotClear is free software; you can redistribute it and/or modify 8 # it under the terms of the GNU General Public License as published by 9 # the Free Software Foundation; either version 2 of the License, or 10 # (at your option) any later version. 11 # 12 # DotClear is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 # GNU General Public License for more details. 16 # 17 # You should have received a copy of the GNU General Public License 18 # along with DotClear; if not, write to the Free Software 19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 # 21 # ***** END LICENSE BLOCK ***** 22 23 require dirname(__FILE__).'/../inc/admin/prepend.php'; 24 25 dcPage::checkSuper(); 26 27 # Filters 28 $sortby_combo = array( 29 __('Blog ID') => 'B.blog_id', 30 __('Blog name') => 'blog_name' 31 ); 32 33 $order_combo = array( 34 __('Descending') => 'desc', 35 __('Ascending') => 'asc' 36 ); 37 38 $q = !empty($_GET['q']) ? $_GET['q'] : ''; 39 $sortby = !empty($_GET['sortby']) ? $_GET['sortby'] : 'blog_id'; 40 $order = !empty($_GET['order']) ? $_GET['order'] : 'asc'; 41 42 43 # Check users 44 if (!empty($_REQUEST['user_id']) && is_array($_REQUEST['user_id'])) 45 { 46 foreach ($_REQUEST['user_id'] as $u) 47 { 48 if ($core->userExists($u)) { 49 $users[] = $u; 50 } 51 } 52 } 53 54 if (empty($users)) 55 { 56 $core->error->add(__('No blog or user given.')); 57 } 58 else 59 { 60 $page = !empty($_GET['page']) ? $_GET['page'] : 1; 61 $nb_per_page = 30; 62 63 if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) { 64 $nb_per_page = $_GET['nb']; 65 } 66 67 $show_filters = false; 68 69 # - Search filter 70 if ($q) { 71 $params['q'] = $q; 72 $show_filters = true; 73 } 74 75 # - Sortby and order filter 76 if ($sortby !== '' && in_array($sortby,$sortby_combo)) { 77 if ($order !== '' && in_array($order,$order_combo)) { 78 $params['order'] = $sortby.' '.$order; 79 $show_filters = true; 80 } 81 } 82 83 $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 84 85 try { 86 $rs = $core->getBlogs($params); 87 $counter = $core->getBlogs($params,1); 88 $nb_blog = $counter->f(0); 89 } catch (Exception $e) { 90 $core->error->add($e->getMessage()); 91 } 92 } 93 94 /* DISPLAY 95 -------------------------------------------------------- */ 96 $starting_script = dcPage::jsLoad('js/_permissions_blog.js'); 97 if (!$show_filters) { 98 $starting_script .= dcPage::jsLoad('js/filter-controls.js'); 99 } 100 dcPage::open(__('choose a blog'),$starting_script); 101 102 echo '<h2><a href="users.php">'.__('Users').'</a> > '.__('Choose a blog').'</h2>'; 103 104 if (!$core->error->flag()) 105 { 106 $hidden_fields = ''; 107 foreach ($users as $u) { 108 $hidden_fields .= form::hidden(array('user_id[]'),$u); 109 } 110 111 if (!$show_filters) { 112 echo '<p><a id="filter-control" class="form-control" href="#">'.__('Filters').'</a></p>'; 113 } 114 115 echo 116 '<form action="permissions_blog.php" method="get" id="filters-form">'. 117 '<fieldset class="two-cols"><legend>'.__('Filters').'</legend>'. 118 119 '<div class="col">'. 120 '<p><label>'.__('Order by:').' '. 121 form::combo('sortby',$sortby_combo,html::escapeHTML($sortby)). 122 '</label> '. 123 '<label>'.__('Sort:').' '. 124 form::combo('order',$order_combo,html::escapeHTML($order)). 125 '</label></p>'. 126 '</div>'. 127 128 '<div class="col">'. 129 '<p><label>'.__('Search:').' '. 130 form::field('q',20,255,html::escapeHTML($q)). 131 '</label></p>'. 132 '<p><label class="classic">'. form::field('nb',3,3,$nb_per_page).' '. 133 __('Entries per page').'</label> '. 134 '<input type="submit" value="'.__('filter').'" />'. 135 $hidden_fields.'</p>'. 136 '</div>'. 137 138 '<br class="clear" />'. //Opera sucks 139 '</fieldset>'. 140 '</form>'; 141 142 echo 143 '<p>'. 144 sprintf(__('Choose one or more blogs to which you want to give permissions to users %s.'), 145 '<strong>'.implode(', ',$users).'</strong>').'</p>'; 146 147 # Show blogs 148 if ($nb_blog == 0) 149 { 150 echo '<p><strong>'.__('No blog').'</strong></p>'; 151 } 152 else 153 { 154 $pager = new pager($page,$nb_blog,$nb_per_page,10); 155 $pager->var_page = 'page'; 156 157 echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>'; 158 159 echo 160 '<form action="permissions.php" method="post" id="form-blogs">'. 161 '<table class="clear"><tr>'. 162 '<th colspan="2">'.__('Blog ID').'</th>'. 163 '<th>'.__('Blog name').'</th>'. 164 '<th class="nowrap">'.__('Entries').'</th>'. 165 '<th class="nowrap">'.__('Status').'</th>'. 166 '</tr>'; 167 168 while ($rs->fetch()) { 169 echo blogLine($rs); 170 } 171 172 echo 173 '</table>'. 174 175 '<p class="checkboxes-helpers"></p>'. 176 177 '<p><input type="submit" value="'.__('set permissions').'" />'. 178 $hidden_fields.'</p>'. 179 '</form>'; 180 181 echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>'; 182 } 183 } 184 185 dcPage::close(); 186 187 function blogLine(&$rs) 188 { 189 $img_status = $rs->blog_status == 1 ? 'check-on' : 'check-off'; 190 $txt_status = $GLOBALS['core']->getBlogStatus($rs->blog_status); 191 $img_status = sprintf('<img src="images/%1$s.png" alt="%2$s" title="%2$s" />',$img_status,$txt_status); 192 193 return 194 '<tr class="line">'. 195 '<td class="nowrap">'. 196 form::checkbox(array('blog_id[]'),$rs->blog_id).'</td>'. 197 '<td class="nowrap">'.$rs->blog_id.'</td>'. 198 '<td class="maximal">'.html::escapeHTML($rs->blog_name).'</td>'. 199 '<td class="nowrap">'.$rs->nb_post.'</td>'. 200 '<td class="status">'.$img_status.'</td>'. 201 '</tr>'; 202 } 203 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
| Généré le : Fri Feb 23 22:16:06 2007 | par Balluche grâce à PHPXref 0.7 |