<?php
/*
* Copyright 2008 Blandware (http://www.blandware.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Table Definition for role
*
* @package AtleapLite
* @author Roman Puchkovskiy
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
/**
*/
require_once 'dbdo_ext.php';
/**
* Security role may have some permissions assigned to it. User is always
* assigned a role; this role defines user permissions.
*
* @package AtleapLite
*/
class DataObjects_Role extends DB_DataObject_Base
{
###START_AUTOCODE
/* the code below is auto generated do not remove the above tag */
var $__table = 'role'; // table name
var $id; // int(11) not_null primary_key auto_increment
var $identifier; // string(60) not_null unique_key
var $title; // string(765) not_null
var $description; // string(765)
var $admin; // int(1) not_null
/* ZE2 compatibility trick*/
function __clone() { return $this;}
/* Static get */
function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('DataObjects_Role',$k,$v); }
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
/**
* Returns whether this role is admin role.
*
* @return bool true if this is admin role
*/
function isAdmin() {
return $this->admin == 1;
}
/**
* Returns human-readable status which says whether this is admin role.
*
* @return string yes or no (localized)
*/
function isAdminYesno() {
return yesnoDescr($this->isAdmin());
}
/**
* Returns array of IDs of all permissions which are assigned to this role.
*
* @return array permission IDs
*/
function getPermissionIds() {
$rp =& getDao('role_permission');
$rp->role_id = $this->id;
$rps = $rp->fetchAll();
$result = array();
foreach ($rps as $rp) {
$result[] = $rp->permission_id;
}
return $result;
}
/**
* Deletes all objects which should be deleted due to cascade.
*
* @return boolean true
*/
function deleteCascadedObjects() {
$rp =& getDao('role_permission');
$rp->role_id = $this->id;
$rp->delete();
return true;
}
function isInUse() {
$dao =& getDao('user');
$dao->role_id = $this->id;
$dao->selectAdd();
$dao->selectAdd("count(*) as __c");
$dao->find(true);
return $dao->__c > 0;
}
}