Вход Регистрация
Файл: framework/admin/code/CMSMenuItem.php
Строк: 71
<?php

/**
 * A simple CMS menu item.
 *
 * Items can be added to the menu through custom {@link LeftAndMainExtension}
 * classes and {@link CMSMenu}.
 *
 * @see CMSMenu
 *
 * @package framework
 * @subpackage admin
 */
class CMSMenuItem extends Object {

    
/**
     * The (translated) menu title
     * @var string $title
     */
    
public $title;

    
/**
     * Relative URL
     * @var string $url
     */
    
public $url;

    
/**
     * Parent controller class name
     * @var string $controller
     */
    
public $controller;

    
/**
     * Menu priority (sort order)
     * @var integer $priority
     */
    
public $priority;

    
/**
     * Attributes for the link. For instance, custom data attributes or standard
     * HTML anchor properties.
     *
     * @var string
     */
    
protected $attributes = array();

    
/**
     * Create a new CMS Menu Item
     *
     * @param string $title
     * @param string $url
     * @param string $controller Controller class name
     * @param integer $priority The sort priority of the item
     */
    
public function __construct($title$url$controller null$priority = -1) {
        
$this->title $title;
        
$this->url $url;
        
$this->controller $controller;
        
$this->priority $priority;

        
parent::__construct();
    }

    
/**
     * @param array $attributes
     */
    
public function setAttributes($attributes) {
        
$this->attributes $attributes;
    }

    
/**
     * @param array
     *
     * @return HTML
     */
    
public function getAttributesHTML($attrs null) {
        
$exclude = (is_string($attrs)) ? func_get_args() : null;

        if(!
$attrs || is_string($attrs)) {
            
$attrs $this->attributes;
        }

        
// Remove empty
        
$attrs array_filter((array)$attrs, function($v) {
            return (
$v || $v === || $v === '0');
        });

        
// Create markkup
        
$parts = array();

        foreach(
$attrs as $name => $value) {
            
$parts[] = ($value === true) ? "{$name}="{$name}"" "{$name}="" . Convert::raw2att($value) . """;
        }

        return 
implode(' '$parts);
    }
}
Онлайн: 1
Реклама