class Server extends Catalog

Виртуальный сервер

Traits

Используется в классах, которым необходимо работать с БД.

Constants

TYPE

ID типа материалов для разделов

TABLE

Таблица, в которой хранится информация о разделах

INHERIT

LINKED

AUTOALIAS

AUTOALIAS_TRANSLIT

AUTOALIAS_ID

DEFAULT_SERVER

Флаг, указывающий, что сервер является основным

Properties

static $plugins Плагины from Base
int $id идентификатор объекта from Base
array $fields Значения полей объекта from DynamicFieldsObject
array $raw_fields Значения полей объекта? считанные из БД from DynamicFieldsObject
array $_objectDefinition Описание объекта from DynamicFieldsObject
static array $predefinedObjectDefinition Описание объекта from DynamicFieldsObjectPredefined
static $extension from Extendable
string $name название раздела from Section
string $alias псевдоним раздела from Section
string $url абсолютный url раздела from Section
Children $children дочерние разделы from Section

Methods

__toString()

No description

array
asArray()

Возвращает объект в виде массива с указанными полями

from Base
mixed
__get(string $name)

Перегрузка чтения свойств класса.

void
__set(string $name, mixed $value)

Перегрузка записи свойств класса.

static void
addPlugin(ObjectPlugin $class)

Расширяет функциональность класса с помощью методов другого класса.

from Base
__call($name, $arguments)

No description

from Base
decodeLocaleString($str)

No description

from Base
static Connection
getDbConnection()

Возвращает активное соединение с БД в рамках приложения

static void
configSet(string $key, miced $value)

Сохраняет пару ключ/значение в БД

static mixed
configGet(string $key)

Возвращает значение связанное с ключем из БД

static mixed
configGetAll()

Возвращает все ключи/значения из БД

static void
configUnset(string $key)

Удаляет пару ключ/значение из БД

factory($type, $table = null, $fields = null)

No description

fetch(array $data, $a = null, $b = null)

No description

setFields(array $fields)

Устанавливает поля раздела

from Section
getByIdType($id, $type)

Возвращает объект по ID и "Типу материалов".

__isset($name)

No description

static 
clearLocks()

No description

lock($uid)

No description

unlock()

No description

int
getType()

Возвращает "Тип материалов" объекта

string
getTable()

Возвращает таблицу БД, в которой хранятся поля объекта

array
getFieldsDef()

Возвращает описание полей объекта

mixed
getDynamicField(string $name)

No description

from Section
offsetExists($offset)

No description

offsetGet($offset)

No description

offsetSet($offset, $value)

No description

offsetUnset($offset)

No description

Object
getLinkedObjects($od, $fieldName)

Чтение из БД объектов, которые связаны полем $field с данным объектом.

Object
selectLinks(string $fieldname, string $fields = 'A.*', string $where = '', string $order = 'B.tag', string $group = '', string $limit = '') deprecated

DEPRECATED

Object
selectLinksIn(int|string $from, string $field, string $fields = '*', string $where = '', string $order = '', string $group = '', string $limit = '')

DEPRECATED Чтение из БД объектов, которые связаны полем $field с объектом.

void
delete()

Удаляет раздел

from Section
void
save()

Сохранить раздел

from Section
setObjectDefinition($od)

No description

static 
getObjectDefinition()

No description

static User
getById(int $id)

Возвращает раздел по его идентификатору.

from Section
static 
extend($class)

No description

static 
create()

No description

static 
callStatic($method)

No description

setNodeId($id)

No description

from Section
static Section
getRoot()

Возвращает корневой раздел

from Section
getName()

No description

from Section
boolean
isLink()

Является ли раздел ссылкой на другой раздел.

boolean
isServer()

Является ли раздел сервером.

boolean
isHidden()

Является ли раздел скрытым

from Section
boolean
isRoot()

Является ли раздел корневым

from Section
boolean
isInheritsPermissions()

Наследует ли раздел разрешения, заданные для родительского раздела

from Section
getPath()

Возвращает путь от корня до раздела

from Section
string
getPreviewUrl()

Возвращает URL предварительного просмотра материалов раздела

from Section
string
getUrl()

Возвращает абсолютный URL раздела

from Section
string
getFullUrl(boolean $prefix = TRUE)

Возвращает полный URL раздела (http://сервер/раздел1/.

from Section
getBoUrl()

No description

from Section
string
getTreePath()

Возвращает полный путь до раздела для Ext.tree

from Section
Catalog
getChildren()

Возвращает дочерние разделы

from Section
array
getSubs()

Возвращает массив из идентификаторов раздела и дочерних разделов

from Section
getParentServer()

Возвращает родительский сервер

from Section
getParent()

Возвращает родительский раздел

from Section
string
getMaterialsTable()

Возвращает таблицу БД, в которой хранятся материалы раздела

from Section
string
getMaterialsObjectDefinition()

Возвращает таблицу БД, в которой хранятся материалы раздела

from Section
Catalog|FALSE
findChildByAlias(string $alias)

Ищет среди дочерних разделов раздел с заданным алиасом

from Section
getChildByAlias(string $alias)

Возвращает дочерний раздел с заданным алиасом

from Section
getChildByPath(string|array $path)

Возвращает дочерний раздел по заданному пути

from Section
getLastMaterial($fields = null, $subs = false)

Возвращает последний опубликованный материал раздела.

from Section
getMaterialByAlias(string $alias, string $fields = null, boolean $unpublished = false)

Ищет материал c заданным алиасом

from Section
getMaterialByID(string $id)

Ищет материал c заданным ID

from Section
getMaterials()

Возвращает материалы раздела

from Section
string
getDefaultTemplate()

Возвращает php шаблон, исполняемый "по умолчанию" для сервера

integer
createChild(array $fields)

Создает дочерний раздел

from Section
void
fixMaterialTags()

Приводит в порядок порядковые номера материалов раздела: удаляет дубликаты, дыры в нумерации.

from Section
bool
allowAccess(int $permission, int|array|User $groups)

Проверяет имеет ли пользователь или группа разрешение для данного раздела

from Section
int
copy(int $dest, bool $subs = false, bool $materials = false)

Копирует раздел

from Section
void
move(int $dest)

Перемещает раздел

from Section
void
updateCache()

Очистить все кэши связанные с этим разделом

from Section
void
updatePermissions(array $permissions)

Измененить права доступа к разделу

from Section
fixTags()

No description

from Section
void
shift(bool $up)

Подвинуть раздел вверх или вниз на позицию

from Section
bool
inAppPath()

Проверяет, является ли раздел частью пути к текущему разделу в FO

from Section
void
update(array $props)

Изменение свойств сервера

createMaterial()

Создать новый материал в разделе

from Section
int
getMaterialsCount() deprecated

Возвращает количество опубликованных материалов в разделе

from Section
getPermissions()

No description

from Section
boArray()

No description

static int
count()

Количество серверов.

static Array
enum()

Возвращает все сервера.

static Server
getByDomain(string $domain)

Возвращает сервер по его доменному имени

static Server
getDefault()

Возвращает основной сервер

string
getTheme()

Возвращает тему, активированную для сервера

string
setTheme(Theme $theme = null)

Устанавливает тему, активированную для сервера

getAliases()

No description

getRobots()

No description

setRobots($value)

No description

Details

in DynamicFieldsObject at line 192
__toString()

in Base at line 73
array asArray()

Возвращает объект в виде массива с указанными полями

Return Value

array

in DynamicFieldsObject at line 211
mixed __get(string $name)

Перегрузка чтения свойств класса.

Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта

Parameters

string $name свойство класса

Return Value

mixed

Exceptions

LogicException

in DynamicFieldsObject at line 245
void __set(string $name, mixed $value)

Перегрузка записи свойств класса.

Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта

Parameters

string $name свойство класса
mixed $value значение свойства

Return Value

void

Exceptions

LogicException

in Base at line 180
static void addPlugin(ObjectPlugin $class)

Расширяет функциональность класса с помощью методов другого класса.

Например, необходимо добавить в клас \Cetera\User метод, возвращающий кол-во дней, которые прошли с момента регистрации пользователя. Создадим класс-плагин:

class MyUser extends \Cetera\ObjectPlugin {
    public function getRegisteredDays() {
        // экземпляр класса, к каторому будет добавлен плагин находится в свойстве object
        $date_reg = new DateTime($this->object->date_reg);
        $date_now = new DateTime('now');
        $diff = $date_now->getTimestamp() - $date_reg->getTimestamp();
        return ceil($diff / (60*60*24));
    }
}

Добавим плагин к классу \Cetera\User:

\Cetera\User::addPlugin( 'MyUser' );

Теперь можем использовать метод \Cetera\User::getRegisteredDays():

$user = \Cetera\Application::getInstance()->getUser();
echo 'Я с вами '.$user->getRegisteredDays().' дней!';

Parameters

ObjectPlugin $class класс, методы которого добавить к данному

Return Value

void

in Base at line 192
__call($name, $arguments)

Parameters

$name
$arguments

in Base at line 216
decodeLocaleString($str)

Parameters

$str

in DbConnection at line 22
final static Connection getDbConnection()

Возвращает активное соединение с БД в рамках приложения

Return Value

Connection

in DbConnection at line 35
static void configSet(string $key, miced $value)

Сохраняет пару ключ/значение в БД

Parameters

string $key ключ
miced $value значение

Return Value

void

in DbConnection at line 47
static mixed configGet(string $key)

Возвращает значение связанное с ключем из БД

Parameters

string $key ключ

Return Value

mixed

in DbConnection at line 60
static mixed configGetAll()

Возвращает все ключи/значения из БД

Return Value

mixed

in DbConnection at line 78
static void configUnset(string $key)

Удаляет пару ключ/значение из БД

Parameters

string $key ключ

Return Value

void

static DynamicFieldsObject factory($type, $table = null, $fields = null)

Parameters

$type
$table
$fields

Return Value

DynamicFieldsObject

at line 41
static DynamicFieldsObject fetch(array $data, $a = null, $b = null)

Parameters

array $data поля объекта
$a
$b

Return Value

DynamicFieldsObject

in Section at line 207
setFields(array $fields)

Устанавливает поля раздела

Parameters

array $fields поля объекта

in DynamicFieldsObject at line 182
static DynamicFieldsObject getByIdType($id, $type)

Возвращает объект по ID и "Типу материалов".

Parameters

$id
$type

Return Value

DynamicFieldsObject

in DynamicFieldsObject at line 226
__isset($name)

Parameters

$name

in DynamicFieldsObject at line 268
static clearLocks()

in DynamicFieldsObject at line 276
lock($uid)

Parameters

$uid

in DynamicFieldsObject at line 285
unlock()

in DynamicFieldsObject at line 295
int getType()

Возвращает "Тип материалов" объекта

Return Value

int

in DynamicFieldsObject at line 305
string getTable()

Возвращает таблицу БД, в которой хранятся поля объекта

Return Value

string

in DynamicFieldsObject at line 315
array getFieldsDef()

Возвращает описание полей объекта

Return Value

array

in Section at line 1203
mixed getDynamicField(string $name)

Parameters

string $name имя поля

Return Value

mixed

in DynamicFieldsObject at line 366
offsetExists($offset)

Parameters

$offset

in DynamicFieldsObject at line 374
offsetGet($offset)

Parameters

$offset

in DynamicFieldsObject at line 382
offsetSet($offset, $value)

Parameters

$offset
$value

in DynamicFieldsObject at line 385
offsetUnset($offset)

Parameters

$offset

in DynamicFieldsObject at line 557
Object getLinkedObjects($od, $fieldName)

Чтение из БД объектов, которые связаны полем $field с данным объектом.

Parameters

$od
$fieldName

Return Value

Object

deprecated

DEPRECATED

Чтение из БД объектов, на которые ссылается поле

При построении SQL запроса к базе данных, таблице, из которой производится чтение полей объектов присваивается псевдоним "A", а таблице, в которой хранятся связи между объектами - "B". Рекомендуется использовать эти псевдонимы, если вы используете параметры $fields, $where, $order, $group, $limit

Parameters

string $fieldname имя поля
string $fields поля, которые запрашивать из таблицы БД при выборке
string $where параметр WHERE запроса
string $order параметр ORDER BY запроса
string $group параметр GROUP BY запроса
string $limit параметр LIMIT запроса

Return Value

Object

in DynamicFieldsObject at line 663
Object selectLinksIn(int|string $from, string $field, string $fields = '*', string $where = '', string $order = '', string $group = '', string $limit = '')

DEPRECATED Чтение из БД объектов, которые связаны полем $field с объектом.

При построении SQL запроса к базе данных, таблице, из которой производится чтение полей объектов присваивается псевдоним "A", а таблице, в которой хранятся связи между объектами - "B". Рекомендуется использовать эти псевдонимы, если вы используете параметры $fields, $where, $order, $group, $limit

Parameters

int|string $from ID "Типа материалов" или имя таблицы БД, в которой хранятся объекты
string $field имя поля по которому объекты связаны с текущим
string $fields поля, которые запрашивать из таблицы БД при выборке
string $where параметр WHERE запроса
string $order параметр ORDER BY запроса
string $group параметр GROUP BY запроса
string $limit параметр LIMIT запроса

Return Value

Object

in Section at line 855
void delete()

Удаляет раздел

Return Value

void

Exceptions

CMS

in Section at line 1229
void save()

Сохранить раздел

Return Value

void

in DynamicFieldsObject at line 1106
setObjectDefinition($od)

Parameters

$od

static getObjectDefinition()

in Section at line 248
static User getById(int $id)

Возвращает раздел по его идентификатору.

Parameters

int $id ID объекта

Return Value

User

Exceptions

CMS

in Extendable at line 8
final static extend($class)

Parameters

$class

in Extendable at line 13
static create()

in Extendable at line 21
final static callStatic($method)

Parameters

$method

in Section at line 236
setNodeId($id)

Parameters

$id

in Section at line 259
static Section getRoot()

Возвращает корневой раздел

Return Value

Section

in Section at line 305
getName()

Является ли раздел ссылкой на другой раздел.

Всегда возвращает FALSE

Return Value

boolean

at line 147
boolean isServer()

Является ли раздел сервером.

Всегда возвращает TRUE

Return Value

boolean

in Section at line 338
boolean isHidden()

Является ли раздел скрытым

Return Value

boolean

in Section at line 349
boolean isRoot()

Является ли раздел корневым

Return Value

boolean

in Section at line 360
boolean isInheritsPermissions()

Наследует ли раздел разрешения, заданные для родительского раздела

Return Value

boolean

in Section at line 372
Path getPath()

Возвращает путь от корня до раздела

Return Value

Path

in Section at line 385
string getPreviewUrl()

Возвращает URL предварительного просмотра материалов раздела

Return Value

string

in Section at line 427
string getUrl()

Возвращает абсолютный URL раздела

Return Value

string

in Section at line 440
string getFullUrl(boolean $prefix = TRUE)

Возвращает полный URL раздела (http://сервер/раздел1/.

../разделN/)

Parameters

boolean $prefix добавлять http:// вначале

Return Value

string

in Section at line 459
getBoUrl()

in Section at line 473
string getTreePath()

Возвращает полный путь до раздела для Ext.tree

Return Value

string

in Section at line 485
Catalog getChildren()

Возвращает дочерние разделы

Return Value

Catalog

in Section at line 501
array getSubs()

Возвращает массив из идентификаторов раздела и дочерних разделов

Return Value

array

in Section at line 525
Server getParentServer()

Возвращает родительский сервер

Return Value

Server

in Section at line 550
Catalog getParent()

Возвращает родительский раздел

Return Value

Catalog

in Section at line 577
string getMaterialsTable()

Возвращает таблицу БД, в которой хранятся материалы раздела

Return Value

string

in Section at line 587
string getMaterialsObjectDefinition()

Возвращает таблицу БД, в которой хранятся материалы раздела

Return Value

string

in Section at line 603
Catalog|FALSE findChildByAlias(string $alias)

Ищет среди дочерних разделов раздел с заданным алиасом

Parameters

string $alias @alias алиас раздела

Return Value

Catalog|FALSE

in Section at line 618
Catalog getChildByAlias(string $alias)

Возвращает дочерний раздел с заданным алиасом

Parameters

string $alias алиас раздела

Return Value

Catalog

in Section at line 635
Catalog getChildByPath(string|array $path)

Возвращает дочерний раздел по заданному пути

Parameters

string|array $path путь, строка 'alias1/alias2/.../aliasN' или массив из алиасов

Return Value

Catalog

Exceptions

Exception

in Section at line 666
Material getLastMaterial($fields = null, $subs = false)

Возвращает последний опубликованный материал раздела.

Parameters

$fields
$subs

Return Value

Material

in Section at line 684
Material getMaterialByAlias(string $alias, string $fields = null, boolean $unpublished = false)

Ищет материал c заданным алиасом

Parameters

string $alias алиас материала
string $fields список простых полей материала, которые выбирать из БД в конструктор материала
boolean $unpublished искать также среди неопубликованных материалов

Return Value

Material

Exceptions

CMS

in Section at line 700
Material getMaterialByID(string $id)

Ищет материал c заданным ID

Parameters

string $id ID материала

Return Value

Material

Exceptions

CMS

in Section at line 711
Material getMaterials()

Возвращает материалы раздела

Return Value

Material

at line 117
string getDefaultTemplate()

Возвращает php шаблон, исполняемый "по умолчанию" для сервера

Return Value

string

in Section at line 762
integer createChild(array $fields)

Создает дочерний раздел

Parameters

array $fields свойства нового раздела

Return Value

integer ID созданного раздела

Exceptions

CMS

in Section at line 931
void fixMaterialTags()

Приводит в порядок порядковые номера материалов раздела: удаляет дубликаты, дыры в нумерации.

Return Value

void

in Section at line 950
bool allowAccess(int $permission, int|array|User $groups)

Проверяет имеет ли пользователь или группа разрешение для данного раздела

Parameters

int $permission код разрешения
int|array|User $groups id группы, массив id групп или пользователь

Return Value

bool

See also

PERM_CAT_OWN_MAT, PERM_CAT_ALL_MAT, PERM_CAT_ADMIN, PERM_CAT_VIEW, PERM_CAT_MAT_PUB

in Section at line 976
int copy(int $dest, bool $subs = false, bool $materials = false)

Копирует раздел

Parameters

int $dest ID раздела, куда копировать
bool $subs копировать подразделы
bool $materials копировать материалы

Return Value

int ID копии

Exceptions

Exception

in Section at line 1054
void move(int $dest)

Перемещает раздел

Parameters

int $dest ID раздела, куда перемещать

Return Value

void

in Section at line 1074
void updateCache()

Очистить все кэши связанные с этим разделом

Return Value

void

in Section at line 1092
void updatePermissions(array $permissions)

Измененить права доступа к разделу

Parameters

array $permissions новые права доступа

Return Value

void

in Section at line 1126
fixTags()

in Section at line 1140
void shift(bool $up)

Подвинуть раздел вверх или вниз на позицию

Parameters

bool $up двигать вверх, иначе вниз

Return Value

void

in Section at line 1168
bool inAppPath()

Проверяет, является ли раздел частью пути к текущему разделу в FO

Return Value

bool

at line 160
void update(array $props)

Изменение свойств сервера

Parameters

array $props новые свойства

Return Value

void

Exceptions

Exception

in Section at line 1216
Material createMaterial()

Создать новый материал в разделе

Return Value

Material

in Section at line 1306
int getMaterialsCount() deprecated

deprecated используйте getMaterials()->getCountAll()

Возвращает количество опубликованных материалов в разделе

Return Value

int

in Section at line 1312
getPermissions()

at line 248
boArray()

at line 51
static int count()

Количество серверов.

Return Value

int

at line 61
static Array enum()

Возвращает все сервера.

Return Value

Array

at line 78
static Server getByDomain(string $domain)

Возвращает сервер по его доменному имени

Parameters

string $domain доменное имя

Return Value

Server

at line 102
static Server getDefault()

Возвращает основной сервер

Return Value

Server

at line 193
string getTheme()

Возвращает тему, активированную для сервера

Return Value

string

at line 214
string setTheme(Theme $theme = null)

Устанавливает тему, активированную для сервера

Parameters

Theme $theme

Return Value

string

at line 223
getAliases()

at line 237
getRobots()

at line 242
setRobots($value)

Parameters

$value