Overview

Packages

  • Horde
    • Block
  • Klutz
  • None

Classes

  • Klutz
  • Klutz_Comic
  • Klutz_Comic_Bysize
  • Klutz_Comic_Direct
  • Klutz_Comic_Search
  • Klutz_Driver
  • Klutz_Driver_File
  • Klutz_Driver_Sql
  • Klutz_Image
  • Overview
  • Package
  • Class
  • Tree

Class Klutz_Driver_File

Klutz Driver implementation for comics as files.

Required parameters:

'directory'  The main directory the comics are stored in
  'sumsfile'   The filename to hold md5sums for images
Klutz_Driver
Extended by Klutz_Driver_File
Package: Klutz
Author: Marcus I. Ryan marcus@riboflavin.net
Since: Klutz 0.1
Located at Driver/File.php
Methods summary
public
# Klutz_Driver_file( array $params = array() )

Constructs a new file storage object.

Constructs a new file storage object.

Parameters

$params
A hash containing connection parameters.
public
# loadSums( )

Load a list of unique identifiers for comics from the sumsfile.

Load a list of unique identifiers for comics from the sumsfile.

public
# saveSums( )

Save the list of unique identifiers for comics to the sumsfile.

Save the list of unique identifiers for comics to the sumsfile.

public
# rebuildSums( )

Rebuild the table of unique identifiers.

Rebuild the table of unique identifiers.

public
# addSum( string $index, timestamp $date, string $data )

Add a unique identifier for a given image.

Add a unique identifier for a given image.

Parameters

$index
The index for the comic
$date
The date of the comic
$data
The md5 of the raw (binary) image data
public
# removeSum( string $index = null, timestamp $date = null )

Remove the unique identifier for the given comic and/or date. If both are passed, removes the uid for that comic and date. If only a comic is passed, removes all uids for that comic. If only a date is passed removes uids for all comics on that date. If neither is passed, all uids are wiped out.

Remove the unique identifier for the given comic and/or date. If both are passed, removes the uid for that comic and date. If only a comic is passed, removes all uids for that comic. If only a date is passed removes uids for all comics on that date. If neither is passed, all uids are wiped out.

Parameters

$index
<p>Index for the comic to delete. If left out all comics will be assumed.</p>
$date
Date to remove. If left out, assumes all dates.
public boolean
# isUnique( object $image )

Determine if the image passed is a unique image (one we don't already have).

Determine if the image passed is a unique image (one we don't already have).

This allows for $days = random, etc., but keeps us from getting the same comic day after day.

Parameters

$image
$image Raw (binary) image data

Returns

boolean
True if unique, false otherwise.
public array
# listDates( timestamp $date = null, timestamp $oldest = null, timestamp $newest = null )

Get a list of the dates for which we have comics between $oldest and $newest. Only returns dates we have at least one comic for.

Get a list of the dates for which we have comics between $oldest and $newest. Only returns dates we have at least one comic for.

Parameters

$date
The reference date (default today)
$oldest
<p>The earliest possible date to return (default first of the month)</p>
$newest
<p>The latest possible date to return (default last date of the month)</p>

Returns

array

timestamps Any dates between $oldest and $newest that we have comics for.

Overrides

Klutz_Driver::listDates()
public string
# imageSize( string $index, timestamp $date = null )

Get the image dimensions for the requested image.

Get the image dimensions for the requested image.

Parameters

$index
The index of the comic to check
$date
The date of the comic to check (default today)

Returns

string
Attributes for an tag giving height and width

Overrides

Klutz_Driver::imageSize()
public boolean
# imageExists( string $index, timestamp $date = null )

Find out if we already have a local copy of this image.

Find out if we already have a local copy of this image.

Parameters

$index
The index of the comic to check
$date
The date of the comic to check (default today)

Returns

boolean
False in this driver

Overrides

Klutz_Driver::imageExists()
public mixed
# retrieveImage( string $index, timestamp $date = null )

Retrieve an image from storage. Make sure the image exists first with imageExists().

Retrieve an image from storage. Make sure the image exists first with imageExists().

Parameters

$index
The index of the comic to retrieve
$date
The date for which we want $comic

Returns

mixed

If the image exists locally, return a Klutz_Image object. If it doesn't, return a string with the URL pointing to the comic.

Overrides

Klutz_Driver::retrieveImage()
public boolean
# storeImage( string $index, string $image, timestamp $date = null )

Store an image for later retrieval.

Store an image for later retrieval.

Parameters

$index
The index of the comic to retrieve
$image
Raw (binary) image data to store
$date
$data Date to store it under (default today)

Returns

boolean
True on success, false otherwise

Overrides

Klutz_Driver::storeImage()
public boolean
# removeImage( string $index, timestamp $date = null )

Remove an image from the storage system (including its unique ID).

Remove an image from the storage system (including its unique ID).

Parameters

$index
The index of the comic to remove
$date
The date of the comic to remove (default today)

Returns

boolean
True on success, else false
public boolean
# removeDate( timestamp $date = null )

Remove all images from the storage system (including unique IDs) for a given date.

Remove all images from the storage system (including unique IDs) for a given date.

Parameters

$date
The date to remove comics for (default today)

Returns

boolean
True on success, else false
Methods inherited from Klutz_Driver
factory()
Properties summary
public string $basedir

The base directory we store comics in.

The base directory we store comics in.

# null
public string $subdir

The format for the various subdirectories. WARNING: DO NOT CHANGE THIS!

The format for the various subdirectories. WARNING: DO NOT CHANGE THIS!

# 'Ymd'
public string $sumsfile

The file we store unique image identifiers in.

The file we store unique image identifiers in.

# 'sums'
public array $diffs

The actual array of unique image identifiers (md5 sums right now).

The actual array of unique image identifiers (md5 sums right now).

Key is the full path of the comic, value is md5

# array()
API documentation generated by ApiGen