Skip to content
Snippets Groups Projects
AdminGroups.php 2.63 KiB
Newer Older
<?php

include_once("include/db.php");


# Return list of groups
function getAdminGroups($params) {

	# Filters and sorts are the same here
	$filtersorts = array(
		'ID' => 'groups.ID',
		'Name' => 'groups.Name',
		'Priority' => 'groups.Priority',
		'Disabled' => 'groups.Disabled',
		'Comment' => 'groups.Comment'
	);

Robert Anderson's avatar
Robert Anderson committed
	# Perform query
	$res = DBSelectSearch("SELECT ID, Name, Priority, Disabled, Comment FROM groups",$params[1],$filtersorts,$filtersorts);
	$sth = $res[0]; $numResults = $res[1];
Robert Anderson's avatar
Robert Anderson committed

	# If STH is blank, return the error back to whoever requested the data
	if (!isset($sth)) {
		return $res;
	}
Robert Anderson's avatar
Robert Anderson committed
	# Loop through rows
	$resultArray = array();
	while ($row = $sth->fetchObject()) {
		$item = array();
		$item['ID'] = $row->id;
		$item['Name'] = $row->name;
		$item['Priority'] = $row->priority;
		$item['Disabled'] = $row->disabled;
		$item['Comment'] = $row->comment;
Robert Anderson's avatar
Robert Anderson committed
		# Push this row onto array
		array_push($resultArray,$item);
	}
Robert Anderson's avatar
Robert Anderson committed
	# Return results
	return array($resultArray,$numResults);
# Return specific group row
function getAdminGroup($params) {

Robert Anderson's avatar
Robert Anderson committed
	# Perform query
	$res = DBSelect("SELECT ID, Name, Priority, Disabled, Comment FROM groups WHERE ID = ?",array($params[0]));
Robert Anderson's avatar
Robert Anderson committed

	# Return error if failed
	if (!is_object($res)) {
		return $res;
	}

Robert Anderson's avatar
Robert Anderson committed
	# Build array of results
	$resultArray = array();
	$row = $res->fetchObject();

	$resultArray['ID'] = $row->id;
	$resultArray['Name'] = $row->name;
	$resultArray['Priority'] = $row->priority;
	$resultArray['Disabled'] = $row->disabled;
	$resultArray['Comment'] = $row->comment;

Robert Anderson's avatar
Robert Anderson committed
	# Return results
# Remove admin group
Robert Anderson's avatar
Robert Anderson committed
function removeAdminGroup($params) {

	# Begin transaction
	DBBegin();

	# Unlink users from group
	$res = DBDo("DELETE FROM users_to_groups WHERE GroupID = ?",array($params[0]));

	# Delete group attribtues
	if ($res !== FALSE) {
		$res = DBDo("DELETE FROM group_attributes WHERE GroupID = ?",array($params[0]));
	}

	# Delete group
	if ($res !== FALSE) {
		$res = DBDo("DELETE FROM groups WHERE ID = ?",array($params[0]));
	}

	# Commit and return if successful
	if (is_bool($res)) {
		return $res;
	# Else rollback database
	} else {
		DBRollback();
	}

	return NULL;
}

# Add admin group
function createAdminGroup($params) {

Robert Anderson's avatar
Robert Anderson committed
	# Perform query
	$res = DBDo("INSERT INTO groups (Name) VALUES (?)",array($params[0]['Name']));
	# Return result
	if (is_bool($res)) {
# Edit admin group
function updateAdminGroup($params) {

Robert Anderson's avatar
Robert Anderson committed
	# Perform query
	$res = DBDo("UPDATE groups SET Name = ? WHERE ID = ?",array($params[0]['Name'],$params[0]['ID']));
	# Return result
	if (is_bool($res)) {
Robert Anderson's avatar
Robert Anderson committed
# vim: ts=4