mirror of
https://github.com/e107inc/e107.git
synced 2025-04-20 20:51:53 +02:00
Allow editing of selected fields of some 'system' userclasses.
Tidy up a bit.
This commit is contained in:
parent
12ef7e3f1c
commit
cfb76a758a
@ -48,27 +48,38 @@ $mes = e107::getMessage();
|
||||
$message = '';
|
||||
|
||||
/**
|
||||
* See whether a user class is fully editable.
|
||||
* See whether a user class is editable.
|
||||
*
|
||||
* (Note: On fixed classes, only some fields are editable)
|
||||
*
|
||||
* @param integer $class_id
|
||||
* @param boolean $redirect - if TRUE, will redirect to site home page if class not fully editable.
|
||||
* @return boolean - TRUE if class fully editable, FALSE if not.
|
||||
* @param boolean $redirect - if TRUE, will redirect to site home page if class not editable.
|
||||
* @param boolean $fullEdit - set TRUE if full editing required, FALSE if some editing permitted
|
||||
*
|
||||
* @return boolean - TRUE if class editable (fully or partially), FALSE if not.
|
||||
*/
|
||||
function check_allowed($class_id, $redirect = true)
|
||||
function checkAllowed($classID, $redirect = true, $fullEdit = FALSE)
|
||||
{
|
||||
$uc = e107::getUserClass();
|
||||
if (!isset($uc->class_tree[$class_id]) || (!getperms('0') && !check_class($uc->class_tree[$class_id]['userclass_editclass'])))
|
||||
global $e_userclass; // TODO: Get rid of this (we need the system admin object; not the user-level object)
|
||||
$editLevel = $fullEdit ? 2 : 1;
|
||||
if ($e_userclass->queryCanEditClass($classID) >= $editLevel)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if ($redirect)
|
||||
{
|
||||
if(!$redirect) return false;
|
||||
header('location:'.SITEURL);
|
||||
exit;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
// Next bit probably redundant - editing of some parts of system class data is allowed.
|
||||
if(!$uc->isEditableClass($class_id))
|
||||
{
|
||||
if(!$redirect) return false;
|
||||
e107::getMessage()->addSession('You can\'t edit system user classes!', E_MESSAGE_ERROR);
|
||||
e107::getMessage()->addSession(UCSLAN_90, E_MESSAGE_ERROR);
|
||||
header('location:'.e_SELF);
|
||||
exit;
|
||||
}
|
||||
@ -97,7 +108,7 @@ if(e_AJAX_REQUEST)
|
||||
{
|
||||
require_once(e_HANDLER.'js_helper.php');
|
||||
$jshelper = new e_jshelper();
|
||||
if(!check_allowed($class_num, false))
|
||||
if(!checkAllowed($class_num, false))
|
||||
{
|
||||
//This will raise an error
|
||||
//'Access denied' is the message which will be thrown
|
||||
@ -186,30 +197,26 @@ if (isset($_POST['set_initial_classes']))
|
||||
//---------------------------------------------------
|
||||
if (isset($_POST['etrigger_delete']) && !empty($_POST['etrigger_delete']))
|
||||
{
|
||||
$class_id = intval(array_shift(array_keys($_POST['etrigger_delete'])));
|
||||
check_allowed($class_id);
|
||||
/* done already by check_allowed()
|
||||
if (($class_id >= e_UC_SPECIAL_BASE) && ($class_id <= e_UC_SPECIAL_END))
|
||||
{
|
||||
$message = UCSLAN_29;
|
||||
}*/
|
||||
//elseif ($_POST['confirm'])
|
||||
$classID = intval(array_shift(array_keys($_POST['etrigger_delete'])));
|
||||
//checkAllowed($classID);
|
||||
|
||||
if ($e_userclass->queryCanDeleteClass($classID))
|
||||
{
|
||||
if ($e_userclass->delete_class($class_id) !== FALSE)
|
||||
{
|
||||
userclass2_adminlog("02","ID:{$class_id} (".$e_userclass->uc_get_classname($class_id).")");
|
||||
if ($sql->db_Select('user', 'user_id, user_class', "user_class = '{$class_id}' OR user_class REGEXP('^{$class_id},') OR user_class REGEXP(',{$class_id},') OR user_class REGEXP(',{$class_id}$')"))
|
||||
userclass2_adminlog("02","ID:{$class_id} (".$e_userclass->uc_get_classname($classID).")");
|
||||
if ($sql->db_Select('user', 'user_id, user_class', "user_class = '{$classID}' OR user_class REGEXP('^{$classID},') OR user_class REGEXP(',{$classID},') OR user_class REGEXP(',{$classID}$')"))
|
||||
{ // Delete existing users from class
|
||||
while ($row = $sql->db_Fetch(MYSQL_ASSOC))
|
||||
{
|
||||
$uidList[$row['user_id']] = $row['user_class'];
|
||||
}
|
||||
$e_userclass->class_remove($class_id, $uidList);
|
||||
$e_userclass->class_remove($classID, $uidList);
|
||||
}
|
||||
$e_pref = e107::getConfig();
|
||||
if($e_pref->isData('frontpage/'.$class_id))
|
||||
if($e_pref->isData('frontpage/'.$classID))
|
||||
{
|
||||
$e_pref->removePref('frontpage/'.$class_id)->save(false);
|
||||
$e_pref->removePref('frontpage/'.$classID)->save(false);
|
||||
}
|
||||
/*if (isset($pref['frontpage'][$class_id]))
|
||||
{
|
||||
@ -223,10 +230,10 @@ if (isset($_POST['etrigger_delete']) && !empty($_POST['etrigger_delete']))
|
||||
$emessage->add(UCSLAN_10, E_MESSAGE_ERROR);
|
||||
}
|
||||
}
|
||||
/* else
|
||||
else
|
||||
{
|
||||
$message = UCSLAN_4;
|
||||
}*/
|
||||
$emessage->add(UCSLAN_10, E_MESSAGE_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -236,27 +243,9 @@ if (isset($_POST['etrigger_delete']) && !empty($_POST['etrigger_delete']))
|
||||
//---------------------------------------------------
|
||||
if (isset($_POST['createclass'])) // Add or edit
|
||||
{
|
||||
$class_record = array(
|
||||
'userclass_name' => varset($tp->toDB($_POST['userclass_name']),''),
|
||||
'userclass_description' => varset($tp->toDB($_POST['userclass_description']),''),
|
||||
'userclass_editclass' => intval(varset($_POST['userclass_editclass'],0)),
|
||||
'userclass_parent' => intval(varset($_POST['userclass_parent'],0)),
|
||||
'userclass_visibility' => intval(varset($_POST['userclass_visibility'],0)),
|
||||
'userclass_icon' => $tp->toDB(varset($_POST['userclass_icon'],'')),
|
||||
'userclass_type' => intval(varset($_POST['userclass_type'],UC_TYPE_STD))
|
||||
);
|
||||
if ($class_record['userclass_type'] == UC_TYPE_GROUP)
|
||||
{
|
||||
$temp = array();
|
||||
foreach ($_POST['group_classes_select'] as $gc)
|
||||
{
|
||||
$temp[] = intval($gc);
|
||||
}
|
||||
$class_record['userclass_accum'] = implode(',',$temp);
|
||||
}
|
||||
|
||||
$do_tree = FALSE; // Set flag to rebuild tree if no errors
|
||||
$forwardVals = FALSE; // Set to ripple through existing values to a subsequent pass
|
||||
$fullEdit = TRUE; // Most of the time, we are allowed to edit everything
|
||||
$do_tree = FALSE; // Set flag to rebuild tree if no errors
|
||||
$forwardVals = FALSE; // Set to ripple through existing values to a subsequent pass
|
||||
|
||||
$tempID = intval(varset($_POST['userclass_id'], -1));
|
||||
if (($tempID < 0) && $e_userclass->ucGetClassIDFromName($class_record['userclass_name']))
|
||||
@ -264,19 +253,49 @@ if (isset($_POST['createclass'])) // Add or edit
|
||||
$emessage->add(UCSLAN_63, E_MESSAGE_WARNING); // Duplicate name
|
||||
$forwardVals = TRUE;
|
||||
}
|
||||
elseif ($e_userclass->checkAdminInfo($class_record, $tempID) === FALSE)
|
||||
if ($tempID > 0)
|
||||
{
|
||||
$fullEdit = $e_userclass->queryCanEditClass($tempID) == 2;
|
||||
}
|
||||
|
||||
$class_record = array(
|
||||
'userclass_description' => varset($tp->toDB($_POST['userclass_description']),''),
|
||||
'userclass_editclass' => intval(varset($_POST['userclass_editclass'],0)),
|
||||
'userclass_parent' => intval(varset($_POST['userclass_parent'],0)),
|
||||
'userclass_visibility' => intval(varset($_POST['userclass_visibility'],0)),
|
||||
'userclass_icon' => $tp->toDB(varset($_POST['userclass_icon'],''))
|
||||
);
|
||||
|
||||
if ($fullEdit)
|
||||
{
|
||||
$class_record['userclass_name'] = varset($tp->toDB($_POST['userclass_name']),'');
|
||||
$class_record['userclass_type'] = intval(varset($_POST['userclass_type'],UC_TYPE_STD));
|
||||
if ($class_record['userclass_type'] == UC_TYPE_GROUP)
|
||||
{
|
||||
$temp = array();
|
||||
foreach ($_POST['group_classes_select'] as $gc)
|
||||
{
|
||||
$temp[] = intval($gc);
|
||||
}
|
||||
$class_record['userclass_accum'] = implode(',',$temp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($e_userclass->checkAdminInfo($class_record, $tempID) === FALSE)
|
||||
{
|
||||
$emessage->add(UCSLAN_86); // Some fixed values changed
|
||||
$forwardVals = TRUE;
|
||||
}
|
||||
|
||||
if (!$forwardVals)
|
||||
{
|
||||
if ($tempID > 0)
|
||||
{ // Editing existing class here
|
||||
check_allowed($tempID);
|
||||
checkAllowed($tempID);
|
||||
$class_record['userclass_id'] = $tempID;
|
||||
$e_userclass->save_edited_class($class_record);
|
||||
userclass2_adminlog("03","ID:{$class_record['userclass_id']} (".$class_record['userclass_name'].")");
|
||||
userclass2_adminlog('03',"ID:{$class_record['userclass_id']} (".$class_record['userclass_name'].")");
|
||||
$do_tree = TRUE;
|
||||
//$message .= UCSLAN_5;
|
||||
$emessage->add(UCSLAN_5, E_MESSAGE_SUCCESS);
|
||||
@ -319,11 +338,11 @@ if (isset($_POST['createclass'])) // Add or edit
|
||||
}
|
||||
}
|
||||
|
||||
if ($do_tree)
|
||||
{
|
||||
$e_userclass->calc_tree();
|
||||
$e_userclass->save_tree();
|
||||
}
|
||||
if ($do_tree)
|
||||
{
|
||||
$e_userclass->calc_tree();
|
||||
$e_userclass->save_tree();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -366,10 +385,12 @@ switch ($action)
|
||||
// Class management
|
||||
//-----------------------------------
|
||||
case 'config' :
|
||||
$fullEdit = TRUE;
|
||||
if(isset($_POST['existing']))
|
||||
{
|
||||
$params = 'edit';
|
||||
$class_num = intval(varset($_POST['existing'],0));
|
||||
$fullEdit = $e_userclass->queryCanEditClass($class_num) == 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -389,7 +410,7 @@ switch ($action)
|
||||
{
|
||||
if (!$forwardVals)
|
||||
{ // Get the values from DB (else just recycle data uer was trying to store)
|
||||
check_allowed($class_num);
|
||||
checkAllowed($class_num);
|
||||
$sql->db_Select('userclass_classes', '*', "userclass_id='".intval($class_num)."' ");
|
||||
$class_record = $sql->db_Fetch();
|
||||
$userclass_id = $class_record['userclass_id']; // Update fields from DB if editing
|
||||
@ -422,9 +443,16 @@ switch ($action)
|
||||
$text .= "
|
||||
<tr>
|
||||
<td>".UCSLAN_12."</td>
|
||||
<td>
|
||||
<input class='tbox' type='text' size='30' maxlength='25' name='userclass_name' value='{$userclass_name}' />
|
||||
<div class='field-help'>".UCSLAN_30."</div></td>
|
||||
<td>";
|
||||
if ($fullEdit)
|
||||
{
|
||||
$text .= "<input class='tbox' type='text' size='30' maxlength='25' name='userclass_name' value='{$userclass_name}' />";
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= "{$userclass_name}<input type='hidden' name='userclass_name' value='{$userclass_name}' />";
|
||||
}
|
||||
$text .= "<div class='field-help'>".UCSLAN_30."</div></td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
@ -445,12 +473,21 @@ switch ($action)
|
||||
$text .= "
|
||||
<tr>
|
||||
<td>".UCSLAN_79."</td>
|
||||
<td>\n
|
||||
<td>";
|
||||
$classTypes = array(UC_TYPE_STD => UCSLAN_80, UC_TYPE_GROUP => UCSLAN_81);
|
||||
if ($fullEdit)
|
||||
{
|
||||
$text .= "\n
|
||||
<select name='userclass_type' class='tbox' onchange='setGroupStatus(this)'>
|
||||
<option value='".UC_TYPE_STD."'".(UC_TYPE_STD == $userclass_type ? " selected='selected'" : "").">".UCSLAN_80."</option>\n
|
||||
<option value='".UC_TYPE_GROUP."'".(UC_TYPE_GROUP == $userclass_type ? " selected='selected'" : "").">".UCSLAN_81."</option>\n
|
||||
</select>\n
|
||||
<div class='field-help'>".UCSLAN_82."</div></td>
|
||||
</select>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= $classTypes[$userclass_type]."<input type='hidden' name='userclass_type' value='{$userclass_type}' />";
|
||||
}
|
||||
$text .= "<div class='field-help'>".UCSLAN_82."</div></td>
|
||||
</tr>
|
||||
";
|
||||
|
||||
@ -948,8 +985,8 @@ class uclass_manager
|
||||
|
||||
foreach($classes as $row)
|
||||
{
|
||||
$this->fields['options']['readParms']['deleteClass'] = $e_userclass->isEditableClass($row['userclass_id']) ? '' : e_UC_NOBODY;
|
||||
$text .= $frm->renderTableRow($this->fields, $this->fieldpref, $row, 'userclass_id'); // @TODO: Suppress delete icon on fixed classes.
|
||||
$this->fields['options']['readParms']['deleteClass'] = $e_userclass->queryCanDeleteClass($row['userclass_id']) ? '' : e_UC_NOBODY;
|
||||
$text .= $frm->renderTableRow($this->fields, $this->fieldpref, $row, 'userclass_id');
|
||||
}
|
||||
|
||||
$text .= "</tbody></table></fieldset></form>";
|
||||
@ -966,6 +1003,7 @@ require_once(e_ADMIN.'footer.php');
|
||||
|
||||
|
||||
|
||||
// @TODO: Is this function still required?
|
||||
function headerjs()
|
||||
{
|
||||
$params = e107::getRegistry('pageParams');
|
||||
|
@ -1107,7 +1107,9 @@ class user_class_admin extends user_class
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->isAdmin = TRUE;
|
||||
if (!(getperms('4') || getperms('0'))) return;
|
||||
|
||||
$this->isAdmin = TRUE; // We have full class management rights
|
||||
}
|
||||
|
||||
|
||||
@ -1119,7 +1121,7 @@ class user_class_admin extends user_class
|
||||
*/
|
||||
public function calc_tree()
|
||||
{
|
||||
$this->readTree(TRUE); // Make sure we have accurate data
|
||||
$this->readTree(TRUE); // Make sure we have accurate data
|
||||
foreach ($this->class_parents as $cp)
|
||||
{
|
||||
$rights = array();
|
||||
@ -1256,8 +1258,14 @@ class user_class_admin extends user_class
|
||||
|
||||
|
||||
/*
|
||||
Next two routines generate a graphical tree, including option to open/close branches
|
||||
*/
|
||||
* Next two routines generate a graphical tree, including option to open/close branches
|
||||
*
|
||||
* function show_graphical subtree() is for internal use, called from function show_graphical_tree
|
||||
*
|
||||
* @param int $listnum - class number of first element to display, along with its children
|
||||
* @param array $indent_images - array of images with which to start each line
|
||||
* @param boolean $is_last - TRUE if this is the last element on the current branch of the tree
|
||||
*/
|
||||
protected function show_graphical_subtree($listnum, $indent_images, $is_last = FALSE)
|
||||
{
|
||||
$num_children = count(vartrue($this->class_tree[$listnum]['class_children']));
|
||||
@ -1295,7 +1303,7 @@ class user_class_admin extends user_class
|
||||
if ($this->graph_debug) $name_line .= "[vis:".$this->class_tree[$listnum]['userclass_visibility'].", edit:".$this->class_tree[$listnum]['userclass_editclass']."] = ".$this->class_tree[$listnum]['userclass_accum']." Children: ".implode(',',$this->class_tree[$listnum]['class_children']);
|
||||
// Next (commented out) line gives a 'conventional' link
|
||||
//$ret .= "<img src='".UC_ICON_DIR."topicon.png' alt='class icon' /><a style='text-decoration: none' class='userclass_edit' href='".e_ADMIN_ABS."userclass2.php?config.edit.{$this->class_tree[$listnum]['userclass_id']}'>".$name_line."</a></div>";
|
||||
if($this->isEditableClass($this->class_tree[$listnum]['userclass_id']))
|
||||
if($this->queryCanEditClass($this->class_tree[$listnum]['userclass_id']))
|
||||
{
|
||||
$url = e_SELF.'?action=edit&id='.$this->class_tree[$listnum]['userclass_id'];
|
||||
$onc = '';
|
||||
@ -1323,16 +1331,16 @@ class user_class_admin extends user_class
|
||||
{
|
||||
$indent_images[] = 'line.gif';
|
||||
}
|
||||
foreach ($this->class_tree[$listnum]['class_children'] as $p)
|
||||
if (isset($this->class_tree[$listnum]['class_children'])) foreach ($this->class_tree[$listnum]['class_children'] as $p)
|
||||
{
|
||||
$num_children--;
|
||||
if ($num_children)
|
||||
{ // Use icon indicating more below
|
||||
$ret .= $this->show_graphical_subtree($p, $indent_images, FALSE);
|
||||
$ret .= $this->show_graphical_subtree($p, $indent_images, FALSE);
|
||||
}
|
||||
else
|
||||
{ // else last entry on this tree
|
||||
$ret .= $this->show_graphical_subtree($p, $indent_images, TRUE);
|
||||
$ret .= $this->show_graphical_subtree($p, $indent_images, TRUE);
|
||||
}
|
||||
}
|
||||
$ret .= "</div>";
|
||||
@ -1344,6 +1352,7 @@ class user_class_admin extends user_class
|
||||
|
||||
/**
|
||||
* Create graphical class tree, including clickable links to expand/contract branches.
|
||||
*
|
||||
* @param boolean $show_debug - TRUE to display additional information against each class
|
||||
* @return string - text for display
|
||||
*/
|
||||
@ -1382,7 +1391,7 @@ class user_class_admin extends user_class
|
||||
if ($inc_id && isset($classrec['userclass_id'])) $ret['userclass_id'] = $classrec['userclass_id'];
|
||||
foreach ($this->field_list as $fl => $val)
|
||||
{
|
||||
if (isset($classrec[$fl])) $ret[$fl] = $classrec[$fl];
|
||||
if (isset($classrec[$fl])) $ret[$fl] = $classrec[$fl];
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
@ -1462,17 +1471,19 @@ class user_class_admin extends user_class
|
||||
* TODO: use new array function
|
||||
* @param array $classrec - class data
|
||||
* @return boolean TRUE on success, FALSE on failure
|
||||
*
|
||||
* Note - only updates those fields which are present in the passed array, and ignores unexpected fields.
|
||||
*/
|
||||
public function save_edited_class($classrec)
|
||||
{
|
||||
if (!$classrec['userclass_id'])
|
||||
{
|
||||
echo "Programming bungle on save<br />";
|
||||
echo 'Programming bungle on save - no ID field<br />';
|
||||
return FALSE;
|
||||
}
|
||||
$qry = '';
|
||||
$spacer = '';
|
||||
if ($classrec['userclass_type'] == UC_TYPE_GROUP)
|
||||
if (isset($classrec['userclass_type']) && ($classrec['userclass_type'] == UC_TYPE_GROUP))
|
||||
{ // Need to make sure our ID is in the accumulation array
|
||||
$temp = explode(',',$classrec['userclass_accum']);
|
||||
if (!in_array($classrec['userclass_id'], $temp))
|
||||
@ -1500,6 +1511,37 @@ class user_class_admin extends user_class
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Check if a user may edit a user class.
|
||||
* @param integer $classID > 0
|
||||
* @param string $classList - comma-separated list of class IDs; defaults to those of current user
|
||||
*
|
||||
* @return integer:
|
||||
* 0 - if editing not allowed at all
|
||||
* 1 - if restricted editing allowed (usually because its a fixed class)
|
||||
* 2 - All editing rights allowed
|
||||
*/
|
||||
public function queryCanEditClass($classID, $classList = USERCLASS_LIST)
|
||||
{
|
||||
if (!isset($this->class_tree[$classID])) return 0; // Class doesn't exist - no hope of editing!
|
||||
|
||||
$blockers = array(e_UC_PUBLIC => 1, e_UC_READONLY => 1, e_UC_NOBODY => 1, e_UC_GUEST => 1);
|
||||
if (isset($blockers[$classID])) return 0; // Don't allow edit of some fixed classes
|
||||
|
||||
$canEdit = $this->isAdmin;
|
||||
$possibles = array_flip(explode(',',$classList));
|
||||
if (isset($possibles[$this->class_tree[$classID]['userclass_editclass']])) $canEdit = TRUE;
|
||||
|
||||
if (!$canEdit) return 0;
|
||||
|
||||
if (($classID >= e_UC_SPECIAL_BASE) && ($classID <= e_UC_SPECIAL_END)) return 1; // Restricted edit of fixed classes
|
||||
if (isset($this->fixed_classes[$classID])) return 1; // This picks up fixed classes such as e_UC_PUBLIC outside the main range
|
||||
|
||||
return 2; // Full edit rights - a 'normal' class
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Check if a class may be deleted. (Fixed classes, classes with descendants cannot be deleted)
|
||||
@ -1509,12 +1551,12 @@ class user_class_admin extends user_class
|
||||
public function queryCanDeleteClass($classID)
|
||||
{
|
||||
if (($classID >= e_UC_SPECIAL_BASE) && ($classID <= e_UC_SPECIAL_END)) return FALSE; // Don't allow deletion of fixed classes
|
||||
if (isset($this->fixed_classes[$classID])) return FALSE; // This picks up classes such as e_UC_PUBLIC outside the main range which can't be deleted
|
||||
if (isset($this->fixed_classes[$classID])) return FALSE; // This picks up fixed classes such as e_UC_PUBLIC outside the main range which can't be deleted
|
||||
if (!isset($this->class_tree[$classID])) return FALSE;
|
||||
if (count($this->class_tree[$classID]['class_children'])) return FALSE; // Can't delete class with descendants
|
||||
foreach ($this->class_tree as $c)
|
||||
{
|
||||
if ($c['userclass_editclass'] == $classID) return FALSE;
|
||||
if ($c['userclass_editclass'] == $classID) return FALSE; // Class specified as managing or using another class
|
||||
if ($c['userclass_visibility'] == $classID) return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
|
@ -1,108 +1,108 @@
|
||||
<?php
|
||||
/*
|
||||
+ ----------------------------------------------------------------------------+
|
||||
| e107 website system - Language File.
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/e107_languages/English/admin/lan_userclass2.php,v $
|
||||
| $Revision$
|
||||
| $Date$
|
||||
| $Author$
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
define("UCSLAN_1", "Cleared all users from class.");
|
||||
define("UCSLAN_2", "Class users updated.");
|
||||
define("UCSLAN_3", "Class deleted.");
|
||||
// define("UCSLAN_4", "Please tick the confirm box to delete this user class"); currently not in use
|
||||
define("UCSLAN_5", "Class updated.");
|
||||
define("UCSLAN_6", "Class saved to database.");
|
||||
define("UCSLAN_7", "No user classes yet.");
|
||||
define("UCSLAN_8", "Existing Classes");
|
||||
define("UCSLAN_9", "No Icon");
|
||||
define('UCSLAN_10', 'Class not deleted - it is a core class, or is used in the definition of another class, as either parent or edit class');
|
||||
define("UCSLAN_11", "tick to confirm");
|
||||
define("UCSLAN_12", "Class Name");
|
||||
define("UCSLAN_13", "Class Description");
|
||||
define("UCSLAN_14", "Update User Class");
|
||||
define("UCSLAN_15", "Create New Class");
|
||||
define("UCSLAN_16", "Assign users to class");
|
||||
define("UCSLAN_17", "Remove");
|
||||
define("UCSLAN_18", "Clear Class");
|
||||
define("UCSLAN_19", "Assign users to");
|
||||
define("UCSLAN_20", "class");
|
||||
define("UCSLAN_21", "User Class Settings");
|
||||
define("UCSLAN_22", "Users - click to move ...");
|
||||
define("UCSLAN_23", "Users in this class ...");
|
||||
define("UCSLAN_24", "Class Manager");
|
||||
define("UCSLAN_25", 'Define/Edit Classes');
|
||||
define("UCSLAN_26", 'Class Membership');
|
||||
define("UCSLAN_27", 'Debug Help');
|
||||
define("UCSLAN_28", 'Modify Class Membership');
|
||||
define("UCSLAN_29", 'That class must not be deleted');
|
||||
define("UCSLAN_30", 'Short name displayed in selectors');
|
||||
define("UCSLAN_31", 'Information about applicability of class');
|
||||
define("UCSLAN_32", 'Users in this class can add/remove themselves from the class being edited');
|
||||
define("UCSLAN_33", 'Determines which users can see this class in drop-down lists');
|
||||
define("UCSLAN_34", 'Class Visibility');
|
||||
define("UCSLAN_35", 'Class Parent');
|
||||
define("UCSLAN_36", 'If the top of the tree is \'No One\', permissions increase towards the top of the tree<br />If the top of the tree is \'Everyone\', permissions increase as you go down the tree');
|
||||
define("UCSLAN_37", 'You must enter a name for the class');
|
||||
define("UCSLAN_38", 'Initial User Class');
|
||||
define("UCSLAN_39", 'No classes which can be set');
|
||||
define("UCSLAN_40", 'Set initial classes');
|
||||
define("UCSLAN_41", 'Settings updated');
|
||||
define("UCSLAN_42", 'Nothing changed - not updated');
|
||||
define("UCSLAN_43", 'Existing classes: ');
|
||||
define("UCSLAN_44", 'None');
|
||||
define("UCSLAN_45", 'Point at which classes set:');
|
||||
define("UCSLAN_46", '(ignored if no verification)');
|
||||
define("UCSLAN_47", 'Initial Signup');
|
||||
define("UCSLAN_48", 'Verification by email or admin');
|
||||
define("UCSLAN_49", 'These classes are set for any newly signed up user - either immediately, or once their site membership has been verified');
|
||||
define("UCSLAN_50", 'Options/Setup');
|
||||
define("UCSLAN_51", 'User Class Functions');
|
||||
define("UCSLAN_52", 'Setup Options');
|
||||
define("UCSLAN_53", 'Caution! Only use these options if you understand what they do');
|
||||
define("UCSLAN_54", 'Set a default user hierarchy');
|
||||
define("UCSLAN_55", 'Clear the user hierarchy');
|
||||
define("UCSLAN_56", "(this sets a 'flat' user class structure)");
|
||||
define("UCSLAN_57", '(the hierarchy can be modified later)');
|
||||
define("UCSLAN_58", 'Execute');
|
||||
define("UCSLAN_59", 'Enable admin logging of user class edits');
|
||||
define("UCSLAN_60", 'User Class Configuration options');
|
||||
define("UCSLAN_61", 'User class setup');
|
||||
define("UCSLAN_62", 'Create default class tree: ');
|
||||
define("UCSLAN_63", 'That class name already exists - please choose another');
|
||||
define("UCSLAN_64", 'completed');
|
||||
define("UCSLAN_65", 'Flatten user class hierarchy: ');
|
||||
define("UCSLAN_66", 'Confirm flatten user class hierarchy');
|
||||
define("UCSLAN_67", 'Confirm set default user class hierarchy');
|
||||
define("UCSLAN_68", 'Class Icon');
|
||||
define("UCSLAN_69", 'Optional icon associated with class - directory ');
|
||||
define("UCSLAN_70", 'Rebuilding class hierarchy: ');
|
||||
define("UCSLAN_71", 'User Class Maintenance');
|
||||
define("UCSLAN_72", 'Rebuild class hierarchy ');
|
||||
define('UCSLAN_73', '(This may be required if database corruption occurs)');
|
||||
define('UCSLAN_74', 'Administrators and Moderators');
|
||||
define('UCSLAN_75', 'Registered and logged in members');
|
||||
define('UCSLAN_76', 'Site Administrators');
|
||||
define('UCSLAN_77', 'Main site Administrators');
|
||||
define('UCSLAN_78', 'Moderators for Forums and other areas');
|
||||
define('UCSLAN_79', 'Class Type');
|
||||
define('UCSLAN_80', 'Standard');
|
||||
define('UCSLAN_81', 'Group');
|
||||
define('UCSLAN_82', 'A group brings together a number of individual classes');
|
||||
define('UCSLAN_83', 'Classes in group');
|
||||
define('UCSLAN_84', ' (Group)');
|
||||
define('UCSLAN_85', 'You have assigned all available classes; please reassign one which is not in use');
|
||||
define('UCSLAN_86', 'Some settings not allowed for admin classes - they have been set to defaults. ');
|
||||
define('UCSLAN_87', 'Recently joined users');
|
||||
define('UCSLAN_88', 'Identified search bots');
|
||||
define('UCSLAN_89', 'Checked classes are members of the group');
|
||||
define('UCSLAN_90', 'You can\'t edit system user classes!');
|
||||
define('UCSLAN_91', '');
|
||||
|
||||
|
||||
define("UCSLAN_UPDATE", 'Update');
|
||||
|
||||
|
||||
<?php
|
||||
/*
|
||||
+ ----------------------------------------------------------------------------+
|
||||
| e107 website system - Language File.
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/e107_languages/English/admin/lan_userclass2.php,v $
|
||||
| $Revision$
|
||||
| $Date$
|
||||
| $Author$
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
//define("UCSLAN_1", "Cleared all users from class.");
|
||||
//define("UCSLAN_2", "Class users updated.");
|
||||
define("UCSLAN_3", 'Class deleted.');
|
||||
// define("UCSLAN_4", "Please tick the confirm box to delete this user class"); currently not in use
|
||||
define("UCSLAN_5", 'Class updated.');
|
||||
define("UCSLAN_6", "Class saved to database.");
|
||||
define("UCSLAN_7", "No user classes yet.");
|
||||
define("UCSLAN_8", "Existing Classes");
|
||||
define("UCSLAN_9", "No Icon");
|
||||
define('UCSLAN_10', 'Class not deleted - it is a core class, or is used in the definition of another class, as either parent or edit class');
|
||||
define("UCSLAN_11", "tick to confirm");
|
||||
define("UCSLAN_12", "Class Name");
|
||||
define("UCSLAN_13", "Class Description");
|
||||
define("UCSLAN_14", "Update User Class");
|
||||
define("UCSLAN_15", "Create New Class");
|
||||
//define("UCSLAN_16", "Assign users to class");
|
||||
//define("UCSLAN_17", "Remove");
|
||||
define("UCSLAN_18", "Clear Class");
|
||||
//define("UCSLAN_19", "Assign users to");
|
||||
define("UCSLAN_20", "class");
|
||||
//define("UCSLAN_21", "User Class Settings");
|
||||
//define("UCSLAN_22", "Users - click to move ...");
|
||||
//define("UCSLAN_23", "Users in this class ...");
|
||||
define("UCSLAN_24", 'Class Manager');
|
||||
define("UCSLAN_25", 'Create/Edit Classes');
|
||||
define("UCSLAN_26", 'Class Membership');
|
||||
define("UCSLAN_27", 'Debug Help');
|
||||
//define("UCSLAN_28", 'Modify Class Membership');
|
||||
define("UCSLAN_29", 'That class must not be deleted');
|
||||
define("UCSLAN_30", 'Short name displayed in selectors');
|
||||
define("UCSLAN_31", 'Information about applicability of class');
|
||||
define("UCSLAN_32", 'Users in this class can add/remove themselves from the class being edited');
|
||||
define("UCSLAN_33", 'Determines which users can see this class in drop-down lists');
|
||||
define("UCSLAN_34", 'Class Visibility');
|
||||
define("UCSLAN_35", 'Class Parent');
|
||||
define("UCSLAN_36", 'If the top of the tree is \'No One\', permissions increase towards the top of the tree<br />If the top of the tree is \'Everyone\', permissions increase as you go down the tree');
|
||||
define("UCSLAN_37", 'You must enter a name for the class');
|
||||
define("UCSLAN_38", 'Initial User Class');
|
||||
define("UCSLAN_39", 'No classes which can be set');
|
||||
define("UCSLAN_40", 'Set initial classes');
|
||||
define("UCSLAN_41", 'Settings updated');
|
||||
define("UCSLAN_42", 'Nothing changed - not updated');
|
||||
define("UCSLAN_43", 'Existing classes: ');
|
||||
define("UCSLAN_44", 'None');
|
||||
define("UCSLAN_45", 'Point at which classes set:');
|
||||
define("UCSLAN_46", '(ignored if no verification)');
|
||||
define("UCSLAN_47", 'Initial Signup');
|
||||
define("UCSLAN_48", 'Verification by email or admin');
|
||||
define("UCSLAN_49", 'These classes are set for any newly signed up user - either immediately, or once their site membership has been verified');
|
||||
define("UCSLAN_50", 'Options/Setup');
|
||||
define("UCSLAN_51", 'User Class Functions');
|
||||
define("UCSLAN_52", 'Setup Options');
|
||||
define("UCSLAN_53", 'Caution! Only use these options if you understand what they do');
|
||||
define("UCSLAN_54", 'Set a default user hierarchy');
|
||||
define("UCSLAN_55", 'Clear the user hierarchy');
|
||||
define("UCSLAN_56", "(this sets a 'flat' user class structure)");
|
||||
define("UCSLAN_57", '(the hierarchy can be modified later)');
|
||||
define("UCSLAN_58", 'Execute');
|
||||
define("UCSLAN_59", 'Enable admin logging of user class edits');
|
||||
define("UCSLAN_60", 'User Class Configuration options');
|
||||
define("UCSLAN_61", 'User class setup');
|
||||
define("UCSLAN_62", 'Create default class tree: ');
|
||||
define("UCSLAN_63", 'That class name already exists - please choose another');
|
||||
define("UCSLAN_64", 'completed');
|
||||
define("UCSLAN_65", 'Flatten user class hierarchy: ');
|
||||
define("UCSLAN_66", 'Confirm flatten user class hierarchy');
|
||||
define("UCSLAN_67", 'Confirm set default user class hierarchy');
|
||||
define("UCSLAN_68", 'Class Icon');
|
||||
define("UCSLAN_69", 'Optional icon associated with class - directory ');
|
||||
define("UCSLAN_70", 'Rebuilding class hierarchy: ');
|
||||
define("UCSLAN_71", 'User Class Maintenance');
|
||||
define("UCSLAN_72", 'Rebuild class hierarchy ');
|
||||
define('UCSLAN_73', '(This may be required if database corruption occurs)');
|
||||
define('UCSLAN_74', 'Administrators and Moderators');
|
||||
define('UCSLAN_75', 'Registered and logged in members');
|
||||
define('UCSLAN_76', 'Site Administrators');
|
||||
define('UCSLAN_77', 'Main site Administrators');
|
||||
define('UCSLAN_78', 'Moderators for Forums and other areas');
|
||||
define('UCSLAN_79', 'Class Type');
|
||||
define('UCSLAN_80', 'Standard');
|
||||
define('UCSLAN_81', 'Group');
|
||||
define('UCSLAN_82', 'A group brings together a number of individual classes');
|
||||
define('UCSLAN_83', 'Classes in group');
|
||||
define('UCSLAN_84', ' (Group)');
|
||||
define('UCSLAN_85', 'You have assigned all available classes; please reassign one which is not in use');
|
||||
define('UCSLAN_86', 'Some settings not allowed for admin classes - they have been set to defaults. ');
|
||||
define('UCSLAN_87', 'Recently joined users');
|
||||
define('UCSLAN_88', 'Identified search bots');
|
||||
define('UCSLAN_89', 'Checked classes are members of the group');
|
||||
define('UCSLAN_90', 'You can\'t edit certain system user classes!');
|
||||
define('UCSLAN_91', '');
|
||||
|
||||
|
||||
define("UCSLAN_UPDATE", 'Update');
|
||||
|
||||
|
||||
?>
|
Loading…
x
Reference in New Issue
Block a user