Welcome Guest, Not a member yet? Register   Sign In
Khaos :: KhACL
#6

[eluser]bardelot[/eluser]
I found some bugs in the library when I tried to use it:

Code:
function map($aro_tree, $aco_tree)
    {                
        $map        = array(); // Holds final access map
        $interested = array(); // Holds records for which we are interested in

        // Build the array of aro/aco pairs were interested in      
        foreach ($aro_tree as $aro)
            foreach ($aco_tree as $aco)
                $interested[] = '('.$this->_Tables['access'].'.aro_id = '.$aro->id.' AND '.$this->_Tables['access'].'.aco_id = '.$aco->id.')';

// add - BEGIN
        if (count($interested) == 0)
            return false;
// add - END
[...]
            // If there are any AXO build the extensions array
            if ($rs_axo->num_rows(0) > 0)
            {
// change next line
                foreach ($rs_axo->result() as $axo_map)
Code:
function _set($aro, $aco, $axo = null, $allow = true)
[...]
        /*
         * If needed create/modify the access -> action link in the access_actions table
         */
        
        if ($axo !== null)
        {
            if (($rs = $this->_CI->db->query('SELECT id, allow FROM '.$this->_Tables['access_actions'].' WHERE access_id = ? AND axo_id = ? LIMIT 1', array($access_id, $axo_id))) !== false)
            {
                if ($rs->num_rows() === 0) // create link
                {
// change next line
                    if (!$this->_CI->db->query('INSERT INTO '.$this->_Tables['access_actions'].' (access_id, axo_id, allow) VALUES (?, ?, ?)', array($access_id, $axo_id, $allow)))
Code:
/**
     * Create ARO
     *
     * @param string $aro
     * @param string $parent
     * @param int    $link
     *
     * @return bool
     * @access public
     */
    function create($aro, $parent = null, $link = null)
[...]
                // Update all records past the left point by 2 to make room for the new ARO
                $this->_CI->db->query('UPDATE '.$this->_Tables['aros'].' SET rgt = rgt + 2 WHERE rgt > '.$left);
                $this->_CI->db->query('UPDATE '.$this->_Tables['aros'].' SET lft = lft + 2 WHERE lft > '.$left);
                
                // Insert the record
// change next line
                $this->_CI->db->query('INSERT INTO '.$this->_Tables['aros'].' (lft, rgt, name, link) VALUES ('.($left + 1).', '.($left + 2).', '.$this->_CI->db->escape($aro).', '.$link.')');
Code:
/**
     * Create ACO
     *
     * @param string $aco
     * @param string $parent
     * @param int    $link
     *
     * @return bool
     * @access public
     */
    function create($aco, $parent = null, $link = null)
[...]
                // Update all records past the left point by 2 to make room for the new ARO
                $this->_CI->db->query('UPDATE '.$this->_Tables['acos'].' SET rgt = rgt + 2 WHERE rgt > '.$left);
                $this->_CI->db->query('UPDATE '.$this->_Tables['acos'].' SET lft = lft + 2 WHERE lft > '.$left);
                
                // Insert the record
// change next line
                $this->_CI->db->query('INSERT INTO '.$this->_Tables['acos'].' (lft, rgt, name, link) VALUES ('.($left + 1).', '.($left + 2).', '.$this->_CI->db->escape($aco).', '.$link.')');
Code:
In your example you might want to change:
// Examples - KhACL->AXO
$this->khacl->aro->create('publish');
$this->khacl->aro->delete('publish');

into

// Examples - KhACL->AXO
$this->khacl->axo->create('publish');
$this->khacl->axo->delete('publish');


Messages In This Thread
Khaos :: KhACL - by El Forum - 01-29-2008, 10:49 AM
Khaos :: KhACL - by El Forum - 01-29-2008, 11:42 AM
Khaos :: KhACL - by El Forum - 01-29-2008, 12:35 PM
Khaos :: KhACL - by El Forum - 01-30-2008, 07:10 AM
Khaos :: KhACL - by El Forum - 01-30-2008, 05:11 PM
Khaos :: KhACL - by El Forum - 01-30-2008, 08:17 PM
Khaos :: KhACL - by El Forum - 01-31-2008, 03:49 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 09:14 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 10:03 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 10:33 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 10:39 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 10:50 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 03:14 PM
Khaos :: KhACL - by El Forum - 02-03-2008, 11:00 AM
Khaos :: KhACL - by El Forum - 02-03-2008, 01:35 PM
Khaos :: KhACL - by El Forum - 02-04-2008, 12:22 PM
Khaos :: KhACL - by El Forum - 02-05-2008, 03:45 AM
Khaos :: KhACL - by El Forum - 02-25-2008, 12:42 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 01:16 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 02:53 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 02:59 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 03:55 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 04:03 PM
Khaos :: KhACL - by El Forum - 02-29-2008, 09:56 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 06:23 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 07:03 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 07:28 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 07:34 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 07:44 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 08:05 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 08:20 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:06 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:12 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:19 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:26 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:46 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 10:47 AM
Khaos :: KhACL - by El Forum - 03-08-2008, 05:37 PM
Khaos :: KhACL - by El Forum - 03-09-2008, 10:22 AM
Khaos :: KhACL - by El Forum - 03-09-2008, 10:24 AM
Khaos :: KhACL - by El Forum - 03-09-2008, 12:21 PM
Khaos :: KhACL - by El Forum - 03-20-2008, 05:25 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 06:14 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 07:08 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 07:42 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 11:31 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 11:40 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 05:16 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 05:25 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 07:54 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 08:31 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 12:35 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 12:38 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 01:28 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 01:33 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 03:18 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 06:37 PM
Khaos :: KhACL - by El Forum - 03-26-2008, 05:13 AM
Khaos :: KhACL - by El Forum - 03-28-2008, 02:16 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 02:17 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 04:07 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 04:26 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 05:32 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 06:28 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 09:36 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 10:23 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 10:25 PM
Khaos :: KhACL - by El Forum - 03-31-2008, 02:59 AM
Khaos :: KhACL - by El Forum - 03-31-2008, 03:20 AM
Khaos :: KhACL - by El Forum - 03-31-2008, 06:43 AM
Khaos :: KhACL - by El Forum - 04-11-2008, 11:33 AM
Khaos :: KhACL - by El Forum - 04-11-2008, 11:48 AM
Khaos :: KhACL - by El Forum - 04-12-2008, 02:17 AM
Khaos :: KhACL - by El Forum - 04-14-2008, 02:32 AM
Khaos :: KhACL - by El Forum - 04-14-2008, 11:11 AM
Khaos :: KhACL - by El Forum - 05-02-2008, 01:04 AM
Khaos :: KhACL - by El Forum - 05-02-2008, 02:05 AM
Khaos :: KhACL - by El Forum - 05-19-2008, 05:01 PM
Khaos :: KhACL - by El Forum - 05-19-2008, 05:31 PM
Khaos :: KhACL - by El Forum - 05-19-2008, 05:40 PM
Khaos :: KhACL - by El Forum - 06-09-2008, 10:26 AM
Khaos :: KhACL - by El Forum - 06-17-2008, 02:31 PM
Khaos :: KhACL - by El Forum - 06-17-2008, 02:33 PM
Khaos :: KhACL - by El Forum - 06-25-2008, 09:43 AM
Khaos :: KhACL - by El Forum - 06-25-2008, 09:44 AM
Khaos :: KhACL - by El Forum - 06-26-2008, 06:54 AM
Khaos :: KhACL - by El Forum - 07-24-2008, 11:29 PM
Khaos :: KhACL - by El Forum - 07-27-2008, 06:06 PM
Khaos :: KhACL - by El Forum - 09-09-2008, 03:51 PM
Khaos :: KhACL - by El Forum - 05-06-2009, 03:18 AM
Khaos :: KhACL - by El Forum - 06-16-2009, 03:35 AM
Khaos :: KhACL - by El Forum - 07-24-2009, 12:48 AM
Khaos :: KhACL - by El Forum - 11-02-2010, 06:18 AM



Theme © iAndrew 2016 - Forum software by © MyBB