当前位置: 首页>>代码示例>>PHP>>正文


PHP Node::findXML方法代码示例

本文整理汇总了PHP中Node::findXML方法的典型用法代码示例。如果您正苦于以下问题:PHP Node::findXML方法的具体用法?PHP Node::findXML怎么用?PHP Node::findXML使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Node的用法示例。


在下文中一共展示了Node::findXML方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: render

 public function render(Context $ctx, array $options = array())
 {
     $options = array_merge(array('name' => 'custom', 'title' => MCMS_HOST_NAME, 'xsl' => os::path('lib', 'modules', 'rss', 'default.xsl'), 'base' => $ctx->url()->getBase($ctx), 'description' => 'News from ' . MCMS_HOST_NAME, 'language' => 'ru', 'url' => 'http://' . MCMS_HOST_NAME . $ctx->url()->string()), $options);
     $content = html::wrap('nodes', Node::findXML($this->filter, $ctx->db));
     $content = html::em('rss', $options, $content);
     return xslt::transform($content, $options['xsl'], 'text/xml');
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:7,代码来源:class.rssfeed.php

示例2: on_get_node_xml

 /**
  * Добавление произвольных файлов в XML ноды.
  * @mcms_message ru.molinos.cms.node.xml
  */
 public static function on_get_node_xml(Node $node)
 {
     if ($node instanceof FileNode) {
         return;
     }
     return html::wrap('files', Node::findXML(array('class' => 'file', 'deleted' => 0, 'id' => $node->getDB()->getResultsV("nid", "SELECT `nid` FROM `node__rel` WHERE `tid` = ? AND `key` IS NULL", array($node->id))), $node->getDB()));
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:11,代码来源:class.extrafiles.php

示例3: rpc_post_subscribe

 public static function rpc_post_subscribe(Context $ctx)
 {
     $data = $ctx->post;
     if (empty($data['sections'])) {
         throw new InvalidArgumentException("Не выбраны разделы для подписки.");
     }
     if (false === strpos($data['email'], '@')) {
         throw new InvalidArgumentException(t('Введённый email не похож на email.'));
     }
     // В массиве могут быть и другие данные, поэтому мы
     // выбираем только то, что нам нужно завернуть.
     $bulk = array('email' => $data['email'], 'sections' => $data['sections']);
     $link = new url(array('args' => array('q' => 'subscription.rpc', 'action' => 'confirm', 'code' => base64_encode(serialize($bulk)))));
     $sections = Node::findXML(array('class' => 'tag', 'deleted' => 0, 'published' => 1, 'id' => $data['sections'], '#sort' => 'name'), $ctx->db, 'section');
     if (empty($sections)) {
         throw new InvalidArgumentException("Выбраны несуществующие разделы для подписки.");
     }
     $xml = html::em('message', array('mode' => 'confirm', 'host' => MCMS_HOST_NAME, 'email' => $data['email'], 'base' => $ctx->url()->getBase($ctx), 'confirmLink' => $link->string()), html::em('sections', $sections));
     $xsl = $ctx->config->get('modules/subscription/stylesheet', os::path('lib', 'modules', 'subscription', 'message.xsl'));
     if (false === ($body = xslt::transform($xml, $xsl, null))) {
         throw new RuntimeException(t('Возникла ошибка при форматировании почтового сообщения.'));
     }
     $subject = t('Подписка на новости сайта %host', array('%host' => MCMS_HOST_NAME));
     // mcms::debug($data['email'], $subject, $body);
     BebopMimeMail::send(null, $data['email'], $subject, $body);
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:26,代码来源:class.subscriptionrpc.php

示例4: get_info_xml

 public static function get_info_xml(Context $ctx)
 {
     if ($uid = $ctx->user->id) {
         $xml = Node::findXML(array('class' => 'user', 'published' => 1, 'deleted' => 0, 'id' => $uid), $ctx->db);
     }
     if (empty($xml)) {
         $xml = html::em('node', array('class' => 'user', 'name' => 'anonymous'));
     }
     return new Response($xml, 'text/xml');
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:10,代码来源:class.authapi.php

示例5: on_get_list_xml

 /**
  * Возвращает список комментариев для ноды.
  */
 public static function on_get_list_xml(Context $ctx)
 {
     if (!($nid = $ctx->get('node'))) {
         throw new BadRequestException(t('Не указан идентификатор ноды (GET-параметр node).'));
     }
     if (!$ctx->user->hasAccess(ACL::READ, 'comment')) {
         throw new ForbiddenException();
     }
     $nodes = Node::findXML(array('class' => 'comment', 'deleted' => 0, 'published' => 1, 'tags' => $nid, '#sort' => 'id'), $ctx->db);
     return new Response(html::em('comments', $nodes), 'text/xml');
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:14,代码来源:class.commentapi.php

示例6: onGet

 /**
  * Возвращает форму входа.
  */
 public function onGet(array $options)
 {
     $result = '';
     if ($this->ctx->user->id) {
         $result .= Node::findXML(array('id' => $this->ctx->user->id));
     }
     if (empty($options['uid'])) {
         return $result . $this->ctx->registry->unicast('ru.molinos.cms.auth.form', array($this->ctx));
     } else {
         $node = $this->ctx->user->getNode();
         $form = $node->formGet()->getXML($node);
         return $result . $form;
     }
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:17,代码来源:widget.user.php

示例7: getResponse

 public function getResponse(Context $ctx)
 {
     if (class_exists('APIStream')) {
         APIStream::init($ctx);
     }
     $page = array('status' => 200, 'base' => $ctx->url()->getBase($ctx), 'host' => MCMS_HOST_NAME, 'folder' => $ctx->folder(), 'sitefolder' => os::webpath(MCMS_SITE_FOLDER), 'prefix' => os::webpath(MCMS_SITE_FOLDER, 'themes'), 'query' => $ctx->query(), 'version' => defined('MCMS_VERSION') ? MCMS_VERSION : 'unknown', 'cache' => cache::getInstance()->getName(), 'memory' => ini_get('memory_limit'), 'time' => microtime(true) - MCMS_START_TIME, 'back' => urlencode(MCMS_REQUEST_URI), 'back_raw' => MCMS_REQUEST_URI, 'next' => $ctx->get('destination'), 'api' => 'cms://localhost/api/', 'rss' => class_exists('RSSRouter'));
     $request = '';
     if ($userid = $ctx->user->id) {
         $request .= html::wrap('user', Node::findXML(array('id' => $userid), $ctx->db));
     }
     $request .= $ctx->url()->getArgsXML();
     $this->content .= html::wrap('request', $request);
     foreach ((array) $ctx->registry->poll('ru.molinos.cms.page.head', array($ctx, array(), null)) as $block) {
         if (!empty($block['result'])) {
             $this->content .= $block['result'];
         }
     }
     return xslt::transform(html::em('page', $page, $this->content), $this->xsl);
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:19,代码来源:class.adminpage.php

示例8: on_get_dump

 /**
  * Вывод содержимого объекта.
  */
 public static function on_get_dump(Context $ctx)
 {
     $filter = array('id' => $ctx->get('node'));
     if (!$ctx->canDebug()) {
         $filter['deleted'] = 0;
     }
     if ($ctx->get('raw')) {
         $node = Node::load($filter, $ctx->db);
         $temp = $node->{'never should this field exist'};
         mcms::debug($node);
     } else {
         $xml = Node::findXML($filter, $ctx->db);
         if (empty($xml)) {
             throw new RuntimeException(t('Для этого документа нет XML представления (такого быть не должно), см. <a href="@url">сырой вариант</a>.', array('@url' => '?q=node/' . $filter['id'] . '/dump&raw=1')));
         }
         $res = new Response('<?xml version="1.0"?>' . $xml, 'text/xml');
         $res->send();
     }
     throw new ForbiddenException();
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:23,代码来源:class.nodeapimodule.php

示例9: getXML

 /**
  * Возвращает содержимое корзины в виде XML.
  */
 public function getXML($details = true)
 {
     $result = array();
     $sumqty = 0;
     if (count($cart = $this->getItems())) {
         $sum = $sumqty = 0;
         $ids = array_keys($cart);
         foreach ($nodes = Node::find(array('id' => $ids)) as $node) {
             if (empty($items)) {
                 $qty = $cart[$node->id];
             } else {
                 $del = $items[$node->id]['delete'];
                 if ($del) {
                     unset($cart[$node->id]);
                     continue;
                 }
                 $qty = $items[$node->id]['qty'];
                 $cart[$node->id] = $qty;
             }
             $sum += $node->price * $qty;
             $sumqty += $qty;
             $result[] = array('id' => $node->id, 'name' => $node->getName(), 'qty' => $qty, 'price' => $node->price, 'sum' => $node->price * $qty);
         }
         $total = $sum;
         $conf = $this->ctx->config->getArray('modules/cart');
         if (!empty($conf['discount_threshold'])) {
             if ($sum >= $conf['discount_threshold']) {
                 if (!empty($conf['discount_price'])) {
                     if ('%' == substr($price = $conf['discount_price'], -1)) {
                         $price = $sum / 100 * substr($price, 0, -1);
                     }
                     $result['discount'] = array('name' => t('Скидка %size при заказе от %sum', array('%size' => $conf['discount_price'], '%sum' => number_format($conf['discount_threshold'], 2, ',', '.'))), 'qty' => 1, 'price' => -$price, 'sum' => -$price);
                     $total -= $price;
                 }
             }
         }
         if (!empty($conf['delivery_threshold'])) {
             if (!empty($conf['delivery_price'])) {
                 $result['delivery'] = array('name' => t('Доставка (бесплатно при заказе от %size)', array('%size' => number_format($conf['delivery_threshold'], 2, ',', '.'))), 'qty' => 1, 'price' => $sum < $conf['delivery_threshold'] ? $conf['delivery_price'] : 0);
                 $result['delivery']['sum'] = $result['delivery']['price'];
                 $total += $result['delivery']['sum'];
             }
         }
     }
     if ($discounter = $this->ctx->config->get('modules/cart/discounter')) {
         if (class_exists($discounter)) {
             $d = new $discounter();
             $d->process($result);
         }
     }
     $result['total'] = array('name' => t('Итого'), 'qty' => $sumqty, 'price' => null, 'sum' => 0);
     mcms::session('cart', $cart);
     $output = '';
     foreach ($result as $k => $v) {
         if (is_numeric($k)) {
             $result['total']['sum'] += $v['sum'];
             $output .= html::em('item', $v);
         }
     }
     $output = html::em('items', $result['total'], $output);
     if ($details) {
         $output .= html::wrap('details', Node::findXML(array('deleted' => 0, 'published' => 1, 'id' => array_keys($cart))));
     }
     return $output;
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:68,代码来源:class.cart.php

示例10: onGetView

 /**
  * Возвращает информацию об объекте.
  *
  * Информация об объекте включает прикреплённые к нему файлы и привязанные
  * документы.  Если у пользователя нет доступа к объекту — кидает
  * ForbiddenException; если объект не опубликован — кидает ForbiddenException
  * (независимо от прав пользователя); если объект является разделом — кидает
  * PageNotFoundException (потому, что для разделов есть TagsWidget).
  *
  * @param array $options параметры, которые насобирал getRequestOptions()
  *
  * @return array Информация об объекте, содержит ключи: "document" (описание
  * объекта, включая прикреплённые файлы и другие объекты), "tags" (полное
  * описание разделов, к которым прикреплён объект), "schema" (описание
  * структуры объекта) и "neighbors" со ссылками на соседей ("prev" и "next"),
  * если настройки виджета велят возвращать эту информацию.
  */
 protected function onGetView(array $options)
 {
     if (isset($options['document']['class']) and !$this->ctx->user->hasAccess(ACL::READ, $options['document']['class'])) {
         throw new PageNotFoundException();
     }
     if (isset($options['document']['xml'])) {
         $output = $options['document']['xml'];
     } else {
         $output = Node::findXML(array('id' => $options['document']['id'], 'deleted' => 0, 'published' => 1), $this->ctx->db);
     }
     if ($this->show_sections) {
         $sections = Node::findXML($q = array('class' => 'tag', 'tagged' => $options['document']['id'], 'published' => 1, 'deleted' => 0), $this->ctx->db);
     } elseif (isset($options['section']['xml'])) {
         $sections = $options['section']['xml'];
     }
     if (isset($sections)) {
         $output .= html::wrap('sections', $sections);
     }
     return $output;
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:37,代码来源:widget.doc.php

示例11: on_get_create_types

 /**
  * Возвращает список доступных пользователю типов.
  */
 public static function on_get_create_types(Context $ctx)
 {
     $nodes = Node::findXML(array('class' => 'type', 'name' => $ctx->user->getAccess(ACL::CREATE), '-name' => $ctx->user->getAnonymous()->getAccess(ACL::CREATE), 'published' => 1, '#sort' => 'name'), $ctx->db);
     return new Response(html::em('nodes', $nodes), 'text/xml');
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:8,代码来源:class.nodeapi.php

示例12: onGet

 /**
  * Обработчик GET-запросов.
  *
  * @param array $options параметры запроса.
  *
  * @return array данные для шаблона, ключи: sections (вложенный список
  * подразделов), path (путь к текущему разделу).
  */
 public function onGet(array $options)
 {
     if (!empty($options['root'])) {
         return html::wrap('sections', Node::findXML(array('class' => 'tag', 'deleted' => 0, 'published' => 1, '#sort' => 'left', 'parent_id' => $options['root']), $this->ctx->db));
     }
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:14,代码来源:widget.tags.php

示例13: onGet

 public function onGet(array $options)
 {
     return Node::findXML(array('class' => $this->type, 'deleted' => 0, 'published' => 1, '#sort' => 'name'), $this->ctx->db);
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:4,代码来源:widget.dict.php

示例14: getDashboardXML

 private static function getDashboardXML(Database $db, array $query, array $options)
 {
     return html::wrap('content', Node::findXML($query, $db), $options);
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:4,代码来源:class.adminrpc.php

示例15: on_get_edit_form

 /**
  * Редактирование нескольких файлов (форма).
  */
 public static function on_get_edit_form(Context $ctx)
 {
     $nodes = Node::findXML(array('class' => 'file', 'id' => explode(' ', $ctx->get('files')), 'deleted' => 0));
     return html::em('content', array('name' => 'editfiles', 'title' => t('Редактирование файлов'), 'action' => 'admin/files/edit?destination=' . urlencode($ctx->get('destination')) . '&sendto=' . urlencode($ctx->get('sendto')), 'path' => os::webpath(MCMS_SITE_FOLDER, $ctx->config->get('modules/files/storage')), 'ids' => $ctx->get('files')), $nodes);
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:8,代码来源:class.attachmentrpc.php


注:本文中的Node::findXML方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。