Classes to handle the export of ComicCMS data
PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

ComicCMS Exporter

Classes to handle the export of ComicCMS data without the need to dive in to its source code.

Requirements

  • PHP 5.2
  • A ComicCMS install to point to

Quickstart

Note: This is a non-namespaced, single-file version of the code in this repo. The only external difference between the two versions is the conversion from namespace: Classes are called ComicCMSExport_* instead of \Leijou\ComicCMSExport\*

Namespaced Requirements

If you're lucky enough to have PHP 5.3 on the target servers of your project you can instead choose to use the namespaced version:

The example contents script is also available for this namespaced version: contents_namespaced.php

Usage

A ComicCMS object must be constructed and passed to the other classes. Once created it can be re-used for all iterators.

$comiccms = new \Leijou\ComicCMSExport\ComicCMS('/absolute/path/to/comiccms');

$comics = new \Leijou\ComicCMSExport\ComicIterator($comiccms);
foreach ($comics as $comic) {
    // ...
}

##Item types available Click for available property and method documentation:

Each are constructed by its own Iterator: ComicIterator NewsIterator UserIterator UserGroupIterator

Additionaly there are two iterators for queued/draft items: QueuedComicIterator QueuedNewsIterator

Internals

On construction of an iterator the relevent storage file(s) are scanned and a list of IDs used (not deleted) are loaded. The full details can then be pulled one by one by looping over the iterator or using standard SeekableIterator methods.

Note: The seek method uses the offset of Item, not its ID. For such usage the method seekById is available.

Note: Generation of the the non-namespaced distributable version is done by build.php. It's just basic RegExp, not anything clever. So please be gentle & careful with it if you're aiming to edit and re-build this tool.