Source for file views.php
Documentation is available at views.php
 *  @package     FrameworkOnFramework  
 *  @copyright   Copyright (c)2010-2012 Nicholas K. Dionysopoulos  
 *  @license     GNU General Public License version 2, or later  
 * Configuration parser for the view-specific settings  
 * @package  FrameworkOnFramework  
     * Parse the XML data, adding them to the $ret array  
     * @param   SimpleXMLElement  $xml   The XML data of the component's configuration area  
     * @param   array             &$ret  The parsed data, in the form of a hash array  
    public function parseDomain(SimpleXMLElement $xml, array &$ret)  
        // Parse view configuration  
        $viewData = 
$xml->xpath('view');  
        foreach ($viewData as $aView)  
            $key = (string) 
$aView['name'];  
            $ret['views'][$key]['acl'] = 
array();  
            $aclData = 
$aView->xpath('acl/task');  
                foreach ($aclData as $acl)  
                    $k = (string) 
$acl['name'];  
                    $ret['views'][$key]['acl'][$k] = (string) 
$acl;  
            $ret['views'][$key]['taskmap'] = 
array();  
            $taskmapData = 
$aView->xpath('taskmap/task');  
            if (!empty($taskmapData))  
                foreach ($taskmapData as $map)  
                    $k = (string) 
$map['name'];  
                    $ret['views'][$key]['taskmap'][$k] = (string) 
$map;  
            // Parse controller configuration  
            $ret['views'][$key]['config'] = 
array();  
            $optionData = 
$aView->xpath('config/option');  
                foreach ($optionData as $option)  
                    $k = (string) 
$option['name'];  
                    $ret['views'][$key]['config'][$k] = (string) 
$option;  
            $ret['views'][$key]['toolbar'] = 
array();  
            $toolBar = 
$aView->xpath('toolbar');  
                $toolbarAttributes = 
$toolBar[0]->attributes();  
                // If a toolbar title is specified, create a title element.  
                if (isset
($toolbarAttributes['title']))  
                    $ret['views'][$key]['toolbar']['title'] = 
array(  
                        'value' => (string) 
$toolbarAttributes['title']  
                // Parse the toolbar buttons data  
                $toolbarData = 
$aView->xpath('toolbar/button');  
                if (!empty($toolbarData))  
                    foreach ($toolbarData as $button)  
                        $k = (string) 
$button['type'];  
                        $ret['views'][$key]['toolbar'][$k] = 
current($button->attributes());  
                        $ret['views'][$key]['toolbar'][$k]['value'] = (string) 
$button;  
     * Return a configuration variable  
     * @param   string  &$configuration  Configuration variables (hashed array)  
     * @param   string  $var             The variable we want to fetch  
     * @param   mixed   $default         Default value  
     * @return  mixed  The variable's value  
    public function get(&$configuration, $var, $default)  
        $method = 
'get' . 
ucfirst($parts[1]);  
        $ret = 
$this->$method($view, $configuration, $parts, $default);  
     * Internal function to return the task map for a view  
     * @param   string  $view            The view for which we will be fetching a task map  
     * @param   array   &$configuration  The configuration parameters hash array  
     * @param   array   $params          Extra options (not used)  
     * @param   array   $default         ßDefault task map; empty array if not provided  
     * @return  array  The task map as a hash array in the format task => method  
    protected function getTaskmap($view, &$configuration, $params, $default = 
array())  
        if (isset
($configuration['views']['*']) && isset
($configuration['views']['*']['taskmap']))  
            $taskmap = 
$configuration['views']['*']['taskmap'];  
        if (isset
($configuration['views'][$view]) && isset
($configuration['views'][$view]['taskmap']))  
            $taskmap = 
array_merge($taskmap, $configuration['views'][$view]['taskmap']);  
     * Internal method to return the ACL mapping (privilege required to access  
     * a specific task) for the given view's tasks  
     * @param   string  $view            The view for which we will be fetching a task map  
     * @param   array   &$configuration  The configuration parameters hash array  
     * @param   array   $params          Extra options; key 0 defines the task we want to fetch  
     * @param   string  $default         Default ACL option; empty (no ACL check) if not defined  
     * @return  string  The privilege required to access this view  
    protected function getAcl($view, &$configuration, $params, $default = 
'')  
        if (isset
($configuration['views']['*']) && isset
($configuration['views']['*']['acl']))  
            $aclmap = 
$configuration['views']['*']['acl'];  
        if (isset
($configuration['views'][$view]) && isset
($configuration['views'][$view]['acl']))  
            $aclmap = 
array_merge($aclmap, $configuration['views'][$view]['acl']);  
        if (isset
($aclmap[$params[0]]))  
            $acl = 
$aclmap[$params[0]];  
     * Internal method to return the a configuration option for the view. These  
     * are equivalent to $config array options passed to the Controller  
     * @param   string  $view            The view for which we will be fetching a task map  
     * @param   array   &$configuration  The configuration parameters hash array  
     * @param   array   $params          Extra options; key 0 defines the option variable we want to fetch  
     * @param   mixed   $default         Default option; null if not defined  
     * @return  string  The setting for the requested option  
    protected function getConfig($view, &$configuration, $params, $default = 
null)  
        if (isset
($configuration['views']['*'])  
            && isset
($configuration['views']['*']['config']) 
            && isset
($configuration['views']['*']['config'][$params[0]])) 
            $ret = 
$configuration['views']['*']['config'][$params[0]];  
        if (isset
($configuration['views'][$view])  
            && isset
($configuration['views'][$view]['config']) 
            && isset
($configuration['views'][$view]['config'][$params[0]])) 
            $ret = 
$configuration['views'][$view]['config'][$params[0]];  
     * Internal method to return the toolbar infos.  
     * @param   string  $view            The view for which we will be fetching buttons  
     * @param   array   &$configuration  The configuration parameters hash array  
     * @param   array   $params          Extra options  
     * @param   string  $default         Default option  
     * @return  string  The toolbar data for this view  
    protected function getToolbar($view, &$configuration, $params, $default = 
'')  
        if (isset
($configuration['views']['*']) && isset
($configuration['views']['*']['toolbar']))  
            $toolbar = 
$configuration['views']['*']['toolbar'];  
        if (isset
($configuration['views'][$view]) && isset
($configuration['views'][$view]['toolbar']))  
            $toolbar = 
array_merge($toolbar, $configuration['views'][$view]['toolbar']);  
 
 
	
		Documentation generated on Tue, 19 Nov 2013 15:18:18 +0100 by phpDocumentor 1.4.3