Location: PHPKode > projects > VaMoLà - Validator > vamola-validator/include/classes/DAO/PrivilegesDAO.class.php
<?php
/************************************************************************/
/* AChecker                                                             */
/************************************************************************/
/* Copyright (c) 2008 by Greg Gay, Cindy Li                             */
/* Adaptive Technology Resource Centre / University of Toronto			    */
/*                                                                      */
/* This program is free software. You can redistribute it and/or        */
/* modify it under the terms of the GNU General Public License          */
/* as published by the Free Software Foundation.                        */
/************************************************************************/

/**
* DAO for "themes" table
* @access	public
* @author	Cindy Qi Li
* @package	DAO
*/

if (!defined('AC_INCLUDE_PATH')) exit;

require_once(AC_INCLUDE_PATH. 'classes/DAO/DAO.class.php');

class PrivilegesDAO extends DAO {

	/**
	* Return privileges that are open to public
	* @access  public
	* @param   none
	* @return  table rows
	* @author  Cindy Qi Li
	*/
	function getAll()
	{
		$sql = 'SELECT *
				FROM '.TABLE_PREFIX.'privileges p
				ORDER BY privilege_id';

		return $this->execute($sql);
  	}

	/**
	* Return privileges that are open to public
	* @access  public
	* @param   none
	* @return  table rows
	* @author  Cindy Qi Li
	*/
	function getPublicPrivileges()
	{
		$sql = 'SELECT *
						FROM '.TABLE_PREFIX.'privileges p
						WHERE open_to_public = 1
						ORDER BY p.menu_sequence';

		return $this->execute($sql);
  	}

  	/**
	* Return privileges of the given user
	* @access  public
	* @param   $userID
	* @return  table rows
	* @author  Cindy Qi Li
	*/
	function getUserPrivileges($userID)
	{
		$sql = 'SELECT *
				FROM '.TABLE_PREFIX.'users u, '.TABLE_PREFIX.'user_groups ug, '.TABLE_PREFIX.'user_group_privilege ugp, '.TABLE_PREFIX.'privileges p
				WHERE u.user_id = '.$userID.'
				AND u.user_group_id = ug.user_group_id
				AND ug.user_group_id = ugp.user_group_id
				AND ugp.privilege_id = p.privilege_id
				ORDER BY p.menu_sequence';

	    return $this->execute($sql);
	  }

	/**
	* Return privileges of the given user group
	* @access  public
	* @param   $userGroupID
	* @return  table rows
	* @author  Cindy Qi Li
	*/
	function getUserGroupPrivileges($userGroupID)
	{
		$sql = 'SELECT *, ug.description user_group_desc, p.description privilege_desc
				FROM '.TABLE_PREFIX.'user_groups ug, '.TABLE_PREFIX.'user_group_privilege ugp, '.TABLE_PREFIX.'privileges p
				WHERE ug.user_group_id = '.$userGroupID.'
				AND ug.user_group_id = ugp.user_group_id
				AND ugp.privilege_id = p.privilege_id
				ORDER BY p.menu_sequence';
	
		return $this->execute($sql);
	}

	/**
	* Return all privileges except the privilege ids in given string  
	* @access  public
	* @param   $privilegeIDs : a string of check ids separated by comma. for example: 1, 2, 3
	* @return  table rows
	* @author  Cindy Qi Li
	*/
	function getAllPrivsExceptListed($privilegeIDs)
	{
		if (trim($privilegeIDs) == '')
			return $this->getAll();
		else
		{
			$sql = "SELECT * FROM ". TABLE_PREFIX ."privileges 
			         WHERE privilege_id NOT IN (".$privilegeIDs.")";
			return $this->execute($sql);
		}
	}
	
}
?>
Return current item: VaMoLà - Validator