Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Feature/Category/Category.php
Строк: 75
<?php
namespace ConcreteCoreFeatureCategory;
use 
ConcreteCoreFoundationObject;
use 
Loader;
use 
ConcreteCorePackagePackageList;
use 
Core;
abstract class 
Category extends Object {

    abstract public function 
assignmentIsInUse(ConcreteCoreFeatureAssignmentAssignment $fa);

    public static function 
getByID($fcID) {
        
$db Loader::db();
        
$row $db->GetRow('select fcID, fcHandle, pkgID from FeatureCategories where fcID = ?', array($fcID));
        if (isset(
$row['fcID'])) {
            
$class '\Concrete\Core\Feature\Category\' . Loader::helper('text')->camelcase($row['fcHandle']) . 'Category';
            $fe = Core::make($class);
            $fe->setPropertiesFromArray($row);
            return $fe;
        }
    }

    public static function getByHandle($fcHandle) {
        $db = Loader::db();
        $row = $db->GetRow('
select fcIDfcHandlepkgID from FeatureCategories where fcHandle = ?', array($fcHandle));
        if (isset($row['
fcID'])) {
            $class = '
\Concrete\Core\Feature\Category\' . Loader::helper('text')->camelcase($row['fcHandle']) . 'Category';
            $fe = Core::make($class);
            $fe->setPropertiesFromArray($row);
            return $fe;
        }
    }

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

    public static function getList() {
        $db = Loader::db();
        $list = array();
        $r = $db->Execute('
select fcID from FeatureCategories order by fcID asc');
        while ($row = $r->FetchRow()) {
            $fe = static::getByID($row['
fcID']);
            if (is_object($fe)) {
                $list[] = $fe;
            }
        }
        $r->Close();
        return $list;
    }

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

    public static function add($fcHandle, $pkg = false) {
        $db = Loader::db();
        $pkgID = 0;
        if (is_object($pkg)) {
            $pkgID = $pkg->getPackageID();
        }

        $db->Execute('
insert into FeatureCategories (fcHandlepkgIDvalues (?, ?)', array($fcHandle, $pkgID));
        $id = $db->Insert_ID();

        $fe = static::getByID($id);
        return $fe;
    }


    public function export($fxml) {
        $fe = $fxml->addChild('
featurecategory');
        $fe->addAttribute('
handle',$this->getFeatureCategoryHandle());
        $fe->addAttribute('
package', $this->getPackageHandle());
        return $fe;
    }

    public static function exportList($xml) {
        $fxml = $xml->addChild('
featurecategories');
        $db = Loader::db();
        $r = $db->Execute('
select fcID from FeatureCategories order by fcID asc');
        $list = array();
        while ($row = $r->FetchRow()) {
            $fe = static::getByID($row['
fcID']);
            if (is_object($fe)) {
                $list[] = $fe;
            }
        }
        foreach($list as $fe) {
            $fe->export($fxml);
        }
    }

    public function delete() {
        $db = Loader::db();
        $db->Execute('
delete from FeatureCategories where fcID = ?', array($this->fcID));
    }


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