[ Index ]
 

Code source de b2evolution 2.1.0-beta

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/blogs/inc/collections/views/ -> _coll_user_perm.form.php (source)

   1  <?php
   2  /**

   3   * This file implements the UI view (+more :/) for the blogs permission management.

   4   *

   5   * b2evolution - {@link http://b2evolution.net/}

   6   * Released under GNU GPL License - {@link http://b2evolution.net/about/license.html}

   7   * @copyright (c)2003-2007 by Francois PLANQUE - {@link http://fplanque.net/}

   8   *

   9   * @package admin

  10   *

  11   * @todo move user rights queries to object (fplanque)

  12   *

  13   * @version $Id: _coll_user_perm.form.php,v 1.1 2007/06/25 10:59:38 fplanque Exp $

  14   */
  15  if( !defined('EVO_MAIN_INIT') ) die( 'Please, do not access this page directly.' );
  16  
  17  /**

  18   * @var Blog

  19   */
  20  global $edited_Blog;
  21  /**

  22   * @var User

  23   */
  24  global $current_User;
  25  
  26  global $debug;
  27  global $UserSettings;
  28  global $rsc_url, $htsrv_url;
  29  
  30  global $Blog, $permission_to_change_admin;
  31  
  32  $permission_to_change_admin = $current_User->check_perm( 'blog_admin', 'edit', false, $Blog->ID );
  33  
  34  $layout = $UserSettings->param_Request( 'layout', 'blogperms_layout', 'string', 'default' );  // table layout mode

  35  
  36  $layout = $UserSettings->param_Request( 'layout', 'blogperms_layout', 'string', $debug ? 'all' : 'default' );  // table layout mode

  37  
  38  
  39  // Javascript:

  40  echo '
  41  <script type="text/javascript">var htsrv_url = "'.$htsrv_url.'";</script>
  42  <script type="text/javascript" src="'.$rsc_url.'js/collectionperms.js"></script>';
  43  
  44  $Form = & new Form( NULL, 'blogperm_checkchanges', 'post', 'fieldset' );
  45  
  46  $Form->begin_form( 'fform' );
  47  
  48  $Form->hidden_ctrl();
  49  $Form->hidden( 'tab', 'perm' );
  50  $Form->hidden( 'blog', $edited_Blog->ID );
  51  $Form->hidden( 'layout', $layout );
  52  
  53  $Form->begin_fieldset( T_('User permissions') );
  54  
  55  
  56  /*

  57   * Query user list:

  58   */
  59  if( get_param('action') == 'filter2' )
  60  {
  61      $keywords = param( 'keywords2', 'string', '', true );
  62      set_param( 'keywords1', $keywords );
  63  }
  64  else
  65  {
  66      $keywords = param( 'keywords1', 'string', '', true );
  67      set_param( 'keywords2', $keywords );
  68  }
  69  
  70  $where_clause = '';
  71  
  72  if( !empty( $keywords ) )
  73  {
  74      $kw_array = split( ' ', $keywords );
  75      foreach( $kw_array as $kw )
  76      {
  77          $where_clause .= 'CONCAT( user_login, \' \', user_firstname, \' \', user_lastname, \' \', user_nickname, \' \', user_email) LIKE "%'.$DB->escape($kw).'%" AND ';
  78      }
  79  }
  80  
  81  $sql = 'SELECT user_ID, user_login, user_level, bloguser_perm_poststatuses, bloguser_perm_edit, bloguser_ismember,
  82                                                      bloguser_perm_comments, bloguser_perm_delpost, bloguser_perm_cats,
  83                                                      bloguser_perm_properties, bloguser_perm_admin, bloguser_perm_media_upload,
  84                                                      bloguser_perm_media_browse, bloguser_perm_media_change
  85                      FROM T_users LEFT JOIN T_coll_user_perms ON (
  86                                           user_ID = bloguser_user_ID
  87                                          AND bloguser_blog_ID = '.$edited_Blog->ID.' )
  88                   WHERE '.$where_clause.' 1
  89                   ORDER BY bloguser_ismember DESC, *, user_login, user_ID';
  90  
  91  
  92  
  93  // Display layout selector:

  94  // TODO: cancel event in switch layout (or it will trigger bozo validator)

  95  echo '<div style="float:right">';
  96      echo T_('Layout').': ';
  97      echo '[<a href="?ctrl=coll_settings&amp;action=edit&amp;tab=perm&amp;blog='.$edited_Blog->ID.'&amp;layout=default"
  98                      onclick="blogperms_switch_layout(\'default\'); return false;">'.T_('Simple').'</a>] ';
  99  
 100      echo '[<a href="?ctrl=coll_settings&amp;action=edit&amp;tab=perm&amp;blog='.$edited_Blog->ID.'&amp;layout=wide"
 101                      onclick="blogperms_switch_layout(\'wide\'); return false;">'.T_('Advanced').'</a>] ';
 102  
 103      if( $debug )
 104      {    // Debug mode = both modes are displayed:
 105          echo '[<a href="?ctrl=coll_settings&amp;action=edit&amp;tab=perm&amp;blog='.$edited_Blog->ID.'&amp;layout=all"
 106                          onclick="blogperms_switch_layout(\'all\'); return false;">Debug</a>] ';
 107      }
 108  echo '</div>';
 109  // Display wide layout:

 110  ?>
 111  
 112  <div id="userlist_wide" class="clear" style="<?php
 113      echo 'display:'.( ($layout == 'wide' || $layout == 'all' ) ? 'block' : 'none' ) ?>">
 114  
 115  <?php
 116  
 117  
 118  $Results = & new Results( $sql, 'colluser_' );
 119  
 120  // Tell the Results class that we already have a form for this page:

 121  $Results->Form = & $Form;
 122  
 123  
 124  $Results->title = T_('User permissions');
 125  
 126  
 127  
 128  /**

 129   * Callback to add filters on top of the result set

 130   *

 131   * @param Form

 132   */
 133  function filter_colluserlist( & $Form )
 134  {
 135      static $count = 0;
 136  
 137      $count++;
 138      $Form->switch_layout( 'blockspan' );
 139      // TODO: javascript update other input fields (for other layouts):

 140      $Form->text( 'keywords'.$count, get_param('keywords'.$count), 20, T_('Keywords'), T_('Separate with space'), 50 );
 141      $Form->switch_layout( NULL ); // Restor previously saved

 142  }
 143  $Results->filter_area = array(
 144      'submit' => 'actionArray[filter1]',
 145      'callback' => 'filter_colluserlist',
 146      'url_ignore' => 'results_colluser_page,keywords1,keywords2',
 147      'presets' => array(
 148          'all' => array( T_('All users'), regenerate_url( 'action,results_colluser_page,keywords1,keywords2', 'action=edit' ) ),
 149          )
 150      );
 151  
 152  
 153  
 154  /*

 155   * Grouping params:

 156   */
 157  $Results->group_by = 'bloguser_ismember';
 158  $Results->ID_col = 'user_ID';
 159  
 160  
 161  /*

 162   * Group columns:

 163   */
 164  $Results->grp_cols[] = array(
 165                          'td_colspan' => 0,  // nb_cols
 166                          'td' => '¤conditional( #bloguser_ismember#, \''.TS_('Members').'\', \''.TS_('Non members').'\' )¤',
 167                      );
 168  
 169  
 170  /*

 171   * Colmun definitions:

 172   */
 173  $Results->cols[] = array(
 174                          'th' => T_('Login'),
 175                          'order' => 'user_login',
 176                          'td' => '<a href="?ctrl=users&amp;user_ID=$user_ID$">$user_login$</a>',
 177                      );
 178  
 179  $Results->cols[] = array(
 180                          'th' => /* TRANS: User Level */ T_('L'),
 181                          'order' => 'user_level',
 182                          'td' => '$user_level$',
 183                          'td_class' => 'center',
 184                      );
 185  
 186  
 187  function coll_perm_checkbox( $row, $perm, $title, $id = NULL )
 188  {
 189      global $permission_to_change_admin;
 190  
 191       $r = '<input type="checkbox"';
 192      if( !empty($id) )
 193      {
 194          $r .= ' id="'.$id.'"';
 195      }
 196      $r .= ' name="blog_'.$perm.'_'.$row->user_ID.'"';
 197      if( !empty( $row->{'bloguser_'.$perm} ) )
 198      {
 199           $r .= ' checked="checked"';
 200      }
 201      if( ! $permission_to_change_admin
 202              && ($row->bloguser_perm_admin || $perm == 'perm_admin' ) )
 203      { // No permission to touch nOR create admins
 204           $r .= ' disabled="disabled"';
 205      }
 206      $r .= ' onclick="merge_from_wide( this, '.$row->user_ID.' );" class="checkbox"
 207                              value="1" title="'.$title.'" />';
 208      return $r;
 209  }
 210  
 211  function coll_perm_status_checkbox( $row, $perm_status, $title )
 212  {
 213      global $permission_to_change_admin;
 214  
 215      if( ! isset( $row->statuses_array ) )
 216      {    // NOTE: we are writing directly into the DB result array here, it's a little harsh :/
 217          // TODO: make all these perms booleans in the DB:

 218          $row->statuses_array = isset($row->bloguser_perm_poststatuses)
 219                                              ? explode( ',', $row->bloguser_perm_poststatuses )
 220                                              : array();
 221      }
 222  
 223      // pre_dump($row->statuses_array);

 224  
 225      $r = '<input type="checkbox"';
 226      if( !empty($id) )
 227      {
 228          $r .= ' id="'.$id.'"';
 229      }
 230      $r .= ' name="blog_perm_'.$perm_status.'_'.$row->user_ID.'"';
 231      if( in_array($perm_status, $row->statuses_array) )
 232      {
 233           $r .= ' checked="checked"';
 234      }
 235      if( ! $permission_to_change_admin && $row->bloguser_perm_admin )
 236      {
 237           $r .= ' disabled="disabled"';
 238      }
 239      $r .= ' onclick="merge_from_wide( this, '.$row->user_ID.' );" class="checkbox"
 240                              value="1" title="'.$title.'" />';
 241      return $r;
 242  }
 243  
 244  $Results->cols[] = array(
 245                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Is<br />member'),
 246                          'th_class' => 'checkright',
 247                          'td' => '%coll_perm_checkbox( {row}, \'ismember\', \''.TS_('Permission to read protected posts').'\', \'checkallspan_state_$user_ID$\' )%',
 248                          'td_class' => 'center',
 249                      );
 250  
 251  $Results->cols[] = array(
 252                          'th_group' => /* TRANS: SHORT table header on TWO lines */ T_('Can post/edit with following statuses:'),
 253                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Publ'),
 254                          'th_class' => 'checkright',
 255                          'td' => '%coll_perm_status_checkbox( {row}, \'published\', \''.TS_('Permission to read protected posts').'\' )%',
 256                          'td_class' => 'center',
 257                      );
 258  $Results->cols[] = array(
 259                          'th_group' => /* TRANS: SHORT table header on TWO lines */ T_('Can post/edit with following statuses:'),
 260                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Prot'),
 261                          'th_class' => 'checkright',
 262                          'td' => '%coll_perm_status_checkbox( {row}, \'protected\', \''.TS_('Permission to post into this blog with protected status').'\' )%',
 263                          'td_class' => 'center',
 264                      );
 265  $Results->cols[] = array(
 266                          'th_group' => /* TRANS: SHORT table header on TWO lines */ T_('Can post/edit with following statuses:'),
 267                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Priv'),
 268                          'th_class' => 'checkright',
 269                          'td' => '%coll_perm_status_checkbox( {row}, \'private\', \''.TS_('Permission to post into this blog with private status').'\' )%',
 270                          'td_class' => 'center',
 271                      );
 272  $Results->cols[] = array(
 273                          'th_group' => /* TRANS: SHORT table header on TWO lines */ T_('Can post/edit with following statuses:'),
 274                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Drft'),
 275                          'th_class' => 'checkright',
 276                          'td' => '%coll_perm_status_checkbox( {row}, \'draft\', \''.TS_('Permission to post into this blog with draft status').'\' )%',
 277                          'td_class' => 'center',
 278                      );
 279  $Results->cols[] = array(
 280                          'th_group' => /* TRANS: SHORT table header on TWO lines */ T_('Can post/edit with following statuses:'),
 281                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Depr'),
 282                          'th_class' => 'checkright',
 283                          'td' => '%coll_perm_status_checkbox( {row}, \'deprecated\', \''.TS_('Permission to post into this blog with deprecated status').'\' )%',
 284                          'td_class' => 'center',
 285                      );
 286  
 287  $Results->cols[] = array(
 288                          'th_group' => /* TRANS: SHORT table header on TWO lines */ T_('Can post/edit with following statuses:'),
 289                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Redr'),
 290                          'th_class' => 'checkright',
 291                          'td' => '%coll_perm_status_checkbox( {row}, \'redirected\', \''.TS_('Permission to post into this blog with redirected status').'\' )%',
 292                          'td_class' => 'center',
 293                      );
 294  
 295  function coll_perm_edit( $row )
 296  {
 297      global $permission_to_change_admin;
 298  
 299      $r = '<select id="blog_perm_edit_'.$row->user_ID.'" name="blog_perm_edit_'.$row->user_ID.'"
 300                      onclick="merge_from_wide( this, '.$row->user_ID.' );"';
 301      if( ! $permission_to_change_admin && $row->bloguser_perm_admin )
 302      {
 303           $r .= ' disabled="disabled"';
 304      }
 305      $r .= ' >';
 306      $r .= '<option value="no" '.( $row->bloguser_perm_edit == 'no' ? 'selected="selected"' : '' ).'>No editing</option>';
 307      $r .= '<option value="own" '.( $row->bloguser_perm_edit == 'own' ? 'selected="selected"' : '' ).'>Own posts</option>';
 308      $r .= '<option value="lt" '.( $row->bloguser_perm_edit == 'lt' ? 'selected="selected"' : '' ).'>&lt; own level</option>';
 309      $r .= '<option value="le" '.( $row->bloguser_perm_edit == 'le' ? 'selected="selected"' : '' ).'>&le; own level</option>';
 310      $r .= '<option value="all" '.( $row->bloguser_perm_edit == 'all' ? 'selected="selected"' : '' ).'>All posts</option>';
 311      $r .= '</select>';
 312      return $r;
 313  }
 314  $Results->cols[] = array(
 315                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Edit posts<br />/user level'),
 316                          'th_class' => 'checkright',
 317                          'default_dir' => 'D',
 318                          'td' => '%coll_perm_edit( {row} )%',
 319                          'td_class' => 'center',
 320                      );
 321  
 322  $Results->cols[] = array(
 323                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Delete<br />posts'),
 324                          'th_class' => 'checkright',
 325                          'order' => 'bloguser_perm_delpost',
 326                          'default_dir' => 'D',
 327                          'td' => '%coll_perm_checkbox( {row}, \'perm_delpost\', \''.TS_('Permission to delete posts in this blog').'\' )%',
 328                          'td_class' => 'center',
 329                      );
 330  
 331  $Results->cols[] = array(
 332                          'th' => /* TRANS: SHORT table header on TWO lines */ T_('Edit<br />comts'),
 333                          'th_class' => 'checkright',
 334                          'order' => 'bloguser_perm_comments',
 335                          'default_dir' => 'D',
 336                          'td' => '%coll_perm_checkbox( {row}, \'perm_comments\', \''.TS_('Permission to edit comments in this blog').'\' )%',
 337                          'td_class' => 'center',
 338                      );
 339  
 340  $Results->cols[] = array(
 341                          'th_group' => T_('Edit blog settings'),
 342                          'th' => T_('Cats'),
 343                          'th_class' => 'checkright',
 344                          'order' => 'bloguser_perm_cats',
 345                          'default_dir' => 'D',
 346                          'td' => '%coll_perm_checkbox( {row}, \'perm_cats\', \''.TS_('Permission to edit categories for this blog').'\' )%',
 347                          'td_class' => 'center',
 348                      );
 349  
 350  $Results->cols[] = array(
 351                          'th_group' => T_('Edit blog settings'),
 352                          'th' => /* TRANS: Short for blog features */  T_('Feat.'),
 353                          'th_class' => 'checkright',
 354                          'order' => 'bloguser_perm_properties',
 355                          'default_dir' => 'D',
 356                          'td' => '%coll_perm_checkbox( {row}, \'perm_properties\', \''.TS_('Permission to edit blog features').'\' )%',
 357                          'td_class' => 'center',
 358                      );
 359  
 360  $Results->cols[] = array(
 361                          'th_group' => T_('Edit blog settings'),
 362                          'th' => /* TRANS: Short for advanced */  T_('Adv.'),
 363                          'th_class' => 'checkright',
 364                          'order' => 'bloguser_perm_admin',
 365                          'default_dir' => 'D',
 366                          'td' => '%coll_perm_checkbox( {row}, \'perm_admin\', \''.TS_('Permission to edit advanced/administrative blog properties').'\' )%',
 367                          'td_class' => 'center',
 368                      );
 369  
 370  // Media Directory:

 371  $Results->cols[] = array(
 372                          'th_group' => T_('Media directory'),
 373                          'th' => T_('Upload'),
 374                          'th_class' => 'checkright',
 375                          'order' => 'bloguser_perm_media_upload',
 376                          'default_dir' => 'D',
 377                          'td' => '%coll_perm_checkbox( {row}, \'perm_media_upload\', \''.TS_('Permission to upload into blog\'s media folder').'\' )%',
 378                          'td_class' => 'center',
 379                      );
 380  $Results->cols[] = array(
 381                          'th_group' => T_('Media directory'),
 382                          'th' => T_('Read'),
 383                          'th_class' => 'checkright',
 384                          'order' => 'bloguser_perm_media_browse',
 385                          'default_dir' => 'D',
 386                          'td' => '%coll_perm_checkbox( {row}, \'perm_media_browse\', \''.TS_('Permission to browse blog\'s media folder').'\' )%',
 387                          'td_class' => 'center',
 388                      );
 389  $Results->cols[] = array(
 390                          'th_group' => /* TRANS: SHORT table header on TWO lines */ T_('Media directory'),
 391                          'th' => T_('Write'),
 392                          'th_class' => 'checkright',
 393                          'order' => 'bloguser_perm_media_change',
 394                          'default_dir' => 'D',
 395                          'td' => '%coll_perm_checkbox( {row}, \'perm_media_change\', \''.TS_('Permission to change the blog\'s media folder content').'\' )%',
 396                          'td_class' => 'center',
 397                      );
 398  
 399  function perm_check_all( $row )
 400  {
 401      global $permission_to_change_admin;
 402  
 403      if( ! $permission_to_change_admin && $row->bloguser_perm_admin )
 404      {
 405           return '&nbsp;';
 406      }
 407  
 408      return '<a href="javascript:toggleall_wide(document.getElementById(\'blogperm_checkchanges\'), '.$row->user_ID.' );merge_from_wide( document.getElementById(\'blogperm_checkchanges\'), '.$row->user_ID.' ); setcheckallspan('.$row->user_ID.');" title="'.TS_('(un)selects all checkboxes using Javascript').'">
 409                              <span id="checkallspan_'.$row->user_ID.'">'.TS_('(un)check all').'</span>
 410                          </a>';
 411  }
 412  $Results->cols[] = array(
 413                          'th' => '&nbsp;',
 414                          'td' => '%perm_check_all( {row} )%',
 415                          'td_class' => 'center',
 416                      );
 417  
 418  
 419  
 420  // Display WIDE:

 421  $Results->display();
 422  
 423  echo '</div>';
 424  
 425  
 426  // Display simple layout:

 427  ?>
 428  <div id="userlist_default" class="clear" style="<?php
 429      echo 'display:'.( ($layout == 'default' || $layout == 'all' ) ? 'block' : 'none' ) ?>">
 430  
 431  <?php
 432  
 433  
 434  // Change filter definitions for simple layout:

 435  
 436  $Results->filter_area = array(
 437      'submit' => 'actionArray[filter2]',
 438      'callback' => 'filter_colluserlist',
 439      'url_ignore' => 'action,results_colluser_page,keywords1,keywords2',
 440      'presets' => array(
 441          'all' => array( T_('All users'), regenerate_url( 'action,results_colluser_page,keywords1,keywords2', 'action=edit' ) ),
 442          )
 443      );
 444  
 445  
 446  // Change column definitions for simple layout:

 447  
 448  $Results->cols = array(); // RESET!

 449  
 450  $Results->cols[] = array(
 451                          'th' => T_('Login'),
 452                          'order' => 'user_login',
 453                          'td' => '<a href="?ctrl=users&amp;user_ID=$user_ID$">$user_login$</a>',
 454                      );
 455  
 456  
 457  function simple_coll_perm_radios( $row )
 458  {
 459      global $permission_to_change_admin;
 460  
 461      $r = '';
 462      $user_easy_group = blogperms_get_easy2( $row );
 463      foreach( array(
 464                                  array( 'nomember', T_('Not Member') ),
 465                                  array( 'member', T_('Member') ),
 466                                  array( 'contrib', T_('Contributor') ),
 467                                  array( 'editor', T_('Publisher') ),
 468                                  array( 'moderator', T_('Moderator') ),
 469                                  array( 'owner',  T_('Owner') ),
 470                                  array( 'admin',  T_('Admin') ),
 471                                  array( 'custom',  T_('Custom') )
 472                              ) as $lkey => $easy_group )
 473      {
 474          $r .= '<input type="radio" id="blog_perm_easy_'.$row->user_ID.'_'.$lkey.'" name="blog_perm_easy_'.$row->user_ID.'" value="'.$easy_group[0].'"';
 475          if( $easy_group[0] == $user_easy_group )
 476          {
 477              $r .= ' checked="checked"';
 478          }
 479          if( ! $permission_to_change_admin
 480                  && ( $row->bloguser_perm_admin || $easy_group[0] == 'admin' ) )
 481          { // No permission to touch nOR create admins
 482               $r .= ' disabled="disabled"';
 483          }
 484          $r .= ' onclick="merge_from_easy( this, '.$row->user_ID.' )" class="radio" />
 485          <label for="blog_perm_easy_'.$row->user_ID.'_'.$lkey.'">'.$easy_group[1].'</label> ';
 486      }
 487  
 488      return $r;
 489  }
 490  $Results->cols[] = array(
 491                          'th' => T_('Role'),
 492                          'td' => '%simple_coll_perm_radios( {row} )%',
 493                      );
 494  
 495  
 496  // Display SIMPLE:

 497  $Results->display();
 498  
 499  
 500  echo '</div>';
 501  
 502  // Permission note:

 503  // fp> TODO: link

 504  echo '<p class="note center">'.T_('Note: General group permissions may further restrict any media folder permissions defined here.').'</p>';
 505  
 506  $Form->end_fieldset();
 507  
 508  
 509  // Make a hidden list of all displayed users:

 510  $user_IDs = array();
 511  foreach( $Results->rows as $row )
 512  {
 513      $user_IDs[] = $row->user_ID;
 514  }
 515  $Form->hidden( 'user_IDs', implode( ',', $user_IDs) );
 516  
 517  $Form->end_form( array( array( 'submit', 'actionArray[update]', T_('Update'), 'SaveButton' ),
 518                                                  array( 'reset', '', T_('Reset'), 'ResetButton' ) ) );
 519  
 520  
 521  /*

 522   * $Log: _coll_user_perm.form.php,v $

 523   * Revision 1.1  2007/06/25 10:59:38  fplanque

 524   * MODULES (refactored MVC)

 525   *

 526   * Revision 1.25  2007/06/12 23:51:16  fplanque

 527   * non admins can no longer create blog admins

 528   *

 529   * Revision 1.24  2007/06/12 23:16:04  fplanque

 530   * non admins can no longer change admin blog perms

 531   *

 532   * Revision 1.23  2007/06/03 02:54:18  fplanque

 533   * Stuff for permission maniacs (admin part only, actual perms checks to be implemented)

 534   * Newbies will not see this complexity since advanced perms are now disabled by default.

 535   *

 536   * Revision 1.22  2007/05/31 03:49:24  fplanque

 537   * editing perm concept demo

 538   *

 539   * Revision 1.21  2007/05/29 01:17:20  fplanque

 540   * advanced admin blog settings are now restricted by a special permission

 541   *

 542   * Revision 1.20  2007/04/26 00:11:05  fplanque

 543   * (c) 2007

 544   *

 545   * Revision 1.19  2007/03/11 22:48:19  fplanque

 546   * handling of permission to redirect posts

 547   *

 548   * Revision 1.18  2007/01/23 04:20:30  fplanque

 549   * wording

 550   *

 551   * Revision 1.17  2006/12/03 19:00:30  blueyed

 552   * Moved collection perm JavaScript to the views, as per todo

 553   *

 554   * Revision 1.16  2006/11/18 17:57:17  blueyed

 555   * blogperms_switch_layout() moved/renamed

 556   *

 557   * Revision 1.15  2006/11/04 17:38:24  blueyed

 558   * Blog perm layout views: fixed non-JS links (ctrl param) and store selected one in UserSettings (TODO for switching by JS)

 559   *

 560   * Revision 1.14  2006/11/04 17:19:39  blueyed

 561   * Blog perms view links: Changed "Wide" to "Advanced" and localized it together with "Simple". See http://forums.b2evolution.net/viewtopic.php?t=9654

 562   *

 563   * Revision 1.13  2006/11/03 18:22:26  fplanque

 564   * no message

 565   *

 566   * Revision 1.12  2006/10/14 04:34:26  blueyed

 567   * Proper escaping; fixes E_FATAL in Results eval()

 568   *

 569   * Revision 1.11  2006/10/11 17:21:09  blueyed

 570   * Fixes

 571   */
 572  ?>


Généré le : Thu Nov 29 23:58:50 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics