From 9dddaee8b3c7f2c70a9e7838f72b4dd4c3f9c079 Mon Sep 17 00:00:00 2001 From: Nate Jones Date: Fri, 20 Jun 2014 18:42:17 +0000 Subject: [PATCH] Fix Group (Permissions) Copy. --- core/users/app_languages.php | 20 +++++ core/users/group_permissions.php | 18 +++- core/users/permissions_copy.php | 138 ++++++++++++++++--------------- 3 files changed, 107 insertions(+), 69 deletions(-) diff --git a/core/users/app_languages.php b/core/users/app_languages.php index f4f39890bc..f07011edbc 100644 --- a/core/users/app_languages.php +++ b/core/users/app_languages.php @@ -357,6 +357,16 @@ $text['message-delete']['pt-pt'] = "Remoção Efectuada"; $text['message-delete']['fr-fr'] = "Supprimé"; + $text['message-delete']['en-us'] = "Delete Completed"; + $text['message-delete']['es-cl'] = "Eliminación Completada"; + $text['message-delete']['pt-pt'] = "Remoção Efectuada"; + $text['message-delete']['fr-fr'] = "Supprimé"; + + $text['message-copy']['en-us'] = "Copy Completed"; + $text['message-copy']['es-cl'] = "Copia Completada"; + $text['message-copy']['pt-pt'] = "Cópia Efectuada"; + $text['message-copy']['fr-fr'] = "Copié"; + $text['message-restore']['en-us'] = "Restore Completed"; $text['message-restore']['es-cl'] = "Restauración Completada"; $text['message-restore']['pt-pt'] = "Restauração Efectuada"; @@ -377,4 +387,14 @@ $text['message-password_mismatch']['pt-pt'] = "As passwords não correspondem."; $text['message-password_mismatch']['fr-fr'] = "les mots de passe ne correspondent pas"; + $text['message-new_group_name']['en-us'] = "Enter a Name for the new Group..."; + $text['message-new_group_name']['es-cl'] = "Introduzca un Nombre para el nuevo Grupo..."; + $text['message-new_group_name']['pt-pt'] = "Digite um Nome para o novo Grupo..."; + $text['message-new_group_name']['fr-fr'] = "Entrez un Nom pour le nouveau Groupe..."; + + $text['message-new_group_description']['en-us'] = "Enter a Description for the new Group..."; + $text['message-new_group_description']['es-cl'] = "Introduzca una Descripción para el nuevo Grupo..."; + $text['message-new_group_description']['pt-pt'] = "Digite uma Descrição para o novo grupo..."; + $text['message-new_group_description']['fr-fr'] = "Entrez une Description pour le nouveau groupe..."; + ?> diff --git a/core/users/group_permissions.php b/core/users/group_permissions.php index 9bf4171d6a..e915519392 100644 --- a/core/users/group_permissions.php +++ b/core/users/group_permissions.php @@ -310,6 +310,22 @@ require_once "resources/paging.php"; return; } +// copy group javascript + + echo "\n"; + //show the content echo "
\n"; echo "
"; @@ -322,7 +338,7 @@ require_once "resources/paging.php"; echo "".$text['header-group_permissions'].$group_name."\n"; echo "\n"; echo " "; - echo " "; + echo " "; echo "\n"; echo "\n"; echo "\n"; diff --git a/core/users/permissions_copy.php b/core/users/permissions_copy.php index 84641646fb..4a2779f449 100644 --- a/core/users/permissions_copy.php +++ b/core/users/permissions_copy.php @@ -42,81 +42,83 @@ else { } //set the http get/post variable(s) to a php variable - if (isset($_REQUEST["id"]) && isset($_REQUEST["ext"])) { - $group_name = check_str($_REQUEST["id"]); - $group_new = check_str($_REQUEST["ext"]); - } +if (isset($_REQUEST["group_name"]) && isset($_REQUEST["new_group_name"])) { -//get the groups data - $sql = "select * from v_groups "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and group_name = '$group_name' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $domain_uuid = $row["domain_uuid"]; - $group_description = $row["group_description"]; - $group_name = $row["group_name"]; - } - unset ($prep_statement); + $group_name = check_str($_REQUEST["group_name"]); + $new_group_name = check_str($_REQUEST["new_group_name"]); + $new_group_desc = check_str($_REQUEST["new_group_desc"]); - //copy the groups - $group_uuid = uuid(); - $sql = "insert into v_groups "; - $sql .= "("; - $sql .= "group_uuid, "; - $sql .= "domain_uuid, "; - $sql .= "group_name, "; - $sql .= "group_description "; - $sql .= ")"; - $sql .= "values "; - $sql .= "("; - $sql .= "'$group_uuid', "; - $sql .= "'$domain_uuid', "; - $sql .= "'$group_new', "; - $sql .= "'copy_$group_description' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - unset($sql); + //get the groups data + $sql = "select * from v_groups "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "and group_name = '".$group_name."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + foreach ($result as &$row) { + $domain_uuid = $row["domain_uuid"]; + $group_name = $row["group_name"]; + } + unset ($prep_statement); - -//get the group permissions data - $sql = "select * from v_group_permissions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and group_name = '$group_name' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $domain_uuid = $row["domain_uuid"]; - $permission_name = $row["permission_name"]; - $group_name = $row["group_name"]; - - //copy the group permissions - $group_permission_uuid = uuid(); - $sql = "insert into v_group_permissions "; - $sql .= "("; - $sql .= "group_permission_uuid, "; + //create new group + $group_uuid = uuid(); + $sql = "insert into v_groups "; + $sql .= "( "; + $sql .= "group_uuid, "; $sql .= "domain_uuid, "; - $sql .= "permission_name, "; - $sql .= "group_name "; - $sql .= ")"; + $sql .= "group_name, "; + $sql .= "group_description "; + $sql .= ") "; $sql .= "values "; - $sql .= "("; - $sql .= "'$group_permission_uuid', "; - $sql .= "'$domain_uuid', "; - $sql .= "'$permission_name', "; - $sql .= "'$group_new' "; - $sql .= ")"; + $sql .= "( "; + $sql .= "'".$group_uuid."', "; + $sql .= "'".$domain_uuid."', "; + $sql .= "'".$new_group_name."', "; + $sql .= "'".$new_group_desc."' "; + $sql .= ") "; $db->exec(check_sql($sql)); unset($sql); - } - unset ($prep_statement); -//redirect the user - $_SESSION["message"] = $text['message-copy']; - header("Location: groups.php"); - return; + //get the group permissions data + $sql = "select * from v_group_permissions "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "and group_name = '".$group_name."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + foreach ($result as &$row) { + $domain_uuid = $row["domain_uuid"]; + $permission_name = $row["permission_name"]; + $group_name = $row["group_name"]; + + //copy the group permissions + $group_permission_uuid = uuid(); + $sql = "insert into v_group_permissions "; + $sql .= "( "; + $sql .= "group_permission_uuid, "; + $sql .= "domain_uuid, "; + $sql .= "permission_name, "; + $sql .= "group_name "; + $sql .= ") "; + $sql .= "values "; + $sql .= "( "; + $sql .= "'".$group_permission_uuid."', "; + $sql .= "'".$domain_uuid."', "; + $sql .= "'".$permission_name."', "; + $sql .= "'".$new_group_name."' "; + $sql .= ") "; + $db->exec(check_sql($sql)); + unset($sql); + } + unset ($prep_statement); + + //redirect the user + $_SESSION["message"] = $text['message-copy']; + +} + +header("Location: groups.php"); +return; ?> \ No newline at end of file