All text is available under the terms of the GNU Free Documentation License. For the latest version of this document, see Wikibooks.

Zoph/Configuration

Contents

Interface configuration

ZOPH_TITLE

ZOPH_TITLE Versions: All versions
Description: The title for the application. This is what appears on the home page and in the browser's title bar.
Default: Zoph
Options: You could set it to something like "My Photo Album".
Example: define('ZOPH_TITLE', 'My Photos');


MAX_CRUMBS

MAX_CRUMBS Versions: All versions
Description: The maximum number of breadcrumbs to allow
Default: 100
Options:
Example: define('MAX_CRUMBS', 100);


MAX_DAYS_PAST

MAX_DAYS_PAST Versions: All versions
Description: How many days appear in the dropdown on the search page for "photos taken/modified X days ago"
Default: 30
Options:
Example: define('MAX_DAYS_PAST', 40);


ZOPH_URL

ZOPH_URL Versions: 0.4 and later
Description: The URL where your Zoph installation can be reached. Make sure to include http:// and no html filename. This is used for sending e-mails and SSL login.
Default:
Options:
Example: define('ZOPH_URL', 'http://www.myserver.com/zoph');


ZOPH_SECURE_URL

ZOPH_SECURE_URL Versions: 0.5 and later
Description: The URL where your Zoph installation can be reached, when SSL or SSL Login is used. Make sure to include https:// and no html filename. This is used for SSL usage and login.
Default:
Options:
Example: define('ZOPH_SECURE_URL', 'https://www.myserver.com/zoph');


MAX_PEOPLE_SLOTS

MAX_PEOPLE_SLOTS Versions: 0.5 and later
Description: How many "add people" dropdowns can a user configure. This determines what the maximum value is that the user can configure via the prefs page. If it is set to 10 and a user changes his preferences to 6, the user can add 6 people at once on an edit photo page. (provided the user has edit rights).
Default: 1
Options: Any integer. 1 will make Zoph 0.5 behave like the older versions. Large numbers can have an impact on performance, 5-10 would be a reasonable maximum.
Example: define('MAX_PEOPLE_SLOTS', 5);


DEFAULT_TABLE_WIDTH

DEFAULT_TABLE_WIDTH Versions: All versions
Description: Defines the width of the Zoph interface.
Default: 600px
Options: A number in pixels ("px") or percent ("%"), the latter is a percentage of the user's browser window width.
Example: define('DEFAULT_TABLE_WIDTH', "600px");


CSS_SHEET

CSS_SHEET Versions: 0.4 and later
Description: Defines the stylesheet Zoph is using.
Default: css.php
Options: The filename of any CSS file. May be .css or .php, but make sure you send the right header if you are using php to generate the CSS file.
Example: define('CSS_SHEET', "mycss.css");


ICONSET

ICONSET Versions: 0.7.2/0.8 and later
Description: Defines the iconset Zoph is using.
Default: default
Options: The name of a directory under the images/icons directory containing icons for Zoph.
Example: define('ICONSET', "myicons");


LANG_DIR

LANG_DIR Versions: All versions
Description: Defines the directory where the translation files are stored. This is a directory under the base directory. In a new installation you usually have to copy the lang directory into the php directory
Default: lang
Options: Any directory name.
Example: define('LANG_DIR', "lang");


DEFAULT_LANG

DEFAULT_LANG Versions: 0.7.2/0.8
Description: Defines the default language Zoph uses. This is a last resort, after the users preferences and the browser's indication have been checked.
Default: en
Options: Any language as defined in the language files in the directory defined with LANG_DIR.
Example: define('DEFAULT_LANG', "nl");


DEFAULT_ORDER

DEFAULT_ORDER Versions: All versions
Description: Defines the default sort order Zoph uses to sort the photos on the thumbnail screen, it can be overided by the "order by" drop down on the top left of that screen.
Default: date
Options: date, time, timestamp, name, path, title, view, description, width, height, size, aperture, camera_make, camera_model, compression, exposure, flash_used, focal_length, iso_equiv, metering_mode
Example: define('DEFAULT_ORDER', "name");


DEFAULT_DIRECTION

DEFAULT_DIRECTION Versions: All versions
Description: Defines the default sort order direction Zoph uses to sort the photos on the thumbnail screen, it can be overided by the black and white arrows next to the "order by" drop down on the top left of that screen.
Default: asc
Options: asc: ascending or desc: descending
Example: define('DEFAULT_DIRECTION', "desc");


Authentication

$VALIDATOR

$VALIDATOR Versions: 0.4 and later
Description: Selects validation method. It needs to be a function in validator.inc.php.
Default: default_validate
Options: default_validate: validates agains zophs internal user database, htpasswd_validate: validates using htpasswd, php_validate: validates using PHP authentication
Example: $VALIDATOR = 'default_validate';


FORCE_SSL

FORCE_SSL Versions: 0.5 and later
Description: Force users to use https when using Zoph. ZOPH_SECURE_URL must be correctly defined when this is used.
Default: 0
Options: 0: Use http or 1: use https
Example: define('FORCE_SSL', 0);


FORCE_SSL_LOGIN

FORCE_SSL_LOGIN Versions: 0.5 and later
Description: Force users to use https when logging in to Zoph. After logging in, the user will be redirected to the http site. For this to work, both ZOPH_SECURE_URL and ZOPH_URL must be correctly defined.
Default: 0
Options: 0: Use http or 1: use https
Example: define('FORCE_SSL_LOGIN', 0);


Resized image generation

Zoph automatically creates thumbnails and medium sized ('mid') images during import. To influence this proces, you can edit the following parameters:

Important!

The options in this section have a matching setting in ZophImport. These have to be set the same.

The options in this section have a matching setting in ZophImport.pl. These have to be set the same.

THUMB_SIZE

THUMB_SIZE Versions: All versions
Description: Maximum width or height of thumbnails
Default: 120
Options: Maximum width/height in pixels
Example: define('THUMB_SIZE', 120);


MID_SIZE

MID_SIZE Versions: All versions
Description: Maximum width or height of 'mid' sized images
Default: 480
Options: Maximum width/height in pixels
Example: define('THUMB_SIZE', 480);


THUMB_PREFIX

THUMB_PREFIX Versions: All versions
Description: Prefix of the filenames for the thumbnails.
Default: thumb
Options: Do not make this string empty!
Example: define('THUMB_PREFIX', 'thumb');


MID_PREFIX

MID_PREFIX Versions: All versions
Description: Prefix of the filenames for the 'mid' sized images.
Default: thumb
Options: Do not make this string empty!
Example: define('MID_PREFIX', 'mid');


MIXED_THUMBNAILS

MIXED_THUMBNAILS Versions: 0.3 and later
Description: Convert thumbnails to JPEGs. This setting should match what is in zophImport. If you are installing Zoph for the first time, it is recommend to set this to 0 and change zophImport accordingly. If you are upgrading, see the Zoph/Upgrading#Zoph_0.2.1_-.3E_0.3_Upgrade for more information about this.
Default: 1
Options: 1: Behave like older Zoph versions. 0: Zoph will assume all thumbnails have the extension specified in THUMB_EXTENSION.
Example: define('MIXED_THUMBNAILS', '0');


THUMB_EXTENSION

THUMB_EXTENSION Versions: 0.3 and later
Description: Extension for thumbnail files
Default: JPG
Options: See . This setting is ignored if MIXED_THUMBNAILS is set to 1
Example: define('THUMB_EXTENSION', 'jpg');


Database configuration

Important!

The options in this section have a matching setting in ZophImport. These have to be set the same.

The options in this section have a matching setting in ZophImport.pl. These have to be set the same.

DB_HOST

DB_HOST Versions: All versions
Description: Your database host
Default: localhost
Options: Any hostname or IP address
Example: define('DB_HOST', 'localhost');


DB_NAME

DB_NAME Versions: All versions
Description: Name of the database, as it was created during installation
Default: zoph
Options:
Example: define('DB_NAME', 'zoph');


DB_USER

DB_USER Versions: All versions
Description: Name of the user that is used to connect to the MySQL database
Default: zoph_rw
Options:
Example: define('DB_USER', 'zoph_rw');


DB_PASS

DB_PASS Versions: All versions
Description: MySQL password for the user defined with DB_USER.
Default: password
Options:
Example: define('DB_PASS', 'MySecretPassword');


Image location

IMAGE_DIR

IMAGE_DIR Versions: All versions
Description: Location of the images on the filesystem.
Default: /data/images/
Options: Any directory on the filesystem. Make sure it ends with a /!
Example: define('IMAGE_DIR', '/data/images/');


WEB_IMAGE_DIR

WEB_IMAGE_DIR Versions: All versions
Description: Location of the images relative to the webserver root.
Default: /data/images/
Options: This directory should point to the same location as IMAGE_DIR, but now seen from the webserver. Configure Apache so that this is correct. Make sure it ends with a /!
Example: define('WEB_IMAGE_DIR', '/images/');


USE_IMAGE_SERVICE

USE_IMAGE_SERVICE Versions: All versions
Description: This setting defines wheter photo's will be pulled directly from the filesystem by the webserver or to use image_service.php.
Default: 1 (0 in v0.5.1 and earlier)
Options: 0: Take images from filesystem or 1: Use image_service.php.

The latter could be slightly lower in performance, but is highly recommended as it is more secure in combination with user access rights. Image service is required to be on if you wish to use watermarking or annotated photos.

Example: define('IMAGE_SERVICE', '1');


Import settings

CLIENT_WEB_IMPORT

CLIENT_WEB_IMPORT Versions: 0.3.3. and later
Description: Use this option to enable or disable importing via the browser using a "browse" button to upload files from the client
Default: 1
Options: 0: disable, or 1: enable importing uploaded files
Example: define(CLIENT_WEB_IMPORT, '1');


SERVER_WEB_IMPORT

SERVER_WEB_IMPORT Versions: 0.3.3. and later
Description: Use this option to enable or disable importing via the browser using a file already stored on the server
Default: 0
Options: 0: disable, or 1: enable importing files stored on the server
Example: define('SERVER_WEB_IMPORT', '1');


WEB_IMPORT (depricated)

WEB_IMPORT (depricated) Versions: 0.3.2. and before
Description: Use this option to enable or disable importing via the browser
Default: 0
Options: 0: disable, or 1: enable importing files using the webinterface
Example: define('WEB_IMPORT', '1');


DEFAULT_DESTINATION_PATH

DEFAULT_DESTINATION_PATH Versions: 0.4 and later
Description: Sets the default path to which photos are imported when using the webinterface, the path is relative to IMAGE_DIR. You can have Zoph automatically add today's date to the path by using date(format), where format is a format string like PHP's date() function, without quotes. Please note that this is the date the import is being done, not the the date the photo was taken, use USE_DATED_DIRS if you want that.
Default: uploads/date(Y.m.d)
Options:
Example: define('DEFAULT_DESTINATION_PATH', 'date(Y-M)');


SHOW_DESTINATION_PATH

SHOW_DESTINATION_PATH Versions: 0.4 and later
Description: This determines whether or not the value configured by DEFAULT_DESTINATION_PATH is visible/editable by a user. Please note that this is a usability feature and not a security feature, a user who has import rights can easily edit the value when changing the HTML file, then again, you shouldn't give untrustable users import rights.

This option is ignored for admin users, there it is always shown

Default: 0
Options: 0: do not show, or 1: show the destination path field
Example: define('SHOW_DESTINATION_PATH', '1');


MAX_UPLOAD

MAX_UPLOAD Versions: 0.6 and later
Description: Maximum size of uploaded file in bytes. Prior to v0.6. this was hardcoded to 10000000 bytes (10MB). Make sure you also change upload_max_filesize, post_max_size and possibly max_execution_time and max_input_time in php.ini
Default: 10000000
Options:
Example: define('MAX_UPLOAD', '10000000');


REMOVE_ARCHIVE

REMOVE_ARCHIVE Versions: 0.5 and later
Description: Remove the .tar or .zip file after a successful import.
Default: 0
Options: 0: leave the file, or 1: remove the file
Example: define('REMOVE_ARCHIVE', '0');


IMPORT_MOVE

IMPORT_MOVE Versions: 0.7.1 and later
Description: Move, instead of copy the image from the default import location to the final location. In this way no duplicate files will be around.
Default: 0
Options: 0: copy the file, or 1: move the file
Example: define('IMPORT_MOVE', '0');


USE_DATED_DIRS

USE_DATED_DIRS Versions: 0.5 and later
Description: Put the files uploaded via the web import in dated directories, just like the --datedDirs option for zophImport. For example, a photo taken on Dec 21, 2005, will be placed in a directory 2005.12.21, under your default path.
Default: 0
Options: 0: do not use dated dirs, or 1: use dated dirs.
Example: define('USE_DATED_DIRS', '0');


HIER_DATED_DIRS

HIER_DATED_DIRS Versions: 0.5 and later
Description: Put the files uploaded via the web import in hierarchical dated directories, just like the --hierarchical option for zophImport. For example, a photo taken on Dec 21, 2005, will be placed in a directory tree 2005/12/21, under your default path.
Default: 0
Options: 0: do not use hierarchical dated dirs, or 1: use hierarchical dated dirs. This parameter will be ignored if USE_DATED_DIRS is not set.
Example: define('HIER_DATED_DIRS', '0');


TAR_CMD

TAR_CMD Versions: All versions
Description: The command to use to untar .tar files uploaded via the web import.
Default: 0
Options: 0: Disable TAR uploading. tar xvf: Will work on most systems, modify if your system requires another command
Example: define('TAR_CMD', 'tar xvf');


UNZIP_CMD

UNZIP_CMD Versions: All versions
Description: The command to use to unzip .zip files uploaded via the web import.
Default: 0
Options: 0: Disable ZIP uploading. unzip: Will work on most systems, modify if your system requires another command
Example: define('UNZIP_CMD', 'unzip');

Features

JAVASCRIPT

JAVASCRIPT Versions: 0.7 and later
Description: Use this parameter to turn on or off all Javascript usage. This will disable all features that need Javascript.
Default: 1
Options: 0: no Javascript, 1: use Javascript
Example: define('JAVASCRIPT', '1');


EMAIL_PHOTOS

EMAIL_PHOTOS Versions: All versions
Description: You can enable or disable the "mail this photo" feature" using this option. Since Zoph needs to convert the photo into Base64 encoding for mail, it requires quite a large amount of memory if you try to send full size images and you may need to adjust memory_limit in php.ini, you should give it at least about 4 times the size of your largest image.
Default: 0
Options: 0: disable mail, 1: enable mail
Example: define('EMAIL_PHOTOS', '1');


WATERMARKING

WATERMARKING Versions: 0.5 and later
Description: Turn the watermarking feature on or off.
Default: 0
Options: 0: watermarking is disabled; 1: watermarking is enabled. Watermarking only works if IMAGE_SERVICE is enabled and WATERMARK is set to an existing GIF image. Please note that enabling this function uses a rather large amount of memory on the webserver. PHP by default allows a script to use a maximum of 8MB memory. You should probably increase this by changing memory_limit in php.ini. A rough estimation of how much memory it will use is 6 times the number of megapixels in your camera. For example, if you have a 5 megapixel camera, change the line in php.ini to memory_limit=30M
Example: define('WATERMARKING', '1');


WATERMARK

WATERMARK Versions: 0.5 and later
Description: If watermarking is used, this should be set to the name of the file that will be used as the watermark. It should be a GIF file, for best results, use contrasting colours and transparency. In the Contrib directory, 3 example files are included. The filename is relative to the IMAGE_DIR.
Default: watermark.gif
Options:
Example: define('WATERMARK', 'watermarks/topsecret.gif');


WM_POSX

WM_POSX Versions: 0.7.1 and later
Description: Define where the watermark will be placed horizontally.
Default: center
Options: left, center or centre, right
Example: define('WM_POSX', 'right');


WM_POSY

WM_POSY Versions: 0.7.1 and later
Description: Define where the watermark will be placed vertically.
Default: center
Options: top, center or centre, bottom
Example: define('WM_POSY', 'bottom');


WM_TRANS

WM_TRANS Versions: 0.7.1 and later
Description: Define the transparency of a watermark.
Default: 50
Options: 0: fully tranparent (invisible, don't use this, it's pointless and eats up a lot of resources, better turn off the watermark feature altogether) to 100: no transparency.
Example: define('WM_TRANS', 25);


ALLOW_COMMENTS

ALLOW_COMMENTS Versions: 0.6 and later
Description: Enable comments. Before a user can actually leave comments, you should also give the user these rights through the edit user screen.
Default: 0
Options: 0: disable comments 1: enable comments
Example: define('ALLOW_COMMENTS', 1);


AUTOCOMPLETE

AUTOCOMPLETE Versions: 0.7 and later
Description: With this feature you can use "Web 2.0" autocompletion for select-boxes (Albums, Categories, Places, People)
Default: 1
Options: 0: use standard HTML select-boxes; 1: Use autocompletion select-boxes. This feature needs JAVASCRIPT to be enabled.
Example: define('AUTOCOMPLETE', 1);


DOWNLOAD

DOWNLOAD Versions: 0.7.1 and later
Description: With this feature you can use download a set of photos (Albums, Categories, Places, People or a search result) in one or more ZIP files. Important the photos in the ZIP file will not be watermarked.
Default: 0
Options: 0: disable this feature; 1: Enable this feature. You must also grant each non-admin user you want to give these rights permission by changing "can download zipfiles" in the user's profile.
Example: define('DOWNLOAD', 1);


Mapping Support

MAPS

MAPS Versions: 0.7.3 and later
Description: With this setting you can enable mapping support for Zoph. Mapping is provided through the use of the Mapstraction abstraction layer, which enables support for many different mapping providers. You will need to enable Javascript throught the JAVASCRIPT setting.
Default:
Options: empty: disable this feature; google: Use Google Maps, you need to define GOOGLE_KEY in order to be able to use Google Maps., yahoo: use Yahoo mapping or openstreetmap: use openstreetmap maps. Because the Openstreetmap project uses a part of Google's API, you will also need to define GOOGLE_KEY. It should be possible to use the other mapping providers Mapstraction supports, but they have not been tested with Zoph and are therefore not supported.
Example: define('MAPS', 'google');


GOOGLE_KEY

GOOGLE_KEY Versions: 0.7.3 and later
Description: In order to use Googles Mapping API, you will need to request an API key with Google. You can do this at http://code.google.com/apis/maps, you will need to provide the URL to your Zoph installation, mapping will generate an error when the URL is wrong.
Default: 'Get yours at http://code.google.com/apis/maps'
Options: An API key provided by Google. It will look something like this the one in the example, witch is an invalid key, don't bother trying to use it.
Example: define('GOOGLE_KEY', 'DDQIBBBBhW0vWZf8f0AAPt_86WXJrGGG9jpr3jOoJTHbWArKj23UyhEyLxRRtnOiOR-RSvuLRF1bguT8Nkh2jQ');


Timezone

The following features are only available if your are running PHP 5.1.0 or later and are automatically disabled if you are not.

CAMERA_TZ

CAMERA_TZ Versions: 0.7.3 and later
Description: This setting determines the timezone to which your camera is set. Leave empty if you do not want to use this feature and always set your camera to the local timezone
Default:
Options: Any timezone from this list http://www.php.net/manual/en/timezones.php
Example: define('CAMERA_TZ', 'Europe/Amsterdam');


DATE_FORMAT

DATE_FORMAT Versions: 0.7.3 and later
Description: Define how Zoph displays date
Default: 'H:i:s T'
Options: See http://www.php.net/manual/en/function.date.php for explanation.
Example: define('TIME_FORMAT', 'H:i:s');


TIME_FORMAT

TIME_FORMAT Versions: 0.7.3 and later
Description: Define how Zoph displays time
Default: 'd-m-Y'
Options: See http://www.php.net/manual/en/function.date.php for explanation.
Example: define('DATE_FORMAT', 'Y-m-d');


GUESS_TZ

GUESS_TZ Versions: 0.7.3 and later
Description: If you have defined the precise location of a place (using the mapping feature), Zoph can 'guess' the timezone based on this location. It uses the Geonames project for this. This will, however, send information to their webserver, do not enable this feature if you're not comfortable with that.
Default: 0
Options: 0: disable this feature, 1: enable this feature
Example: define('GUESS_TZ', 1);