Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Search/Column/Set.php
Строк: 76
<?php
namespace ConcreteCoreSearchColumn;

class 
Set
{
    protected 
$columns = array();
    protected 
$defaultSortColumn;

    public function 
addColumn($col)
    {
        
$this->columns[] = $col;
    }

    public function 
__wakeup()
    {
        
$i = 0;
        foreach (
$this->columns as $col) {
            if (
$col instanceof AttributeKeyColumn) {
                
$ak = call_user_func(array($this->attributeClass, 'getByHandle'), substr($col->getColumnKey(), 3));
                if (!
is_object($ak)) {
                    unset(
$this->columns[$i]);
                }
            }
            ++
$i;
        }
    }

    public function 
getSortableColumns()
    {
        
$tmp = array();
        
$columns = $this->getColumns();
        foreach (
$columns as $col) {
            if (
$col->isColumnSortable()) {
                
$tmp[] = $col;
            }
        }

        return 
$tmp;
    }

    public function 
setDefaultSortColumn(Column $col, $direction = false)
    {
        if (
$direction != false) {
            
$col->setColumnDefaultSortDirection($direction);
        }
        
$this->defaultSortColumn = $col;
    }

    public function 
getDefaultSortColumn()
    {
        return 
$this->defaultSortColumn;
    }

    public function 
getColumnByKey($key)
    {
        if (
substr($key, 0, 3) == 'ak_') {
            
$ak = call_user_func(array($this->attributeClass, 'getByHandle'), substr($key, 3));
            
$col = new AttributeKeyColumn($ak);

            return 
$col;
        } else {
            foreach (
$this->columns as $col) {
                if (
$col->getColumnKey() == $key) {
                    return 
$col;
                }
            }
        }
    }

    public function 
getColumns()
    {
        return 
$this->columns;
    }

    public function 
contains($col)
    {
        foreach (
$this->columns as $_col) {
            if (
$col instanceof Column) {
                if (
$_col->getColumnKey() == $col->getColumnKey()) {
                    return 
true;
                }
            } elseif (
is_a($col, 'ConcreteCoreAttributeKeyKey')) {
                if (
$_col->getColumnKey() == 'ak_' . $col->getAttributeKeyHandle()) {
                    return 
true;
                }
            }
        }

        return 
false;
    }
}
Онлайн: 2
Реклама