print json_encode($ajax); exit; } // ======================== // ! Validate page position // ======================== require CAT_PATH . '/framework/class.order.php'; $order = new order(CAT_TABLE_PREFIX . 'pages', 'position', 'page_id', 'parent'); // First clean order $order->clean($options['parent']); // Get new order $options['position'] = $order->get_new($options['parent']); // ================================ // ! Insert page into pages table // ================================ $page_id = CAT_Helper_Page::addPage($options); if (!$page_id) { $ajax = array('message' => $backend->lang()->translate('Unable to create the page: ') . $backend->db()->getError(), 'success' => false); print json_encode($ajax); exit; } // Work out root parent $root_parent = CAT_Helper_Page::getRootParent($page_id); // Work out page trail $page_trail = CAT_Helper_Page::getPageTrail($page_id); $result = CAT_Helper_Page::updatePage($page_id, array('root_parent' => $root_parent, 'page_trail' => $page_trail)); if (!$result) { // try to recover = delete page CAT_Helper_Page::deletePage($page_id); $ajax = array('message' => $backend->db()->getError(), 'success' => false); print json_encode($ajax);