/** * * Lädt ein ePaper und liefert das Objekt YumpuEpaper zurück. Bei Fehler wird eine Exception geworfen. * @param integer $id * @return YumpuEpaper * @throws YumpuEpaper_repository_exception */ public static function loadById($id) { global $wpdb; $table_name = $wpdb->prefix . 'yumpu_documents'; $qry = "SELECT * FROM " . $table_name . " WHERE id='" . intval($id) . "'"; $row = $wpdb->get_row($qry); if (!$row) { throw new YumpuEpaper_repository_exception("item not found " . $id); } $ePaper = new YumpuEpaper(); $ePaper->setId($row->id); $ePaper->setProgress_id($row->progress_id); $ePaper->setEpaper_id($row->epaper_id); $ePaper->setUrl($row->url); $ePaper->setShort_url($row->short_url); $ePaper->setTitle($row->title); $ePaper->setDescription($row->description); $ePaper->setSource_filename($row->source_filename); $ePaper->setStatus($row->status); $ePaper->setEmbed_code($row->embed_code); $YAPI = new YumpuAPI(WP_Yumpu::$API_TOKEN); if ($ePaper->getStatus() == "progress") { $result = $YAPI->verify_status($ePaper->getProgress_id()); if ($result['state'] == "ready") { //Wenn das Dokument erstellt ist $ePaper->setStatus('ready'); $ePaper->setEpaper_id($result['ePaper_id']); $ePaper->setUrl($result['url']); $ePaper->setShort_url($result['short_url']); $ePaper->setEmbed_code($result['embed_code']); YumpuEpaper_repository::store($ePaper); } } return $ePaper; }