exit();
}
-$name = $_POST["groupname"];
+$groupname = $_POST["groupname"];
+
+// Does the group exist?
+if( in_array( $groupname, OC_GROUP::getGroups())){
+ echo json_encode( array( "status" => "error", "data" => array( "message" => "Group already exists" )));
+ exit();
+}
// Return Success story
-if( OC_GROUP::createGroup( $name )){
- echo json_encode( array( "status" => "success", "data" => array( "groupname" => $name )));
+if( OC_GROUP::createGroup( $groupname )){
+ echo json_encode( array( "status" => "success", "data" => array( "groupname" => $groupname )));
}
else{
echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to add group" )));
$username = $_POST["username"];
$password = $_POST["password"];
+// Does the group exist?
+if( in_array( $username, OC_USER::getUsers())){
+ echo json_encode( array( "status" => "error", "data" => array( "message" => "User already exists" )));
+ exit();
+}
+
// Return Success story
if( OC_USER::createUser( $username, $password )){
foreach( $groups as $i ){
OC_GROUP::addToGroup( $username, $i );
}
- echo json_encode( array( "status" => "success", "data" => array( "username" => $username, "groups" => implode( ", ", $groups ))));
+ echo json_encode( array( "status" => "success", "data" => array( "username" => $username, "groups" => implode( ", ", OC_GROUP::getUserGroups( $username )))));
}
else{
echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to add user" )));
}
$success = true;
+$error = "add user to";
+$action = "add";
$username = $_POST["username"];
$group = $_POST["group"];
// Toggle group
if( OC_GROUP::inGroup( $username, $group )){
- OC_GROUP::removeFromGroup( $username, $group );
+ $action = "remove";
+ $error = "remove user from";
+ $success = OC_GROUP::removeFromGroup( $username, $group );
}
else{
- OC_GROUP::addToGroup( $username, $group );
+ $success = OC_GROUP::addToGroup( $username, $group );
}
// Return Success story
if( $success ){
- echo json_encode( array( "status" => "success", "data" => array( "username" => $username )));
+ echo json_encode( array( "status" => "success", "data" => array( "username" => $username, "action" => $action, "groupname" => $groupname )));
}
else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to delete user" )));
+ echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to $error group $group" )));
}
?>
}
}
else{
- alert( "something went wrong! sorry!" );
+ printError( data.data.message );
}
});
return false;
}
+ function printError( message ){
+ $("#errormessage").text( message );
+ $("#errordialog").dialog( "open" );
+ return false;
+ }
+
//#########################################################################
// Functions for editing the dom after user manipulation
//#########################################################################
$('#changepassword').hide();
}
else{
- alert( "something went wrong! sorry!" );
+ printError( data.data.message );
}
});
return false;
// Show the create user form
$( "#createuseroptionbutton" )
.click(function(){
- $( "#createuserform" ).toggle();
+ $("#createuserform").show();
+ $("#createuseroption").hide();
return false;
});
userCreated( data.data.username, data.data.groups );
}
else{
- alert( "Bug By Jakob (c)" );
+ printError( data.data.message );
}
});
return false;
groupCreated( data.data.groupname );
}
else{
- alert( "something went wrong! sorry!" );
+ printError( data.data.message );
}
});
return false;
// Dialogs
//#########################################################################
+ // Removing users
+ $( "#errordialog" ).dialog({
+ autoOpen: false,
+ modal: true,
+ buttons: {
+ OK: function() {
+ $( this ).dialog( "close" );
+ }
+ }
+ });
+
// Removing users
$( "#removeuserform" ).dialog({
autoOpen: false,
userRemoved( uid );
}
else{
- alert( "Bug By Jakob (c)" );
+ printError( data.data.message );
}
});
$( this ).dialog( "close" );
groupRemoved( gid );
}
else{
- alert( "Bug By Jakob (c)" );
+ printError( data.data.message );
}
});
$( this ).dialog( "close" );
<?php foreach($_["groups"] as $group): ?>
<tr x-gid="<?php echo $group["name"]; ?>">
<td><?php echo $group["name"] ?></td>
- <td><a class="removegroupbutton" href="">remove</a></td>
+ <td>
+ <?php if( $group["name"] != "admin" ): ?>
+ <a class="removegroupbutton" href="">remove</a>
+ <?php else: ?>
+
+ <?php endif; ?>
+ </td>
</tr>
<?php endforeach; ?>
</tbody>
<input id="removegroupnamefield" type="hidden" name="groupname" value="">
</form>
</div>
+
+<div id="errordialog" title="Error">
+ <span id="errormessage"></span>
+</div>
if( !$gid ){
return false;
}
+ // No duplicate group names
+ if( in_array( $gid, self::getGroups())){
+ return false;
+ }
$run = true;
OC_HOOK::emit( "OC_GROUP", "pre_createGroup", array( "run" => &$run, "gid" => $gid ));
* Adds a user to a group.
*/
public static function addToGroup( $uid, $gid ){
+ // Does the user exist?
+ if( !in_array( $uid, OC_USER::getUsers())){
+ return false;
+ }
+ // Does the group exist?
+ if( !in_array( $gid, self::getGroups())){
+ return false;
+ }
+
+ // Go go go
$run = true;
OC_HOOK::emit( "OC_GROUP", "pre_addToGroup", array( "run" => &$run, "uid" => $uid, "gid" => $gid ));
if( !$uid ){
return false;
}
+ // Check if user already exists
+ if( in_array( $uid, self::getUsers())){
+ return false;
+ }
+
$run = true;
OC_HOOK::emit( "OC_USER", "pre_createUser", array( "run" => &$run, "uid" => $uid, "password" => $password ));