+--------------------------------------------------------------------+
| CiviCRM version 4.6 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014 |
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
+ * @copyright CiviCRM LLC (c) 2004-2015
* $Id$
*
*/
class CRM_ACL_API {
/**
- * The various type of permissions
+ * The various type of permissions.
*
* @var int
*/
/**
* Given a permission string, check for access requirements
*
- * @param string $str the permission to check
- * @param int $contactID the contactID for whom the check is made
+ * @param string $str
+ * The permission to check.
+ * @param int $contactID
+ * The contactID for whom the check is made.
*
- * @return boolean true if yes, else false
- * @static
+ * @return bool
+ * true if yes, else false
*/
public static function check($str, $contactID = NULL) {
if ($contactID == NULL) {
}
/**
- * Get the permissioned where clause for the user
+ * Get the permissioned where clause for the user.
*
- * @param int $type the type of permission needed
- * @param array $tables (reference ) add the tables that are needed for the select clause
- * @param array $whereTables (reference ) add the tables that are needed for the where clause
- * @param int $contactID the contactID for whom the check is made
- * @param bool $onlyDeleted whether to include only deleted contacts
- * @param bool $skipDeleteClause don't add delete clause if this is true,
- * this means it is handled by generating query
+ * @param int $type
+ * The type of permission needed.
+ * @param array $tables
+ * (reference ) add the tables that are needed for the select clause.
+ * @param array $whereTables
+ * (reference ) add the tables that are needed for the where clause.
+ * @param int $contactID
+ * The contactID for whom the check is made.
+ * @param bool $onlyDeleted
+ * Whether to include only deleted contacts.
+ * @param bool $skipDeleteClause
+ * Don't add delete clause if this is true,.
+ * this means it is handled by generating query
*
- * @return string the group where clause for this user
+ * @return string
+ * the group where clause for this user
*/
- public static function whereClause($type,
+ public static function whereClause(
+ $type,
&$tables,
&$whereTables,
- $contactID = NULL,
- $onlyDeleted = FALSE,
+ $contactID = NULL,
+ $onlyDeleted = FALSE,
$skipDeleteClause = FALSE
) {
// the default value which is valid for rhe final AND
}
/**
- * Get all the groups the user has access to for the given operation
+ * Get all the groups the user has access to for the given operation.
*
- * @param int $type the type of permission needed
- * @param int $contactID the contactID for whom the check is made
+ * @param int $type
+ * The type of permission needed.
+ * @param int $contactID
+ * The contactID for whom the check is made.
*
* @param string $tableName
* @param null $allGroups
* @param null $includedGroups
*
- * @return array the ids of the groups for which the user has permissions
+ * @return array
+ * the ids of the groups for which the user has permissions
*/
public static function group(
$type,
- $contactID = NULL,
- $tableName = 'civicrm_saved_search',
- $allGroups = NULL,
+ $contactID = NULL,
+ $tableName = 'civicrm_saved_search',
+ $allGroups = NULL,
$includedGroups = NULL
) {
if ($contactID == NULL) {
/**
* Check if the user has access to this group for operation $type
*
- * @param int $type the type of permission needed
+ * @param int $type
+ * The type of permission needed.
* @param int $groupID
- * @param int $contactID the contactID for whom the check is made
- *
+ * @param int $contactID
+ * The contactID for whom the check is made.
* @param string $tableName
* @param null $allGroups
* @param null $includedGroups
* @param bool $flush
*
- * @return array the ids of the groups for which the user has permissions
+ * @return array
+ * the ids of the groups for which the user has permissions
*/
public static function groupPermission(
$type,
$groupID,
- $contactID = NULL,
- $tableName = 'civicrm_saved_search',
- $allGroups = NULL,
+ $contactID = NULL,
+ $tableName = 'civicrm_saved_search',
+ $allGroups = NULL,
$includedGroups = NULL,
$flush = FALSE
) {
static $cache = array();
+ $groups = array();
//@todo this is pretty hacky!!!
//adding a way for unit tests to flush the cache
if ($flush) {
$cache = array();
- return;
+ return NULL;
}
if (!$contactID) {
$session = CRM_Core_Session::singleton();
return in_array($groupID, $groups) ? TRUE : FALSE;
}
+
}