/** * When you pages are added, this cleans up the chapter and adds new pages * * @param int $chapter_id * @param array $new_pages_array */ public function _clean_chapter($chapter_id, $new_pages_array) { // found, let's get all chapters for this comic $pages = new Page(); $pages->where('chapter_id', $chapter_id)->get(); $pages = $pages->all_to_array(); foreach ($new_pages_array as $key => $item) { foreach ($pages as $k => $i) { if ($item["id"] == $i["id"]) { if ($item["filename"] != $i["filename"] || $item["size"] != $i["size"]) { $page = new Page($item["id"]); $page->remove_page(); unset($pages[$k]); break; } unset($pages[$k]); unset($new_pages_array[$key]); break; } } } foreach ($new_pages_array as $key => $item) { $page = new Page(); $page->from_array($item); $page->save_as_new(); } foreach ($pages as $key => $item) { $page = new Page(); $page->remove_page(); } }