Example #1
0
function createGroup($name, $description, $create_home = true)
{
	if (!isAdmin)
		return ucf(i18n("not enough rights to create new group"));

	if (empty($name))
		return ucf(i18n("a name must be specified"));
	
	$group = new mGroup();
	$group->setByName($name);

	if ($group->id > 0)
		return ucf(i18n("a group with that name already exists"));

	$group->name = $name;
	$group->description = $description;
	$ret = $group->save();
	
	if ($create_home && getNode("/root/home/groups/".$name) <= 0)
	{
		$home = new mObject();
		$home->setClassName("folder");
		$home->loadVars();
	
		$home->name = $name;
		$home->language = $_SESSION['murrix']['language'];
		$home->rights = "$name=rc";
	
		$home->setVarValue("description", "This is the home of $name");
	
		if ($home->save())
		{
			$home->setMeta("initial_rights", "$name=rwc");
			$home_folder = new mObject(getNode("/root/home/groups"));
			$home->linkWithNode($home_folder->getNodeId());
		}
		else
		{
			$message = "Operation unsuccessfull.<br/>";
			$message .= "Error output:<br/>";
			$message .= $home->getLastError();
			return $message;
		}
		
		$group->home_id = $home->getNodeId();
		$group->save();
	}
	
	return $ret;
}