[ Index ]

PHP Cross Reference of E107 v0.7.22 code documentation

title

Body

[close]

/ -> user.php (source)

   1  <?php
   2  /*
   3  + ----------------------------------------------------------------------------+
   4  |     e107 website system
   5  |
   6  |     ©Steve Dunstan 2001-2002
   7  |     http://e107.org
   8  |     jalist@e107.org
   9  |
  10  |     Released under the terms and conditions of the
  11  |     GNU General Public License (http://gnu.org).
  12  |
  13  |     $Source: /cvs_backup/e107_0.7/user.php,v $
  14  |     $Revision: 11346 $
  15  |     $Date: 2010-02-17 13:56:14 -0500 (Wed, 17 Feb 2010) $
  16  |     $Author: secretr $
  17  +----------------------------------------------------------------------------+
  18  */
  19  require_once ("class2.php");
  20  
  21  // Next bit is to fool PM plugin into doing things
  22  global $user;
  23  $user['user_id'] = USERID;
  24  
  25  require_once(e_FILE."shortcode/batch/user_shortcodes.php");
  26  require_once(e_HANDLER."form_handler.php");
  27  
  28  if (isset($_POST['delp']))
  29  {
  30      $tmp = explode(".", e_QUERY);
  31      if ($tmp[0]=="self")
  32      {
  33          $tmp[1]=USERID;
  34      }
  35      if (USERID == $tmp[1] || (ADMIN && getperms("4")))
  36      {
  37          $sql->db_Select("user", "user_sess", "user_id='". USERID."'");
  38          @unlink(e_FILE."public/avatars/".$row['user_sess']);
  39          $sql->db_Update("user", "user_sess='' WHERE user_id=".intval($tmp[1]));
  40          header("location:".e_SELF."?id.".$tmp[1]);
  41          exit;
  42      }
  43  }
  44  
  45  $qs = explode(".", e_QUERY);
  46  $self_page =($qs[0] == 'id' && intval($qs[1]) == USERID);
  47  
  48  if (file_exists(THEME."user_template.php"))
  49  {
  50      require_once(THEME."user_template.php");
  51  }
  52  else
  53  {
  54      require_once(e_BASE.$THEMES_DIRECTORY."templates/user_template.php");
  55  }
  56  $user_frm = new form;
  57  require_once(HEADERF);
  58  if (!defined("USER_WIDTH")){ define("USER_WIDTH","width:95%"); }
  59  
  60  $full_perms = getperms("0") || check_class(varset($pref['memberlist_access'], 253));        // Controls display of info from other users
  61  if (!$full_perms && !$self_page)
  62  {
  63      $ns->tablerender(LAN_20, "<div style='text-align:center'>".USERLAN_2."</div>");
  64      require_once(FOOTERF);
  65      exit;
  66  }
  67  
  68  if (isset($_POST['records']))
  69  {
  70      $records = intval($_POST['records']);
  71      $order = ($_POST['order'] == 'ASC' ? 'ASC' : 'DESC');
  72      $from = 0;
  73  }
  74  else if(!e_QUERY)
  75  {
  76      $records = 20;
  77      $from = 0;
  78      $order = "DESC";
  79  }
  80  else
  81  {
  82      if ($qs[0] == "self")
  83      {
  84          $id = USERID;
  85      }
  86      else
  87      {
  88          if ($qs[0] == "id")
  89          {
  90              $id = intval($qs[1]);
  91          }
  92          else
  93          {
  94              $qs = explode(".", e_QUERY);
  95              $from = intval($qs[0]);
  96              $records = intval($qs[1]);
  97              $order = ($qs[2] == 'ASC' ? 'ASC' : 'DESC');
  98          }
  99      }
 100  }
 101  if ($records > 30)
 102  {
 103      $records = 30;
 104  }
 105  
 106  if (isset($id))
 107  {
 108      if ($id == 0)
 109      {
 110          $text = "<div style='text-align:center'>".LAN_137." ".SITENAME."</div>";
 111          $ns->tablerender(LAN_20, $text);
 112          require_once(FOOTERF);
 113          exit;
 114      }
 115  
 116      $loop_uid = $id;
 117  
 118      $ret = $e_event->trigger("showuser", $id);
 119      if ($ret!='')
 120      {
 121          $text = "<div style='text-align:center'>".$ret."</div>";
 122          $ns->tablerender(LAN_20, $text);
 123          require_once(FOOTERF);
 124          exit;
 125      }
 126  
 127      if (isset($_POST['commentsubmit']) && $pref['profile_comments'])
 128      {
 129          require_once(e_HANDLER."comment_class.php");
 130          $cobj = new comment;
 131          $cobj->enter_comment($_POST['author_name'], $_POST['comment'], 'profile', $id, $pid, $_POST['subject']);
 132      }
 133  
 134      if($pref['profile_comments'])
 135      {
 136          include_once(e_HANDLER."comment_class.php");
 137      }
 138  
 139      if($text = renderuser($id))
 140      {
 141          $ns->tablerender(LAN_402, $text);
 142      }
 143      else
 144      {
 145          $text = "<div style='text-align:center'>".LAN_400."</div>";
 146          $ns->tablerender(LAN_20, $text);
 147      }
 148      unset($text);
 149      require_once(FOOTERF);
 150      exit;
 151  }
 152  
 153  $users_total = $sql->db_Count("user","(*)", "WHERE user_ban = 0");
 154  
 155  if (!$sql->db_Select("user", "*", "user_ban = 0 ORDER BY user_id $order LIMIT $from,$records"))
 156  {
 157      echo "<div style='text-align:center'><b>".LAN_141."</b></div>";
 158  }
 159  else
 160  {
 161      $userList = $sql->db_getList();
 162  
 163      $text = $tp->parseTemplate($USER_SHORT_TEMPLATE_START, TRUE, $user_shortcodes);
 164      foreach ($userList as $row)
 165      {
 166          $loop_uid = $row['user_id'];
 167          $text .= renderuser($row, "short");
 168      }
 169      $text .= $tp->parseTemplate($USER_SHORT_TEMPLATE_END, TRUE, $user_shortcodes);
 170  }
 171  
 172  $ns->tablerender(LAN_140, $text);
 173  
 174  $parms = $users_total.",".$records.",".$from.",".e_SELF.'?[FROM].'.$records.".".$order;
 175  echo "<div class='nextprev'>&nbsp;".$tp->parseTemplate("{NEXTPREV={$parms}}")."</div>";
 176  
 177  
 178  function renderuser($uid, $mode = "verbose")
 179  {
 180      global $sql, $pref, $tp, $sc_style, $user_shortcodes;
 181      global $EXTENDED_START, $EXTENDED_TABLE, $EXTENDED_END, $USER_SHORT_TEMPLATE, $USER_FULL_TEMPLATE;
 182      global $user;
 183  
 184      if(is_array($uid))
 185      {
 186          $user = $uid;
 187      }
 188      else
 189      {
 190          if(!$user = get_user_data($uid))
 191          {
 192              return FALSE;
 193          }
 194      }
 195  
 196      if($mode == 'verbose')
 197      {
 198          return $tp->parseTemplate($USER_FULL_TEMPLATE, TRUE, $user_shortcodes);
 199      }
 200      else
 201      {
 202          return $tp->parseTemplate($USER_SHORT_TEMPLATE, TRUE, $user_shortcodes);
 203      }
 204  }
 205  
 206  require_once(FOOTERF);
 207  ?>


Generated: Tue Aug 3 00:19:13 2010
Open Source related documentation for developers.