/** * Returns whether a user can manage contacts. * * @param Contact $user * @return boolean */ function can_manage_contacts(Contact $user, $include_groups = true) { if ($user->isAdministrator()) { return true; } $can_manage_contacts = false; $pg_ids = $user->getPermissionGroupIds(); if (count($pg_ids) > 0) { $pgs = SystemPermissions::findAll(array('conditions' => 'permission_group_id IN (' . implode(',', $pg_ids) . ')')); foreach ($pgs as $pg) { if ($pg->getColumnValue('can_manage_contacts')) { $can_manage_contacts = true; break; } } } return $can_manage_contacts; }