1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-31 11:50:30 +02:00

Extra checks before deleting a user class

This commit is contained in:
e107steved
2008-01-13 17:47:35 +00:00
parent cf9456a36c
commit 48f844fc97
3 changed files with 19 additions and 11 deletions

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_admin/userclass2.php,v $
| $Revision: 1.6 $
| $Date: 2008-01-09 22:44:05 $
| $Revision: 1.7 $
| $Date: 2008-01-13 17:47:27 $
| $Author: e107steved $
+----------------------------------------------------------------------------+
*/
@@ -100,7 +100,7 @@ if (isset($_POST['delete']))
}
elseif ($_POST['confirm'])
{
if ($e_userclass->delete_class($class_id))
if ($e_userclass->delete_class($class_id) !== FALSE)
{
// $sql->db_Delete('userclass_classes', "userclass_id='".$class_id."' ");
userclass2_adminlog("AL_UC_LAN_02","ID:{$class_id} (".$e_userclass->uc_get_classname($class_id).")",2);
@@ -121,7 +121,7 @@ if (isset($_POST['delete']))
}
else
{
$message = UCSLAN_4;
$message = UCSLAN_10;
}
}
else

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.10 $
| $Date: 2008-01-09 22:44:05 $
| $Revision: 1.11 $
| $Date: 2008-01-13 17:47:27 $
| $Author: e107steved $
+----------------------------------------------------------------------------+
*/
@@ -932,8 +932,16 @@ class user_class_admin extends user_class
function delete_class($class_id)
{
if (in_array($class_id, $this->fixed_list)) return FALSE; // Some classes can't be deleted
if (isset($this->class_list[$class_id]) && count($this->class_list[$class_id]['class_children'])) return FALSE; // Can't delete class with descendants
return $this->sql_r->db_Delete('userclass_classes', "`userclass_id`='{$class_id}'");
if (!isset($this->class_tree[$class_id])) return FALSE;
if (count($this->class_tree[$class_id]['class_children'])) return FALSE; // Can't delete class with descendants
foreach ($this->class_tree as $c)
{
if ($c['userclass_editclass'] == $class_id) return FALSE;
if ($c['userclass_visibility'] == $class_id) return FALSE;
}
if (!$this->sql_r->db_Delete('userclass_classes', "`userclass_id`='{$class_id}'")) return FALSE;
$this->read_tree(TRUE); // Re-read the class tree
return TRUE;
}

View File

@@ -4,8 +4,8 @@
| e107 website system - Language File.
|
| $Source: /cvs_backup/e107_0.8/e107_languages/English/admin/lan_userclass2.php,v $
| $Revision: 1.2 $
| $Date: 2007-12-22 12:39:24 $
| $Revision: 1.3 $
| $Date: 2008-01-13 17:47:35 $
| $Author: e107steved $
+----------------------------------------------------------------------------+
*/
@@ -18,7 +18,7 @@ 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", "Delete");
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");