Example #1
0
	function delete($type, $id = 0) {
		if (!isAjax()) {
			echo _('You can\'t delete chapters from outside the admin panel through this link.');
			log_message("error", "Controller: comics.php/remove: failed comic removal");
			return false;
		}
		$id = intval($id);

		switch ($type) {
			case("comic"):
				$comic = new Comic();
				$comic->where('id', $id)->get();
				if (!$comic->remove()) {
					log_message("error", "Controller: comics.php/remove: failed comic removal");
					return false;
				}
				flash_notice('notice', 'The comic ' . $comic->name . ' has been removed');
				echo json_encode(array('href' => site_url("admin/comics/manage")));
				break;
			case("chapter"):
				$chapter = new Chapter($id);
				if (!$comic = $chapter->remove()) {
					log_message("error", "Controller: comics.php/remove: failed chapter removal");
					return false;
				}
				set_notice('notice', 'Chapter deleted.');
				echo json_encode(array('href' => site_url("admin/comics/comic/" . $comic->stub)));
				break;
			case("page"):
				$page = new Page($this->input->post('id'));
				$page->get_chapter();
				$comic = new Chapter($chapter->comic_id);
				if (!$data = $page->remove_page()) {
					log_message("error", "Controller: comics.php/remove: failed page removal");
					return false;
				}
				echo json_encode(array('href' => site_url("admin/comics/comic/" . $page->chapter->comic->stub . "/" . $page->chapter->id)));
				break;
			case("allpages"):
				$chapter = new Chapter($id);
				$chapter->get_comic();
				if (!$chapter->remove_all_pages()) {
					log_message("error", "Controller: comics.php/remove: failed all pages removal");
					return false;
				}
				echo json_encode(array('href' => site_url("admin/comics/comic/" . $chapter->comic->stub . "/" . $chapter->id)));
				break;
		}
	}
Example #2
0
 function delete($type, $id = 0)
 {
     if (!isAjax()) {
         $this->output->set_output(_('You can\'t delete chapters from outside the admin panel through this link.'));
         log_message("error", "Controller: series.php/remove: failed serie removal");
         return false;
     }
     $id = intval($id);
     switch ($type) {
         case "serie":
             $comic = new Comic();
             $comic->where('id', $id)->get();
             $title = $comic->name;
             if (!$comic->remove()) {
                 flash_notice('error', sprintf(_('Failed to delete the series %s.'), $title));
                 log_message("error", "Controller: series.php/remove: failed serie removal");
                 $this->output->set_output(json_encode(array('href' => site_url("admin/series/manage"))));
                 return false;
             }
             flash_notice('notice', 'The serie ' . $comic->name . ' has been removed');
             $this->output->set_output(json_encode(array('href' => site_url("admin/series/manage"))));
             break;
         case "chapter":
             $chapter = new Chapter($id);
             $title = $chapter->chapter;
             if (!($comic = $chapter->remove())) {
                 flash_notice('error', sprintf(_('Failed to delete chapter %s.'), $chapter->comic->chapter));
                 log_message("error", "Controller: series.php/remove: failed chapter removal");
                 $this->output->set_output(json_encode(array('href' => site_url("admin/series/series/" . $comic->stub))));
                 return false;
             }
             set_notice('notice', 'Chapter deleted.');
             $this->output->set_output(json_encode(array('href' => site_url("admin/series/serie/" . $comic->stub))));
             break;
         case "page":
             $page = new Page($this->input->post('id'));
             $page->get_chapter();
             $page->chapter->get_comic();
             if (!($data = $page->remove_page())) {
                 log_message("error", "Controller: series.php/remove: failed page removal");
                 return false;
             }
             $this->output->set_output(json_encode(array('href' => site_url("admin/series/serie/" . $page->chapter->comic->stub . "/" . $page->chapter->id))));
             break;
         case "allpages":
             $chapter = new Chapter($id);
             $chapter->get_comic();
             if (!$chapter->remove_all_pages()) {
                 log_message("error", "Controller: series.php/remove: failed all pages removal");
                 return false;
             }
             $this->output->set_output(json_encode(array('href' => site_url("admin/series/serie/" . $chapter->comic->stub . "/" . $chapter->id))));
             break;
     }
 }
Example #3
0
 /**
  * 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();
     }
 }