Вход Регистрация
Файл: concrete5.7.5.6/concrete/attributes/select/option_list.php
Строк: 86
<?php
namespace ConcreteAttributeSelect;
use 
Loader;
use 
ConcreteCoreFoundationObject;

class 
OptionList extends Object implements Iterator {

    private 
$options = array();
    
    public function 
add(Option $opt) {
        
$this->options[] = $opt;
    }
    
    public function 
rewind() {
        
reset($this->options);
    }
    
    public function 
current() {
        return 
current($this->options);
    }
    
    public function 
key() {
        return 
key($this->options);
    }
    
    public function 
next() {
        
next($this->options);
    }
    
    public function 
valid() {
        return 
$this->current() !== false;
    }
    
    public function 
count() {return count($this->options);}
    
    public function 
contains(Option $opt) {
        foreach(
$this->options as $o) {
            if (
$o->getSelectAttributeOptionID() == $opt->getSelectAttributeOptionID()) {
                return 
true;
            }
        }
        
        return 
false;
    }
    
    public function 
get($index) {
        return 
$this->options[$index];
    }
    
    public function 
getOptions() {
        return 
$this->options;
    }

    
/** Sort the options by their display value. */
    
public function sortByDisplayName() {
        
usort($this->options, array(__CLASS__'displayValueSorter'));
    }
    
/**
    * @param SelectAttributeTypeOption $a
    * @param SelectAttributeTypeOption $b
    * @return int
    */
    
protected static function displayValueSorter($a$b) {
        return 
strcasecmp($a->getSelectAttributeOptionDisplayValue('text'), $b->getSelectAttributeOptionDisplayValue('text'));
    }

    public function 
__toString() {
        
$str '';
        
$i 0;
        foreach(
$this->options as $opt) {
            
$str .= $opt->getSelectAttributeOptionValue();
            
$i++;
            if (
$i count($this->options)) {
                
$str .= "n";
            }
        }
        return 
$str;
    }


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