diff --git a/core/users/group_permissions.php b/core/users/group_permissions.php index 9beb5db44d..b388be5b8b 100644 --- a/core/users/group_permissions.php +++ b/core/users/group_permissions.php @@ -206,6 +206,7 @@ require_once "resources/paging.php"; echo "\n"; echo "".$text['header-group_permissions'].$group_name."\n"; echo "\n"; + echo " "; if (permission_exists('group_edit')) { echo " "; } @@ -281,4 +282,4 @@ require_once "resources/paging.php"; //show the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/core/users/permissions_copy.php b/core/users/permissions_copy.php new file mode 100644 index 0000000000..b990ee845d --- /dev/null +++ b/core/users/permissions_copy.php @@ -0,0 +1,136 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2013 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Sérgio Reis +*/ +include "root.php"; +require_once "resources/require.php"; +require_once "resources/check_auth.php"; +require_once "resources/paging.php"; +if (permission_exists('extension_add')) { + //access granted +} +else { + echo "access denied"; + exit; +} + +//add multi-lingual support + require_once "app_languages.php"; + foreach($text as $key => $value) { + $text[$key] = $value[$_SESSION['domain']['language']['code']]; + } + +//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"]); + } + +//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"]; + break; + } + unset ($prep_statement); + + //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 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 .= "'$group_new' "; + $sql .= ")"; + $db->exec(check_sql($sql)); + unset($sql); + } + unset ($prep_statement); + +//redirect the user + require_once "resources/header.php"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
".$text['message-message']."
".$text['message-copy']."
\n"; + echo "
\n"; + echo "
\n"; + require_once "resources/footer.php"; + return; + +?>