PHP Class PressBooks\Modules\Import\Odf\Odt

Inheritance: extends PressBooks\Modules\Import\Import
Show file Open project: pressbooks/pressbooks

Protected Properties

Property Type Description
$authors string
$tag string
$zip ZipArchive

Public Methods

Method Description
__construct ( )
import ( array $current_import ) : boolean Imports content, only after options (chapters, parts) have been selected
setCurrentImportOption ( array $upload ) : boolean Chapter detection

Protected Methods

Method Description
fetchAndSaveUniqueImage ( string $href ) : string Extract url from zip and load into WP using media_handle_sideload() Will return an empty string if something went wrong.
findTheNode ( DOMNode $node, string $chapter_name ) : DOMNode Recursive iterator to locate and return a specific node, targeting child nodes
getChapter ( DOMNodeList $dom_list, integer $index, string $chapter_title ) : string Find where to start, iterate through a list, add elements to a new DomDocument, return resulting xhtml
getFuzzyChapterTitles ( ) : array Returns an array of available chapters, or 'unknown' if none
getZipContent ( string $file, boolean $as_xml = true ) : boolean | DOMDocument Locates an entry using its name, returns the entry contents
isValidZip ( string $fullpath ) Checks for standard ODT file structure
kneadAndInsert ( string $html, string $title, string $post_type, integer $chapter_parent ) Pummel then insert HTML into our database
kneadHTML ( string $body ) : string Pummel the HTML into WordPress compatible dough.
parseContent ( DomDocument $xml, string $chapter_title ) : string Find and return the identified chapter
parseMetaData ( DOMDocument $meta ) Sets an instance variable with value(s) from metadata
scrapeAndKneadImages ( DOMDocument $doc ) : DOMDocument Parse HTML snippet, save all found tags using media_handle_sideload(), return the HTML with changed paths.
tidy ( string $html ) : string Compliance with XTHML standards, rid cruft generated by word processors

Method Details

__construct() public method

public __construct ( )

fetchAndSaveUniqueImage() protected method

Extract url from zip and load into WP using media_handle_sideload() Will return an empty string if something went wrong.
See also: media_handle_sideload
protected fetchAndSaveUniqueImage ( string $href ) : string
$href string original filename, with (relative) path
return string filename

findTheNode() protected method

Recursive iterator to locate and return a specific node, targeting child nodes
protected findTheNode ( DOMNode $node, string $chapter_name ) : DOMNode
$node DOMNode
$chapter_name string
return DOMNode

getChapter() protected method

Find where to start, iterate through a list, add elements to a new DomDocument, return resulting xhtml
protected getChapter ( DOMNodeList $dom_list, integer $index, string $chapter_title ) : string
$dom_list DOMNodeList
$index integer
$chapter_title string
return string XHTML

getFuzzyChapterTitles() protected method

Returns an array of available chapters, or 'unknown' if none
protected getFuzzyChapterTitles ( ) : array
return array Chapter titles

getZipContent() protected method

Locates an entry using its name, returns the entry contents
protected getZipContent ( string $file, boolean $as_xml = true ) : boolean | DOMDocument
$file string - path to a file
$as_xml boolean
return boolean | DOMDocument

import() public method

Imports content, only after options (chapters, parts) have been selected
public import ( array $current_import ) : boolean
$current_import array
return boolean - returns false if import fails

isValidZip() protected method

Checks for standard ODT file structure
protected isValidZip ( string $fullpath )
$fullpath string

kneadAndInsert() protected method

Pummel then insert HTML into our database
protected kneadAndInsert ( string $html, string $title, string $post_type, integer $chapter_parent )
$html string
$title string
$post_type string (front-matter', 'chapter', 'back-matter')
$chapter_parent integer

kneadHTML() protected method

Pummel the HTML into WordPress compatible dough.
protected kneadHTML ( string $body ) : string
$body string
return string - modified with correct image paths

parseContent() protected method

Find and return the identified chapter
protected parseContent ( DomDocument $xml, string $chapter_title ) : string
$xml DomDocument
$chapter_title string
return string XML

parseMetaData() protected method

Sets an instance variable with value(s) from metadata
protected parseMetaData ( DOMDocument $meta )
$meta DOMDocument

scrapeAndKneadImages() protected method

Parse HTML snippet, save all found tags using media_handle_sideload(), return the HTML with changed paths.
protected scrapeAndKneadImages ( DOMDocument $doc ) : DOMDocument
$doc DOMDocument
return DOMDocument

setCurrentImportOption() public method

Chapter detection
public setCurrentImportOption ( array $upload ) : boolean
$upload array
return boolean

tidy() protected method

Compliance with XTHML standards, rid cruft generated by word processors
protected tidy ( string $html ) : string
$html string
return string

Property Details

$authors protected property

protected string $authors
return string

$tag protected property

protected string $tag
return string

$zip protected property

protected ZipArchive $zip
return ZipArchive