public function itemCreatePost()
{
$validationRules['parent'] = ['label' => 'Padre', 'rules' => 'required|is_natural', 'errors' => ['is_natural' => 'Il valore specificato non è valido.']];
foreach ($this->data['languages'] as $language)
{
$validationRules['name_' . $language["slug"]] = ['label' => 'Nome', 'rules' => 'required|string|max_length[255]'];
$validationRules['url_' . $language["slug"]] = ['label' => 'Url', 'rules' => 'required|string|max_length[255]'];
}
if (!$this->validate($validationRules))
{
return redirect()->back()->withInput();
}
else
{
$data = [
'menu_id' => $this->data['request']->getPost('menu_id'),
'parent_id' => $this->data['request']->getPost('parent') != 0 ? $this->data['request']->getPost('parent') : '0',
'order_id' => $this->menuItemsModel->getNewOrder($this->data['request']->getPost('menu_id'), $this->data['request']->getPost('parent')),
'icon' => $this->data['request']->getPost('icon') != '' ? $this->data['request']->getPost('icon') : '',
'created_at' => date("Y-m-d H:i:s"),
'created_by' => user_id()
];
$item_id = $this->menuItemsModel->insert($data);
if ($item_id)
{
foreach ($this->data['languages'] as $lang)
{
$data_translations[] = [
'item_id' => $item_id,
'language' => $lang['slug'],
'name' => $this->data['request']->getPost('name_' . $lang['slug']),
'url' => $this->data['request']->getPost('url_' . $lang['slug'])
];
}
$this->menuItemsModel->insert_item_translations($data_translations);
session()->setFlashdata('message', ['type' => 'alert-success', 'content' => 'La voce del menu è stata creata con successo.']);
addToLog(user_id(), 'Creata voce menu <b>' . $this->data['request']->getPost('name') . '</b>');
return redirect()->to(session()->get('referer'));
}
else
{
session()->setFlashdata('message', ['type' => 'alert-danger', 'content' => 'Si è verificato un errore nell\'inserimento nel database.']);
return redirect()->back()->withInput();
}
}
}