Location: PHPKode > projects > Blandware AtLeap Lite - CMS on PHP > atleaplite/include/dataobject/Role.php
<?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;
    }
}
Return current item: Blandware AtLeap Lite - CMS on PHP