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


PHP Node::create方法代码示例

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


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

示例1: rpc_get_confirm

 public static function rpc_get_confirm(Context $ctx)
 {
     if (!is_array($data = unserialize(base64_decode($ctx->get('code'))))) {
         throw new BadRequestException();
     }
     // Немного валидации, на т.к. будем в БД класть данные.
     foreach ($data['sections'] as $k => $v) {
         if (!is_numeric($v)) {
             throw new BadRequestException();
         }
     }
     // Номер последней ноды нужен для того, чтобы не отправлять
     // новому подписчику уже существующие новости.
     $last = $ctx->db->getResult("SELECT MAX(`id`) FROM `node`");
     try {
         $node = Node::load(array('class' => 'subscription', 'name' => $data['email'], 'deleted' => 0));
         $status = t('Параметры подписки успешно изменены.');
     } catch (ObjectNotFoundException $e) {
         $node = Node::create(array('class' => 'subscription', 'name' => $data['email'], 'last' => $last, 'published' => true));
         $status = t('Подписка активирована.');
     }
     $ctx->db->beginTransaction();
     if (!empty($data['sections'])) {
         $node->tags = $data['sections'];
         $node->linkTo($data['sections'])->save();
     } elseif (!empty($node->id)) {
         $node->delete();
         $status = t('Подписка удалена.');
     }
     $ctx->db->commit();
     return $ctx->getRedirect('?status=subscribed');
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:32,代码来源:class.subscriptionrpc.php

示例2: checkTypes

 public static function checkTypes()
 {
     if (!Node::count(array('class' => 'type', 'name' => 'comment'))) {
         $type = Node::create('type', array('name' => 'comment', 'title' => t('Комментарий'), 'fields' => array('name' => array('type' => 'TextLineControl', 'label' => t('Ваше имя'), 'required' => true), 'body' => array('type' => 'TextAreaControl', 'label' => t('Сообщение')), 'email' => array('type' => 'EmailControl', 'label' => t('E-mail'), 'required' => true), 'url' => array('type' => 'URLControl', 'label' => t('Домашняя страница')), 'ip' => array('type' => 'TextLineControl', 'label' => t('IP адрес'), 'hidden' => true))));
         $type->save();
     }
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:7,代码来源:widget.comment.php

示例3: installTypes

 private function installTypes()
 {
     if (!Node::count($this->ctx->db, array('class' => 'type', 'name' => 'blog'))) {
         $type = Node::create('type', array('name' => 'blog', 'title' => t('Запись в дневнике'), 'description' => t('Ваш дневник — ваше личное пространство на этом сервере.  Можете писать здесь всё, что угодно. Другие пользователи смогут это читать и комментировать, но на главную страницу эта информация не попадёт.  Туда попадают только статьи.'), 'fields' => array('name' => array('type' => 'TextLineControl', 'label' => t('Заголовок'), 'required' => true), 'teaser' => array('type' => 'TextAreaControl', 'label' => t('Краткое содержание')), 'body' => array('type' => 'TextHTMLControl', 'label' => t('Текст записи'), 'required' => true), 'picture' => array('type' => 'AttachmentControl', 'label' => t('Иллюстрация')))));
         $type->save();
     }
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:7,代码来源:widget.blog.php

示例4: set

 public function set($value, &$node)
 {
     if (empty($value) or !is_array($value)) {
         return;
     }
     switch ($value['error']) {
         case UPLOAD_ERR_OK:
             $value = Node::create('file')->import($value);
             break;
         case UPLOAD_ERR_INI_SIZE:
             throw new RuntimeException(t('Размер файла превышает установленное в системе ограничение (%size).', array('%size' => ini_get('upload_max_filesize'))));
         case UPLOAD_ERR_FORM_SIZE:
             throw new RuntimeException(t('Размер файла превышает установленное в форме ограничение.'));
         case UPLOAD_ERR_PARTIAL:
             throw new RuntimeException(t('Файл получен не полностью.'));
         case UPLOAD_ERR_NO_FILE:
             if (!empty($value['id']) and is_numeric($value['id'])) {
                 $value = Node::load($value['id']);
             } elseif (!empty($value['url'])) {
                 $value = FileNode::fromURL($value['url']);
             } elseif (!empty($value['ftp'])) {
                 $value = Node::create('file')->importFromFTP(array_shift($value['ftp']));
             } elseif (!empty($value['unlink'])) {
                 $node->linkRemoveChild(null, $this->value);
                 $value = null;
             } else {
                 $value = $node->{$this->value};
             }
     }
     if ($this->required and empty($value)) {
         throw new ValidationException($this->label, t('Вы не загрузили файл в поле «%name», хотя оно отмечено как обязательное.', array('%name' => mb_strtolower($this->label))));
     }
     $node->{$this->value} = $value;
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:34,代码来源:control.attachment.php

示例5: installTypes

 private function installTypes()
 {
     // ЧАСТЬ ПЕРВАЯ: заказ.
     if (!Node::count(array('class' => 'type', 'name' => 'order'))) {
         $type = Node::create('type', array('name' => 'order', 'title' => t('Заказ'), 'description' => t('Документы этого типа создаются автоматически при оформлении заказов на сайте.'), 'fields' => array('name' => array('type' => 'TextLineControl', 'label' => t('Ф.И.О.'), 'description' => t('Эта информация нужна нам для обратной связи и доставки (если она осуществляется).'), 'required' => true), 'email' => array('type' => 'EmailControl', 'label' => t('Адрес электронной почты'), 'required' => true), 'phone' => array('type' => 'TextLineControl', 'label' => t('Контактный телефон')), 'address' => array('type' => 'TextAreaControl', 'label' => t('Адрес доставки')), 'orderdetauks' => array('type' => 'OrderDetailsControl', 'label' => t('Содержимое заказа'), 'required' => false, 'readonly' => true))));
         $type->save();
     }
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:8,代码来源:class.cartsettings.php

示例6: onInstall

 /**
  * @mcms_message ru.molinos.cms.install
  */
 public static function onInstall(Context $ctx)
 {
     $count = Node::count(array('class' => 'type', 'name' => 'order', 'deleted' => 0), $ctx->db);
     if (!$count) {
         $ctx->db->beginTransaction();
         Node::create(array('class' => 'type', 'name' => 'order', 'title' => 'Заказ'))->save();
         $ctx->db->commit();
     }
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:12,代码来源:class.cartinstaller.php

示例7: store

 public function store()
 {
     $validator = Validator::make($data = Input::all(), Node::$rules);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     Node::create($data);
     return Redirect::route('nodes.index');
 }
开发者ID:bobken,项目名称:phphub,代码行数:9,代码来源:NodesController.php

示例8: 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;
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:9,代码来源:widget.subscription.php

示例9: onInstall

 /**
  * Добавляет тип документа label.
  *
  * @mcms_message ru.molinos.cms.install
  */
 public static function onInstall(Context $ctx)
 {
     try {
         $node = Node::load(array('class' => 'type', 'name' => 'label'), $ctx->db);
     } catch (ObjectNotFoundException $e) {
         $ctx->db->beginTransaction();
         $node = Node::create(array('class' => 'type', 'name' => 'label', 'label' => t('Метка'), 'isdictionary' => true, 'fields' => array('name' => array('type' => 'TextLineControl', 'title' => t('Метка'), 'required' => true))), $ctx->db)->save();
         $ctx->db->commit();
     }
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:15,代码来源:class.labelsinstaller.php

示例10: registerType

 /**
  * Register a node type.
  *
  * @param string $type
  * @param array  $route
  */
 public function registerType($type, array $route)
 {
     if (isset($route['protected']) and $route['protected'] and !array_filter(Node::findAll(true), function ($node) use($type) {
         return $type === $node->type;
     })) {
         Node::create(['title' => $route['label'], 'slug' => App::filter($route['label'], 'slugify'), 'type' => $type, 'status' => 1, 'link' => $route['name']])->save();
     }
     $route['id'] = $type;
     $this->types[$type] = $route;
 }
开发者ID:aqnouch,项目名称:rimbo,代码行数:16,代码来源:ApiModule.php

示例11: onInstall

 /**
  * Инсталляция типа документа subscription.
  *
  * @mcms_message ru.molinos.cms.install
  */
 public static function onInstall(Context $ctx)
 {
     try {
         $node = Node::load(array('class' => 'type', 'name' => 'subscription', 'deleted' => 0), $ctx->db);
     } catch (ObjectNotFoundException $e) {
         $ctx->db->beginTransaction();
         $node = Node::create('type', array('name' => 'subscription', 'title' => t('Подписка на новости')))->save();
         $ctx->db->commit();
     }
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:15,代码来源:class.subscriptionadmin.php

示例12: rpc_post_add

 public static function rpc_post_add(Context $ctx)
 {
     $ctx->user->checkAccess(ACL::CREATE, 'comment');
     $node = Node::create('comment', array('published' => $ctx->user->hasAccess(ACL::PUBLISH, 'comment')));
     $node->formProcess($ctx->post);
     if ($ctx->post('anonymous')) {
         $node->name = t('Комментарий анонимный');
         $node->uid = null;
     }
     $node->save();
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:11,代码来源:class.commentrpc.php

示例13: on_install

 /**
  * @mcms_message ru.molinos.cms.install
  */
 public static function on_install(Context $ctx)
 {
     try {
         $node = Node::load(array('class' => 'type', 'name' => 'tag', 'deleted' => 0), $ctx->db);
     } catch (ObjectNotFoundException $e) {
         $node = Node::create(array('class' => 'type', 'name' => 'tag', 'title' => t('Раздел'), 'fields' => array('name' => array('type' => 'TextLineControl', 'title' => t('Имя раздела'), 'required' => true))), $ctx->db);
         $node->getDB()->beginTransaction();
         $node->save();
         $node->getDB()->commit();
     }
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:14,代码来源:class.taxonomyinstaller.php

示例14: create

 public function create(Model $Model, $fields = null, $values = null)
 {
     $data = array($this->Node->alias => array_combine($fields, $values));
     $data[$this->Node->alias]['type'] = Inflector::singularize($Model->table);
     if (!$this->Node->create()) {
         return false;
     }
     $data = $this->__moveCustomToCustomFields($Model, $data);
     $result = $this->Node->saveAll($data, array('deep' => true));
     return $result;
 }
开发者ID:cvo-technologies,项目名称:croogo-nodes-datasource-plugin,代码行数:11,代码来源:CroogoNodesSource.php

示例15: set

 public function set($value, &$node)
 {
     $this->validate($value);
     if (null === ($email = $this->findEmail($node))) {
         throw new InvalidArgumentException(t('Не удалось подписать вас на новости: в профиле не обнаружен ни один почтовый адрес.'));
     }
     $s = Node::find(array('class' => 'subscription', 'name' => $email), $node->getDB());
     if (empty($s)) {
         $s = Node::create('subscription', array('name' => $email));
     } else {
         $s = array_shift($s);
     }
     $s->linkSetParents($value, 'tag', $this->enabled)->save();
 }
开发者ID:umonkey,项目名称:molinos-cms,代码行数:14,代码来源:control.subscription.php


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