本文整理汇总了PHP中Node::save方法的典型用法代码示例。如果您正苦于以下问题:PHP Node::save方法的具体用法?PHP Node::save怎么用?PHP Node::save使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Node
的用法示例。
在下文中一共展示了Node::save方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: save
public function save()
{
$isnew = null === $this->id;
if (empty($this->title)) {
$this->title = $this->name;
}
if (empty($this->name)) {
throw new ValidationException('name', t('Внутреннее имя типа ' . 'не может быть пустым.'));
} elseif (strspn(strtolower($this->name), 'abcdefghijklmnopqrstuvwxyz0123456789_') != strlen($this->name)) {
throw new ValidationException('name', t('Внутреннее имя типа может ' . 'содержать только латинские буквы, арабские цифры и прочерк.'));
}
parent::checkUnique('name', t('Тип документа со внутренним именем %name уже есть.', array('%name' => $this->name)));
// Подгружаем поля, ранее описанные отдельными объектами (9.03 => 9.05).
$this->backportLinkedFields();
// Добавляем привычные поля, если ничего нет.
if ($isnew and empty($this->fields)) {
$this->fields = array('name' => array('type' => 'TextLineControl', 'label' => t('Название'), 'required' => true, 'weight' => 10), 'uid' => array('type' => 'UserControl', 'label' => t('Автор'), 'required' => true, 'weight' => 20), 'created' => array('type' => class_exists('DateTimeControl') ? 'DateTimeControl' : 'TextLineControl', 'label' => t('Дата создания'), 'weight' => 100));
}
// Всегда сохраняем без очистки.
parent::save();
$this->publish();
// Обновляем тип документов, если он изменился.
if (null !== $this->oldname and $this->name != $this->oldname) {
$this->getDB()->exec("UPDATE `node` SET `class` = ? WHERE `class` = ?", array($this->name, $this->oldname));
}
// Обновляем кэш.
$this->flush();
return $this;
}
示例2: save
/**
* Сохранение группы.
*
* Проверяет имя группы на уникальность.
*
* @return Node сохранённый объект.
*/
public function save()
{
if (empty($this->login)) {
$this->login = $this->name;
}
parent::checkUnique('name', t('Группа с таким именем уже существует'));
return parent::save();
}
示例3: save
public function save()
{
if ($this->isNew() and $this->parent_id) {
$this->node = $this->parent_id;
$this->parent_id = null;
$this->onSave("INSERT INTO `node__rel` (`tid`, `nid`) VALUES (?, %ID%)", array($this->node));
}
return parent::save();
}
示例4: save
public function save()
{
if ($this->isNew()) {
$this->onSave("INSERT INTO `node__banners` (`id`, `time_limit`, `display_limit`) VALUES (%ID%, ?, ?)", array($this->time_limit, $this->display_limit));
} else {
$this->onSave("UPDATE `node__banners` SET `time_limit` = ?, `display_limit` = ? WHERE `id` = %ID%", array($this->time_limit, $this->display_limit));
}
return parent::save();
}
示例5: add
public function add(RequestSave $request, $id = null)
{
if (is_null($id)) {
if (Request::isMethod('post')) {
$node = new Node();
$node->name = $request->name;
$node->ip = $request->ip;
$node->save();
}
}
return view('scripts.simulator.add');
}
示例6: save
public function save()
{
$isnew = empty($this->id);
parent::save();
$links = array();
if ($this->rel) {
$links[] = $this->rel;
}
if ($this->to) {
$links[] = $this->to;
}
$this->linkSetParents($links);
$this->notify($isnew);
}
示例7: store
/**
* Store a newly created resource in storage.
*
* @return Response
*/
public function store()
{
$input = Input::only('name', 'description');
$rules = ['name' => 'required|max:64', 'description' => 'max:200'];
$validator = Validator::make($input, $rules);
if ($validator->passes()) {
$node = new Node();
$node->name = $input['name'];
$node->description = $input['description'];
$node->owner_id = Auth::user()->id;
$node->save();
return Redirect::back()->with('message', 'Node ' . $node->name . ' created');
}
return Redirect::back()->withErrors($validator);
}
示例8: save
public function save()
{
if ($isnew = !$this->id) {
$cart = new Cart($ctx = Context::last());
$this->orderdetails = $cart->getItems();
} elseif (array_key_exists('orderdetails', (array) $this->olddata)) {
$this->orderdetails = $this->olddata['orderdetails'];
}
if (empty($this->orderdetails)) {
throw new ForbiddenException(t('Не удалось оформить заказ: ' . 'ваша корзина пуста. Возможно, вы его уже оформили?'));
}
$res = parent::save();
if ($isnew) {
$this->sendEmail($this->email, 'invoice');
$this->sendEmail($ctx->config->get('modules/cart/email'), 'notification');
$cart->setItems(array());
}
return $res;
}
示例9: save
/**
* Сохранение раздела.
*
* При сохранении раздела с пустым полем parent_id, в него подставляется код
* существующего корневого раздела (если он существует). Привязка к типам
* документов копируется из родительского раздела.
*
* @return Node ссылка на себя (для построения цепочек).
*/
public function save()
{
$copyACL = false;
if ($this->isNew()) {
if (!$this->parent_id) {
try {
Node::load(array('class' => 'tag', 'parent_id' => null, 'deleted' => 0), $this->getDB());
throw new RuntimeException(t('Нельзя создать новый корневой раздел.'));
} catch (ObjectNotFoundException $e) {
}
}
// Копируем родительскую привязку к типам.
$this->onSave("INSERT INTO `node__rel` (`tid`, `nid`, `key`, `order`) " . "SELECT %ID%, `nid`, `key`, `order` FROM `node__rel` " . "WHERE `tid` = ? AND `nid` IN (SELECT `id` FROM `node` WHERE `class` = 'type')", array($this->parent_id));
$copyACL = true;
}
parent::save();
if ($copyACL) {
ACL::copyNode($this->parent_id, $this->id);
}
}
示例10: save
/**
* Сохранение объекта.
*
* При сохранении картинки определяет её размеры, копирует
* в свойства "width" и "height". После успешного сохранения
* (если не возникло исключение) удаляет из файлового кэша
* отмасштабированные версии картинки (по маске attachment/id*).
*
* @return void
*/
public function save()
{
if (!empty($this->nosave)) {
return $this;
}
// К локальным файлам применяются трансформации.
if ($this->filepath) {
$path = os::path(MCMS_SITE_FOLDER, Context::last()->config->get('modules/files/storage'), $this->filepath);
if ($tmp = Imgtr::transform($this)) {
$this->versions = $tmp;
} else {
unset($this->versions);
}
}
$res = parent::save();
if ($this->isNew()) {
$this->publish();
}
return $res;
}
示例11: save
public function save()
{
if (empty($this->id)) {
try {
$dst = Node::load(array('class' => 'user', 'id' => $this->re));
if (!empty($dst->email)) {
$email = $dst->email;
} elseif (false !== strstr($dst->name, '@')) {
$email = $dst->name;
}
if (!empty($email) and class_exists('BebopMimeMail')) {
BebopMimeMail::send(null, $email, $this->name, $this->text);
$this->data['sent'] = 1;
}
// Сохраняем в базе только если пользователь найден.
// Чтобы можно было спокойно вызывать mcms::mail() для
// любых объектов, не парясь с проверкой на class=user.
return parent::save();
} catch (ObjectNotFoundException $e) {
}
}
}
示例12: createEmptyNode
/**
* create a empty node
* @return Node
*/
public function createEmptyNode()
{
$node = new Node($this);
return $node->save();
}
示例13: save
/**
* Saves model data
*
* @see Model::save()
*/
public function save($data = null, $validate = true, $fieldList = array())
{
if (isset($data[$this->alias]['file']['tmp_name'])) {
$data = $this->_saveUploadedFile($data);
}
if (!$data) {
return $this->invalidate('file', __d('croogo', 'Error during file upload'));
}
return parent::save($data, $validate, $fieldList);
}
示例14: insertDefaultNodes
public function insertDefaultNodes($mindmapId)
{
$parent = false;
foreach ($this->_defaultNodes as $dnode) {
$node = new Node();
$node->setAttributes($dnode);
$node->mindmap_id = $mindmapId;
if ($parent) {
$node->parent_id = $parent;
}
if (!$node->save()) {
return false;
}
if ($dnode['type'] == 1) {
$parent = $node->id;
}
}
return true;
}
示例15: save
/**
* Сохранение профиля.
*
* Шифрует пароль при его изменении (MD5), проверяет имя на уникальность.
*
* @return Node ссылка на себя (для построения цепочек).
*/
public function save()
{
parent::checkUnique('name', t('Пользователь с именем %name уже есть.', array('%name' => $this->name)));
return parent::save();
}