protected function get_params(Query $query) { $id = $query->get('id'); if (empty($id)) { return; } $session = Session::getInstance(); $cookie = $session->get_hash(); $item = Database::get_full_row('head_menu_user', 'cookie = ? and id = ?', [$cookie, $id]); foreach ($item as $key => $value) { $this->set_param($key, $value); } $order = Database::order('order', 'asc')->get_vector('head_menu_user', ['id', 'order'], 'cookie = ?', $cookie); $set_order = []; $i = 0; foreach ($order as $order_id => $value) { $set_order[] = ['selected' => $order_id == $id, 'order' => ++$i]; } $this->set_param('order', $set_order); }
protected function get_params(Query $query) { $id = $query->get('id'); $url = $query->get('url'); $name = $query->get('name'); $order = $query->get('order'); if (empty($url) || empty($name) || empty($id) || empty($order)) { $this->set_error(420); return; } Database::update('head_menu_user', ['url' => $url, 'name' => $name], $id); $session = Session::getInstance(); $cookie = $session->get_hash(); $items = Database::order('order', 'asc')->get_table('head_menu_user', array('id', 'order'), 'cookie = ?', $cookie); foreach ($items as &$item) { if ($item['id'] == $id) { $item['new_order'] = $order; } } unset($item); $new_order = 1; foreach ($items as &$item) { if (!empty($item['new_order'])) { continue; } if ($new_order == $order) { $new_order++; } $item['new_order'] = $new_order; $new_order++; } unset($item); foreach ($items as $item) { if ($item['new_order'] != $item['order']) { Database::update('head_menu_user', ['order' => $item['new_order']], $item['id']); } } $this->set_success(true); $this->set_params(['name' => $name, 'url' => $url, 'order' => $items]); }