[ Index ]
 

Code source de Serendipity 1.2

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/include/admin/ -> personal.inc.php (source)

   1  <?php # $Id: personal.inc.php 1861 2007-08-21 15:54:13Z garvinhicking $
   2  # Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity Developer Team)
   3  # All rights reserved.  See LICENSE file for licensing details
   4  
   5  if (IN_serendipity !== true) {
   6      die ("Don't hack!");
   7  }
   8  
   9  if (!serendipity_checkPermission('personalConfiguration')) {
  10      return;
  11  }
  12  
  13  $from = array();
  14  
  15  if ($serendipity['GET']['adminAction'] == 'save' && serendipity_checkFormToken()) {
  16      $config = serendipity_parseTemplate(S9Y_CONFIG_USERTEMPLATE);
  17      if ( (!serendipity_checkPermission('adminUsersEditUserlevel') || !serendipity_checkPermission('adminUsersMaintainOthers') )
  18            && (int)$_POST['userlevel'] > $serendipity['serendipityUserlevel']) {
  19          echo '<div class="serendipityAdminMsgError"><img style="width: 22px; height: 22px; border: 0px; padding-right: 4px; vertical-align: middle" src="' . serendipity_getTemplateFile('admin/img/admin_msg_error.png') . '" alt="" />' . CREATE_NOT_AUTHORIZED_USERLEVEL . '</div>';
  20      } elseif (empty($_POST['username'])) {
  21          echo '<div class="serendipityAdminMsgError"><img style="width: 22px; height: 22px; border: 0px; padding-right: 4px; vertical-align: middle" src="' . serendipity_getTemplateFile('admin/img/admin_msg_error.png') . '" alt="" />' . USERCONF_CHECK_USERNAME_ERROR . '</div>';
  22      } elseif (!empty($_POST['password']) && $_POST['check_password'] != $_SESSION['serendipityPassword'] && md5($_POST['check_password']) != $_SESSION['serendipityPassword']) {
  23          echo '<div class="serendipityAdminMsgError"><img style="width: 22px; height: 22px; border: 0px; padding-right: 4px; vertical-align: middle" src="' . serendipity_getTemplateFile('admin/img/admin_msg_error.png') . '" alt="" />' . USERCONF_CHECK_PASSWORD_ERROR . '</div>';
  24      } else {
  25          $valid_groups = serendipity_getGroups($serendipity['authorid'], true);
  26  
  27          foreach($config as $category) {
  28              foreach ($category['items'] as $item) {
  29                  if (in_array('groups', $item['flags'])) {
  30                      if (serendipity_checkPermission('adminUsersMaintainOthers')) {
  31  
  32                          // Void, no fixing neccessarry
  33  
  34                      } elseif (serendipity_checkPermission('adminUsersMaintainSame')) {
  35                          if (!is_array($_POST[$item['var']])) {
  36                              continue;
  37                          }
  38                          // Check that no user may assign groups he's not allowed to.
  39                          foreach($_POST[$item['var']] AS $groupkey => $groupval) {
  40                              if (in_array($groupval, $valid_groups)) {
  41                                  continue;
  42                              } elseif ($groupval == 2 && in_array(3, $valid_groups)) {
  43                                  // Admin is allowed to assign users to chief editors
  44                                  continue;
  45                              } elseif ($groupval == 1 && in_array(2, $valid_groups)) {
  46                                  // Chief is allowed to assign users to editors
  47                                  continue;
  48                              }
  49  
  50                              unset($_POST[$item['var']][$groupkey]);
  51                          }
  52  
  53                      } else {
  54                          continue;
  55                      }
  56  /*
  57                      if (count($_POST[$item['var']]) < 1) {
  58                          echo '<div class="serendipityAdminMsgError"><img style="width: 22px; height: 22px; border: 0px; padding-right: 4px; vertical-align: middle" src="' . serendipity_getTemplateFile('admin/img/admin_msg_error.png') . '" alt="" />' . WARNING_NO_GROUPS_SELECTED . '</div>';
  59                      } else {
  60                          serendipity_updateGroups($_POST[$item['var']], $serendipity['authorid'], false);
  61                      }
  62  */
  63                      continue;
  64                  }
  65  
  66                  // Moved to group administration:
  67                  if ($item['var'] == 'userlevel') continue;
  68                  if ($item['view'] == 'dangerous') continue;
  69  
  70                  if (serendipity_checkConfigItemFlags($item, 'local')) {
  71                      serendipity_set_user_var($item['var'], $_POST[$item['var']], $serendipity['authorid'], true);
  72                  }
  73  
  74                  if (serendipity_checkConfigItemFlags($item, 'configuration')) {
  75                      serendipity_set_config_var($item['var'], $_POST[$item['var']], $serendipity['authorid']);
  76                  }
  77              }
  78  
  79              $pl_data = array(
  80                  'id'       => $serendipity['POST']['authorid'],
  81                  'authorid' => $serendipity['POST']['authorid'],
  82                  'username' => $_POST['username'],
  83                  'realname' => $_POST['realname'],
  84                  'email'    => $_POST['email']
  85              );
  86              serendipity_updatePermalink($pl_data, 'author');
  87              serendipity_plugin_api::hook_event('backend_users_edit', $pl_data);
  88          }
  89          if ($serendipity['authorid'] === $_SESSION['serendipityAuthorid']) {
  90              if (is_null($serendipity['detected_lang'])) {
  91                  $_SESSION['serendipityLanguage'] = $serendipity['lang'];
  92              }
  93          }
  94          $from = $_POST;
  95  ?>
  96      <div class="serendipityAdminMsgSuccess"><img width="22px" height="22px" style="border: 0px; padding-right: 4px; vertical-align: middle" src="<?php echo serendipity_getTemplateFile('admin/img/admin_msg_success.png'); ?>" alt="" /><?php echo sprintf(MODIFIED_USER, $_POST['realname']) ?></div>
  97  <?php }
  98  } ?>
  99  
 100  <form action="?serendipity[adminModule]=personal&amp;serendipity[adminAction]=save" method="post">
 101  <?php
 102  echo serendipity_setFormToken();
 103  $template       = serendipity_parseTemplate(S9Y_CONFIG_USERTEMPLATE);
 104  $user           = serendipity_fetchUsers($serendipity['authorid']);
 105  $from           = $user[0];
 106  $from['groups'] = serendipity_getGroups($serendipity['authorid']);
 107  unset($from['password']);
 108  serendipity_printConfigTemplate($template, $from, true, false);
 109  ?>
 110      <div align="right"><input class="serendipityPrettyButton input_button" type="submit" name="SAVE"   value="<?php echo SAVE; ?>" /></div>
 111  </form>
 112  
 113  <?php
 114  
 115  $add = array('internal' => true);
 116  serendipity_plugin_api::hook_event('backend_sidebar_entries_event_display_profiles', $from, $add);
 117  /* vim: set sts=4 ts=4 expandtab : */


Généré le : Sat Nov 24 09:00:37 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics