Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Gathering/Item/Template/Type.php
Строк: 80
<?php
namespace ConcreteCoreGatheringItemTemplate;
use 
ConcreteCoreFoundationObject;
use 
Loader;
use 
ConcreteCorePackagePackageList;
use 
CacheLocal;

class 
Type extends Object {

    public function 
getGatheringItemTemplateTypeID() {return $this->gatTypeID;}
    public function 
getGatheringItemTemplateTypeHandle() {return $this->gatTypeHandle;}
    public function 
getGatheringItemTemplateTypeName() {
        return 
Loader::helper('text')->unhandle($this->gatTypeHandle);
    }

    public static function 
getByID($gatTypeID) {
        
$db Loader::db();
        
$row $db->GetRow('select gatTypeID, pkgID, gatTypeHandle from GatheringItemTemplateTypes where gatTypeID = ?', array($gatTypeID));
        if (
$row['gatTypeID']) {
            
$wt = new static();
            
$wt->setPropertiesFromArray($row);
            return 
$wt;
        }
    }

    public static function 
getList() {
        
$gaItemTemplateTypeList CacheLocal::getEntry('gaItemTemplateTypeList'false);
        if (
$gaItemTemplateTypeList != false) {
            return 
$gaItemTemplateTypeList;
        }

        
$db Loader::db();
        
$list = array();
        
$r $db->Execute('select gatTypeID from GatheringItemTemplateTypes order by gatTypeID asc');

        while (
$row $r->FetchRow()) {
            
$type = static::getByID($row['gatTypeID']);
            if (
is_object($type)) {
                
$list[] = $type;
            }
        }

        
$r->Close();
        
CacheLocal::set('gaItemTemplateTypeList'false$list);
        return 
$list;
    }

    public static function 
exportList($xml) {
        
$agtypes = static::getList();
        
$db Loader::db();
        
$axml $xml->addChild('gatheringitemtemplatetypes');
        foreach(
$agtypes as $agt) {
            
$atype $axml->addChild('gatheringitemtemplatetype');
            
$atype->addAttribute('handle'$agt->getGatheringItemTemplateTypeHandle());
            
$atype->addAttribute('package'$agt->getPackageHandle());
        }
    }

    public function 
delete() {
        
$db Loader::db();
        
$db->Execute("delete from GatheringItemTemplateTypes where gatTypeID = ?", array($this->gatTypeID));
    }

    public static function 
getListByPackage($pkg) {
        
$db Loader::db();
        
$list = array();
        
$r $db->Execute('select gatTypeID from GatheringItemTemplateTypes where pkgID = ? order by gatTypeID asc', array($pkg->getPackageID()));
        while (
$row $r->FetchRow()) {
            
$type = static::getByID($row['gatTypeID']);
            if (
is_object($type)) {
                
$list[] = $type;
            }
        }
        
$r->Close();
        return 
$list;
    }

    public function 
getPackageID() { return $this->pkgID;}
    public function 
getPackageHandle() {
        return 
PackageList::getHandle($this->pkgID);
    }

    public static function 
getByHandle($gatTypeHandle) {
        
$db Loader::db();
        
$gatTypeID $db->GetOne('select gatTypeID from GatheringItemTemplateTypes where gatTypeHandle = ?', array($gatTypeHandle));
        if (
$gatTypeID 0) {
            return 
self::getByID($gatTypeID);
        }
    }

    public static function 
add($gatTypeHandle$pkg false) {
        
$pkgID 0;
        if (
is_object($pkg)) {
            
$pkgID $pkg->getPackageID();
        }
        
$db Loader::db();
        
$db->Execute('insert into GatheringItemTemplateTypes (gatTypeHandle, pkgID) values (?, ?)', array($gatTypeHandle$pkgID));
        
$id $db->Insert_ID();
        
$est = static::getByID($id);
        return 
$est;
    }

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