Skip to content
Classes to handle the export of ComicCMS data
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

ComicCMS Exporter

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


  • PHP 5.2
  • A ComicCMS install to point to


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


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


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.

You can’t perform that action at this time.