/** * Loads book infos from an epub file * * @param string Epub full file name * @throws Exception if error * * @return void */ public function LoadFromEpub($inFileName) { // Load the epub file $ePub = new EPub($inFileName, 'ZipFile'); // Get the epub infos $this->mFormat = 'epub'; $this->mPath = pathinfo($inFileName, PATHINFO_DIRNAME); $this->mName = pathinfo($inFileName, PATHINFO_FILENAME); $this->mUuid = $ePub->Uuid(); $this->mUri = $ePub->Uri(); $this->mTitle = $ePub->Title(); $this->mAuthors = $ePub->Authors(); $this->mLanguage = $ePub->Language(); $this->mDescription = $ePub->Description(); $this->mSubjects = $ePub->Subjects(); $cover = $ePub->Cover(); $this->mCover = $cover['found'] !== false ? $cover['found'] : ''; $this->mIsbn = $ePub->ISBN(); $this->mRights = $ePub->Copyright(); $this->mPublisher = $ePub->Publisher(); $this->mSerie = $ePub->Serie(); $this->mSerieIndex = $ePub->SerieIndex(); $this->mCreationDate = $ePub->CreationDate(); $this->mModificationDate = $ePub->ModificationDate(); }
public function getUpdatedEpub($idData) { global $config; $data = $this->getDataById($idData); try { $epub = new EPub($data->getLocalPath()); $epub->Title($this->title); $authorArray = array(); foreach ($this->getAuthors() as $author) { $authorArray[$author->sort] = $author->name; } $epub->Authors($authorArray); $epub->Language($this->getLanguages()); $epub->Description($this->getComment(false)); $epub->Subjects($this->getTagsName()); $epub->Cover2($this->getFilePath("jpg"), "image/jpeg"); $epub->Calibre($this->uuid); $se = $this->getSerie(); if (!is_null($se)) { $epub->Serie($se->name); $epub->SerieIndex($this->seriesIndex); } if ($config['cops_provide_kepub'] == "1" && preg_match("/Kobo/", $_SERVER['HTTP_USER_AGENT'])) { $epub->updateForKepub(); } $epub->download($data->getUpdatedFilenameEpub()); } catch (Exception $e) { echo "Exception : " . $e->getMessage(); } }
$epub->Language($_POST['language']); $epub->Publisher($_POST['publisher']); $epub->Copyright($_POST['copyright']); $epub->ISBN($_POST['isbn']); $epub->Subjects($_POST['subjects']); $authors = array(); foreach ((array) $_POST['authorname'] as $num => $name) { if ($name) { $as = $_POST['authoras'][$num]; if (!$as) { $as = $name; } $authors[$as] = $name; } } $epub->Authors($authors); // handle image $cover = ''; if (preg_match('/^https?:\\/\\//i', $_POST['coverurl'])) { $data = @file_get_contents($_POST['coverurl']); if ($data) { $cover = tempnam(sys_get_temp_dir(), 'epubcover'); file_put_contents($cover, $data); unset($data); } } elseif (is_uploaded_file($_FILES['coverfile']['tmp_name'])) { $cover = $_FILES['coverfile']['tmp_name']; } if ($cover) { $info = @getimagesize($cover); if (preg_match('/^image\\/(gif|jpe?g|png)$/', $info['mime'])) {