本文整理汇总了PHP中Node::getSortedList方法的典型用法代码示例。如果您正苦于以下问题:PHP Node::getSortedList方法的具体用法?PHP Node::getSortedList怎么用?PHP Node::getSortedList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Node
的用法示例。
在下文中一共展示了Node::getSortedList方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getOptions
protected function getOptions($data)
{
if ($this->dictionary) {
$options = Node::getSortedList($this->dictionary, $this->field ? $this->field : 'name');
} else {
$options = $this->options;
}
return $options;
}
示例2: onGet
public function onGet(array $options)
{
$sections = array_intersect_key(Node::getSortedList('tag'), array_flip(Node::create('subscription')->getEnabledSections()));
$output = html::simpleOptions($sections, 'section', 'sections');
if ($this->description) {
$output .= html::em('description', html::cdata($this->description));
}
return $output;
}
示例3: getData
protected function getData($data)
{
if (isset($this->dictionary)) {
return Node::getSortedList($this->dictionary);
}
if (!is_array($result = $this->options)) {
$result = array();
}
return $result;
}
示例4: getData
private function getData()
{
$list = array();
if (!$this->required) {
$list[''] = $this->default_label;
}
if (isset($this->dictionary)) {
$list = array_merge($list, Node::getSortedList($this->dictionary));
} elseif (is_array($this->options)) {
$list = array_merge($list, $this->options);
}
return $list;
}
示例5: getConfigOptions
/**
* Возвращает форму для настройки виджета.
*
* @return Form вкладка для настройки виджета.
*/
public static function getConfigOptions(Context $ctx)
{
$fields = array();
$schema = Schema::load($ctx->db, 'tag');
foreach ($schema as $k => $v) {
if ($v instanceof URLControl) {
$fields[$k] = $v->label;
}
}
asort($fields);
$tags = array('anything' => t('Текущий, если в нём пусто — родительский'), 'parent' => t('Родительский (соседние разделы)'), 'root' => t('Из настроек страницы'));
foreach (Node::getSortedList('tag') as $k => $v) {
$tags[$k] = $v;
}
return array('fixed' => array('type' => 'EnumControl', 'label' => t('Всегда возвращать раздел'), 'description' => t("По умолчанию виджет возвращает информацию о текущем разделе. Вы можете настроить его на фиксированный раздел. Подсветка текущего раздела при этом сохранится."), 'options' => $tags, 'default' => t('Текущий (его подразделы)')), 'depth' => array('type' => 'NumberControl', 'label' => t('Глубина'), 'description' => t("Меню будет содержать столько уровней вложенности.")));
}
示例6: on_get_access
/**
* Возвращает информацию о правах на разделы.
* @route GET//api/taxonomy/access.xml
*/
public static function on_get_access(Context $ctx)
{
if (!$ctx->user->hasAccess(ACL::UPDATE, 'tag')) {
throw new ForbiddenException();
}
$data = $ctx->db->getResults("SELECT n.id, n.parent_id, n.name, (SELECT MIN(uid) FROM {node__access} WHERE nid = n.id AND p = 1) AS `publishers`, (SELECT MIN(uid) FROM {node__access} WHERE nid = n.id AND u = 1) AS `owners` FROM {node} n WHERE n.class = 'tag' AND n.deleted = 0 ORDER BY n.left");
$result = self::recurse($data, null);
return new Response(html::em('sections', $result), 'text/xml');
$perms = $ctx->db->getResultsKV("nid", "gid", "SELECT a.nid AS nid, MIN(a.uid) AS gid FROM node__access a INNER JOIN node n ON n.id = a.nid INNER JOIN node g ON g.id = a.uid WHERE n.class = 'tag' AND g.class = 'group' AND a.p = 1 GROUP BY a.nid");
$data = Node::getSortedList('tag');
$tmp = '';
foreach ($data as $k => $v) {
$gid = array_key_exists($k, $perms) ? $perms[$k] : null;
$tmp .= html::em('section', array('id' => $k, 'group' => $gid, 'level' => 1 + (strlen($v) - strlen(ltrim($v))) / 2), html::cdata(trim($v)));
}
$result .= html::wrap('sections', $tmp);
return new Response($result, 'text/xml');
}
示例7: on_get_search_form
/**
* Вывод поисковой формы.
*/
public static function on_get_search_form(Context $ctx)
{
$output = '';
$url = new url($ctx->get('destination', $ctx->get('from')));
if (null === $url->arg('preset')) {
$types = Node::find(array('class' => 'type', 'published' => 1, 'deleted' => 0, 'name' => $ctx->user->getAccess(ACL::READ)), $ctx->db);
$list = array();
foreach ($types as $type) {
if (!$type->isdictionary) {
$list[$type->name] = $type->title;
}
}
asort($list);
if ('file' == ($type = $ctx->get('type')) and array_key_exists($type, $list)) {
$list = array($type => $type);
}
$tmp = '';
foreach ($list as $k => $v) {
$tmp .= html::em('type', array('name' => $k, 'title' => $v));
}
$output .= html::em('types', $tmp);
}
$tmp = '';
foreach (Node::getSortedList('user', 'fullname', 'id') as $k => $v) {
$tmp .= html::em('user', array('id' => $k, 'name' => $v));
}
$output .= html::em('users', $tmp);
if (null === $url->arg('preset')) {
$tmp = '';
foreach (Node::getSortedList('tag', 'id', 'name') as $k => $v) {
$tmp .= html::em('section', array('id' => $k, 'name' => $v));
}
$output .= html::em('sections', $tmp);
}
return html::em('content', array('name' => 'search', 'query' => self::get_clean_query($url->arg('search')), 'from' => urlencode($ctx->get('from'))), $output);
}
示例8: getConfigOptions
/**
* Возвращает форму для настройки виджета.
*
* Форма позволяет выбрать типы документов, используемые для формирования
* облака.
*
* @return Form вкладка с настройками виджета.
*/
public static function getConfigOptions(Context $ctx)
{
$types = Node::getSortedList('type', 'title', 'name');
return array('linktpl' => array('type' => 'TextLineControl', 'label' => t('Шаблон ссылки'), 'default' => 'section/$id'), 'type' => array('type' => 'EnumControl', 'label' => t('Тип выводимых объектов'), 'options' => $types, 'default' => 'tag', 'required' => true), 'classes' => array('type' => 'SetControl', 'label' => t('Типы документов'), 'options' => $types));
}
示例9: on_get_settings
/**
* @mcms_message ru.molinos.cms.module.settings.admin
*/
public static function on_get_settings(Context $ctx)
{
return new Schema(array('admin' => array('type' => 'NodeLinkControl', 'label' => t('Администратор сервера'), 'dictionary' => 'user', 'required' => false, 'description' => t('Выберите пользователя, который занимается администрированием этого сайта. На его почтовый адрес будут приходить сообщения о состоянии системы.'), 'nonew' => true), 'debuggers' => array('type' => 'ListControl', 'label' => t('IP адреса разработчиков'), 'description' => t('Пользователям с этими адресами будут доступны отладочные функции (?debug=). Можно использовать маски, вроде 192.168.1.*'), 'default' => array('127.0.0.1', $_SERVER['REMOTE_ADDR'])), 'requiregroup' => array('type' => 'EnumControl', 'label' => t('Доступ к админке'), 'required' => false, 'default_label' => t('разрешить всем'), 'options' => Node::getSortedList('group'))));
}
示例10: testGetSortedLis
public function testGetSortedLis()
{
$list = Node::getSortedList('type');
$this->assertTrue(is_array($list));
$this->assertFalse(empty($list));
$list = Node::getSortedList('dummy');
$this->assertTrue(is_array($list));
$this->assertTrue(empty($list));
}
示例11: on_get_settings
/**
* @mcms_message ru.molinos.cms.module.settings.search
*/
public static function on_get_settings(Context $ctx)
{
return new Schema(array('engine' => array('type' => 'EnumControl', 'options' => array('gas' => t('Google Ajax Search'), 'mg' => t('mnoGoSearch')), 'group' => t('Технология поиска'), 'weight' => 10, 'required' => true), 'gas_key' => array('type' => 'TextLineControl', 'label' => t('Ключ Google API'), 'description' => t('Для работы Google Ajax Search нужно <a href=\'@url\'>получить ключ</a>, уникальный для вашего сайта (это делается бесплатно и быстро).', array('@url' => 'http://code.google.com/apis/ajaxsearch/signup.html')), 'group' => 'Google Ajax Search', 'weight' => 20), 'mg_dsn' => array('type' => 'TextLineControl', 'label' => t('Параметры подключения к БД'), 'description' => t('Строка формата mysql://mnogouser:pass@server/mnogodb/?dbmode=multi'), 'group' => 'mnoGoSearch', 'weight' => 30), 'mg_ispell' => array('type' => 'TextLineControl', 'label' => t('Путь к словарям'), 'description' => t('Введите полный путь к папке ispell.'), 'group' => 'mnoGoSearch', 'weight' => 30), 'mg_indexer' => array('type' => 'TextLineControl', 'label' => t('Путь к индексатору'), 'description' => t('Введите полный путь к исполняемому файлу индексатора (что-то вроде /usr/local/bin/indexer).'), 'group' => 'mnoGoSearch', 'weight' => 30), 'mg_indexmode' => array('type' => 'EnumControl', 'label' => t('Режим индексирования'), 'required' => true, 'options' => array('web' => t('Обход сайта (медленно)'), 'db' => t('По базе данных (быстро)')), 'group' => 'mnoGoSearch', 'weight' => 30), 'mg_results' => array('type' => 'EnumControl', 'label' => t('Страница для результатов'), 'required' => true, 'options' => Node::getSortedList('domain'), 'description' => t('Используется только в режиме индексирования базы данных. На эту страницу будут вести ссылки, отображаемые в результатах поиска. При индексировании в режиме обхода сайта этот параметр не используется.'))));
}
示例12: on_get_settings
/**
* @mcms_message ru.molinos.cms.module.settings.captcha
*/
public static function on_get_settings(Context $ctx)
{
return new Schema(array('types' => array('type' => 'SetControl', 'label' => t('Защищаемые типы'), 'options' => Node::getSortedList('type', 'title', 'name'))));
}
示例13: getConfigOptions
/**
* Возвращает форму для настройки виджета.
*
* @return Form вкладка для настройки виджета.
*/
public static function getConfigOptions(Context $ctx)
{
return array('fixed' => array('type' => 'EnumControl', 'label' => t('Раздел по умолчанию'), 'description' => t('Здесь можно выбрать раздел, который будет использован, если из адреса текущего запроса вытащить код раздела не удалось.'), 'options' => array('page' => 'Из настроек страницы') + Node::getSortedList('tag'), 'default' => t('не используется')), 'forcefixed' => array('type' => 'BoolControl', 'label' => t('Всегда использовать этот раздел'), 'description' => t('Всегда возвращать информацию о выбранном разделе, независимо от того, в каком разделе находится посетитель.')), 'illcache' => array('type' => 'BoolControl', 'label' => t('Используется для формирования меню')));
}
示例14: on_get_settings
/**
* @mcms_message ru.molinos.cms.module.settings.taxonomy
*/
public static function on_get_settings(Context $ctx)
{
return new Schema(array('multitagtypes' => array('type' => 'SetControl', 'label' => t('Помещать в несколько разделов можно'), 'options' => Node::getSortedList('type', 'title', 'name'))));
}
示例15: on_get_settings
/**
* @mcms_message ru.molinos.cms.module.settings.pridetypograph
*/
public static function on_get_settings(Context $ctx)
{
return new Schema(array('fields' => array('type' => 'SetControl', 'label' => t('Обрабатываемые поля'), 'options' => Node::getSortedList('field', 'label', 'name'))));
}