1
0
mirror of https://github.com/e107inc/e107.git synced 2025-04-19 12:11:55 +02:00

Get rid of legacy user_class class

This commit is contained in:
e107steved 2009-08-22 21:27:34 +00:00
parent 986eaea955
commit 6eafcda674
3 changed files with 73 additions and 128 deletions

View File

@ -9,9 +9,9 @@
* Administration Area - User classes
*
* $Source: /cvs_backup/e107_0.8/e107_admin/userclass2.php,v $
* $Revision: 1.26 $
* $Date: 2009-08-04 15:04:18 $
* $Author: e107coders $
* $Revision: 1.27 $
* $Date: 2009-08-22 21:27:34 $
* $Author: e107steved $
*
*/
@ -24,8 +24,7 @@ if (!getperms("4"))
$e_sub_cat = 'userclass';
//define('UC_DEBUG_OPTS',FALSE);
require_once(e_HANDLER."userclass_class.php"); // Modified class handler
$uclass = new e_userclass; // Class management functions - legacy stuff from 0.7
require_once(e_HANDLER.'userclass_class.php'); // Modified class handler
$e_userclass = new user_class_admin; // Admin functions - should just obliterate any previous object created in class2.php
require_once (e_HANDLER.'form_handler.php');
$frm = new e_form();
@ -35,11 +34,11 @@ $message = '';
function check_allowed($class_id, $redirect = true)
{
global $e107;
$e107 = e107::getInstance();
if (!isset($e107->user_class->class_tree[$class_id]))
{
if(!$redirect) return false;
header("location:".SITEURL);
header('location:'.SITEURL);
exit;
}
if (!getperms('0') && !check_class($e107->user_class->class_tree[$class_id]['userclass_editclass']))
@ -172,7 +171,7 @@ if (isset($_POST['delete']))
{
$uidList[$row['user_id']] = $row['user_class'];
}
$uclass->class_remove($class_id, $uidList);
$e_userclass->class_remove($class_id, $uidList);
}
if (isset($pref['frontpage'][$class_id]))
{
@ -294,13 +293,13 @@ if ($message)
$emessage->add($message, E_MESSAGE_SUCCESS);
}
if(!e_QUERY || $action == "list")
if(!e_QUERY || $action == 'list')
{
$ns->tablerender(UCSLAN_21, $emessage->render(). $uc->show_existing());
}
if($_GET['uc'])
{
$action = "config";
$action = 'config';
$_POST['existing'] = $_GET['uc'];
}
@ -755,7 +754,7 @@ $ns->tablerender(UCSLAN_21, $text);
{
$uidList[$row['user_id']] = $row['user_class'];
}
$uclass->class_remove($class_id, $uidList);
$e_userclass->class_remove($class_id, $uidList);
$message = UCSLAN_1;
userclass2_adminlog("06","ID:{$class_id} (".$e_userclass->uc_get_classname($class_id).")");
}
@ -773,7 +772,7 @@ $ns->tablerender(UCSLAN_21, $text);
{
$uidList[$row['user_id']] = $row['user_class'];
}
$uclass->class_remove($class_id, $uidList);
$e_userclass->class_remove($class_id, $uidList);
}
unset($uidList);
if ($sql->db_Select('user', 'user_id, user_class', "user_id IN({$tmp2[1]})"))
@ -782,7 +781,7 @@ $ns->tablerender(UCSLAN_21, $text);
{
$uidList[$row['user_id']] = $row['user_class'];
}
$uclass->class_add($class_id, $uidList);
$e_userclass->class_add($class_id, $uidList);
}
userclass2_adminlog("04","ID:{$class_id} (".$e_userclass->uc_get_classname($class_id).")");
}

View File

@ -10,8 +10,8 @@
* Administration Area - Users
*
* $Source: /cvs_backup/e107_0.8/e107_admin/users.php,v $
* $Revision: 1.53 $
* $Date: 2009-08-19 21:33:19 $
* $Revision: 1.54 $
* $Date: 2009-08-22 21:27:34 $
* $Author: e107steved $
*
*/
@ -1744,32 +1744,35 @@ class users
}
/*
Appears to be unused function
function user_remuserclass($userid,$uclass)
{
global $sql,$sql2;
$emessage = &eMessage::getInstance();
$emessage = &eMessage::getInstance();
if ($uclass[0] == 0)
{
if($sql->db_Update("user","user_class='' WHERE user_id={$userid}")===TRUE)
{
$emessage->add(UCSLAN_9, E_MESSAGE_SUCCESS); // classes updated;
}
else
{
$emessage->add(UCSLAN_9, E_MESSAGE_SUCCESS); // classes updated;
}
if($sql->db_Update("user","user_class='' WHERE user_id={$userid}")===TRUE)
{
$emessage->add(UCSLAN_9, E_MESSAGE_SUCCESS); // classes updated;
}
else
{
$emessage->add(UCSLAN_9, E_MESSAGE_SUCCESS); // classes updated;
}
}
else
{
$eu = new e_userclass;
if($sql->db_Select("user","user_id,user_class","user_id={$userid} LIMIT 1"))
{
$row = $sql->db_Fetch();
$eu->class_remove($uclass[0], array($row['user_id']=>$row['user_class']));
}
$emessage->add(UCSLAN_9, E_MESSAGE_SUCCESS); // classes updated;
$eu = new e_userclass;
if($sql->db_Select("user","user_id,user_class","user_id={$userid} LIMIT 1"))
{
$row = $sql->db_Fetch();
$eu->class_remove($uclass[0], array($row['user_id']=>$row['user_class']));
}
$emessage->add(UCSLAN_9, E_MESSAGE_SUCCESS); // classes updated;
}
}
*/
// Set userclass for user(s).
function user_userclass($userid,$uclass,$append=FALSE)

View File

@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_handlers/userclass_class.php,v $
| $Revision: 1.40 $
| $Date: 2009-08-19 21:43:46 $
| $Revision: 1.41 $
| $Date: 2009-08-22 21:27:34 $
| $Author: e107steved $
+----------------------------------------------------------------------------+
*/
@ -1284,6 +1284,44 @@ class user_class_admin extends user_class
}
// Moved in from e_userclass class
// $uinfoArray is array(uid=>user_class)
// Adds all users in list to class $ci
public function class_add($cid, $uinfoArray)
{
$e107 = e107::getInstance();
$uc_sql = new db;
foreach($uinfoArray as $uid => $curclass)
{
if ($curclass)
{
$newarray = array_unique(array_merge(explode(',', $curclass), array($cid)));
$new_userclass = implode(',', $newarray);
}
else
{
$new_userclass = $cid;
}
$uc_sql->db_Update('user', "user_class='".$e107->tp->toDB($new_userclass, true)."' WHERE user_id=".intval($uid));
}
}
// Moved in from e_userclass class
// $uinfoArray is array(uid=>user_class)
// Removes all users in list from class $ci
public function class_remove($cid, $uinfoArray)
{
$e107 = e107::getInstance();
$uc_sql = new db;
foreach($uinfoArray as $uid => $curclass)
{
$newarray = array_diff(explode(',', $curclass), array('', $cid));
$new_userclass = implode(',', $newarray);
$uc_sql->db_Update('user', "user_class='".$e107->tp->toDB($new_userclass, true)."' WHERE user_id=".intval($uid));
}
}
// Certain fields on admin records have constraints on their values.
// Checks the passed array, and updates any values which are unacceptable.
@ -1388,99 +1426,4 @@ class user_class_admin extends user_class
//========================================================================
// Legacy Admin Class handler - maybe add to admin class
//========================================================================
// class_add() - called only from userclass2.php - adds a list of users to a class
// class_remove() - called only from userclass2.php - removes a list of users from a class
// class_create() - called only from forum update routines - could probably go
class e_userclass
{
function class_add($cid, $uinfoArray)
{
global $tp;
$sql2 = new db;
foreach($uinfoArray as $uid => $curclass)
{
if ($curclass)
{
$newarray = array_unique(array_merge(explode(',', $curclass), array($cid)));
$new_userclass = implode(',', $newarray);
}
else
{
$new_userclass = $cid;
}
$sql2->db_Update('user', "user_class='".$tp -> toDB($new_userclass, true)."' WHERE user_id=".intval($uid));
}
}
function class_remove($cid, $uinfoArray)
{
global $tp;
$sql2 = new db;
foreach($uinfoArray as $uid => $curclass)
{
$newarray = array_diff(explode(',', $curclass), array('', $cid));
$new_userclass = implode(',', $newarray);
$sql2->db_Update('user', "user_class='".$tp -> toDB($new_userclass, true)."' WHERE user_id=".intval($uid));
}
}
// Mostly for upgrades?
// Create a new user class, with a specified prefix to the name
// $ulist - comma separated list of user names to be added
function class_create($ulist, $class_prefix = "NEW_CLASS_", $num = 0)
{
global $sql;
$varname = "uc_".$ulist;
if($ret = getcachedvars($varname))
{
return $ret;
}
$ul = explode(",", $ulist);
array_walk($ul, array($this, 'munge'));
$qry = "
SELECT user_id, user_class from #user AS u
WHERE user_name = ".implode(" OR user_name = ", $ul);
if($sql->db_Select_gen($qry))
{
while($row = $sql->db_Fetch())
{
$idList[$row['user_id']] = $row['user_class'];
}
while($sql->db_Count("userclass_classes","(*)","WHERE userclass_name = '".strtoupper($class_prefix.$num)."'"))
{
$num++;
}
$newname = strtoupper($class_prefix.$num);
$i = 1;
while ($sql->db_Select('userclass_classes', '*', "userclass_id='".intval($i)."' ") && $i < 240)
{
$i++;
}
if ($i < 240) // Give a bit of headroom - we're allocating 'system' classes downwards from 255
{
$sql->db_Insert("userclass_classes", "{$i}, '{$newname}', 'Auto_created_class', 254");
$this->class_add($i, $idList); // Add users
cachevars($varname, $i);
return $i;
}
}
}
function munge(&$value, &$key)
{
$value = "'".trim($value)."'";
}
}
?>