Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Attribute/Value/Value.php
Строк: 73
<?php

namespace ConcreteCoreAttributeValue;

use 
ConcreteCoreFoundationObject;
use 
Loader;

class 
Value extends Object
{
    protected 
$attributeType;
    protected 
$attributeKey;

    public static function 
getByID($avID)
    {
        
$av = new static();
        
$av->load($avID);
        if (
$av->getAttributeValueID() == $avID) {
            return 
$av;
        }
    }

    protected function 
load($avID)
    {
        
$db Loader::db();
        
$row $db->GetRow('select avID, akID, uID, avDateAdded, atID from AttributeValues where avID = ?', array($avID));
        if (
is_array($row) && $row['avID'] == $avID) {
            
$this->setPropertiesFromArray($row);
        }

        
$this->attributeType $this->getAttributeTypeObject();
        
$this->attributeType->controller->setAttributeKey($this->getAttributeKey());
        
$this->attributeType->controller->setAttributeValue($this);
    }

    public function 
__destruct()
    {
        if (isset(
$this->attributeType)) {
            if (
is_object($this->attributeType)) {
                
$this->attributeType->__destruct();
            }
            unset(
$this->attributeType);
        }
    }

    
/**
     * Validates the current attribute value to see if it fulfills the "requirement" portion of an attribute.
     * @return bool|ConcreteCoreErrorError
     */
    
public function validateAttributeValue()
    {
        
$at $this->attributeType;
        
$at->controller->setAttributeKey($this->attributeKey);
        
$e true;
        if (
method_exists($at->controller'validateValue')) {
            
$e $at->controller->validateValue();
        }
        return 
$e;
    }

    public function 
getValue($mode false)
    {
        if (
$mode != false) {
            
$th Loader::helper('text');
            
$modes func_get_args();
            foreach (
$modes as $mode) {
                
$method 'get'.$th->camelcase($mode).'Value';
                if (
method_exists($this->attributeType->controller$method)) {
                    return 
$this->attributeType->controller->{$method}();
                }
            }
        }

        return 
$this->attributeType->controller->getValue();
    }

    public function 
getSearchIndexValue()
    {
        if (
method_exists($this->attributeType->controller'getSearchIndexValue')) {
            return 
$this->attributeType->controller->getSearchIndexValue();
        } else {
            return 
$this->attributeType->controller->getValue();
        }
    }

    public function 
delete()
    {
        
$this->attributeType->controller->deleteValue();
        
$db Loader::db();
        
$db->Execute('delete from AttributeValues where avID = ?'$this->getAttributeValueID());
    }

    public function 
getAttributeKey()
    {
        return 
$this->attributeKey;
    }
    public function 
setAttributeKey($ak)
    {
        
$this->attributeKey $ak;
        
$this->attributeType->controller->setAttributeKey($ak);
    }
    public function 
getAttributeValueID()
    {
        return 
$this->avID;
    }
    public function 
getAttributeValueUserID()
    {
        return 
$this->uID;
    }
    public function 
getAttributeValueDateAdded()
    {
        return 
$this->avDateAdded;
    }
    public function 
getAttributeTypeID()
    {
        return 
$this->atID;
    }
    public function 
getAttributeTypeObject()
    {
        
$ato ConcreteCoreAttributeType::getByID($this->atID);

        return 
$ato;
    }
}
Онлайн: 0
Реклама