|
Coppermine Photo Gallery v1.4.27: Documentation and ManualAbout CoppermineCoppermine Photo Gallery is an advanced, user-friendly, picture gallery script with built-in support for other multi-media/data files. The gallery can be private, accessible to registered users only, and/or open to all visitors to your site. Users, if permitted, can upload pictures with their web browser (thumbnail and intermediate sized images are created on the fly), rate pictures, add comments and even send e-cards. The site administrator determines which of the features listed above are accessible by registered and non-registered users. The site administrator can also manage galleries and batch process large numbers of pictures that have been uploaded onto the server by FTP. Image files are stored in albums and albums can be grouped into categories, which in turn, can be further grouped under parent categories. The script supports multiple users and provides the administrator of the website with tools to manage which user groups can or cannot have personal albums, send ecards, or add comments. Users may also upload to public albums if the website administrator permits it. Permissions to create albums, upload and delete files are all determined by the website administrator. Coppermine has an optional user selectable theme system with a number of themes pre-installed. It also supports the use of multiple languages and contains it's own language library. These language files provide, users of your gallery, access in their preferred languages. Coppermine uses PHP, a MySQL database, and either the GD library (version 1.x or 2.x) or ImageMagick to generate and keep records and file information of all thumbnails, intermediate, and full-sized images. Coppermine generates the html code necessary to display its various categories, sub-categories, albums, intermediate, and full-sized image displays dynamically. This drastically cuts down on the number of files and space your gallery would require using standard HTML. The install script (install.php) makes it quick and easy to get started. Table of contents
1. What is requiredThere are certain minimum requirements that need to be met in order to be able to install Coppermine: 1.1 Technical requirements
Although Coppermine can be run on any webserver that has the minimum requirements mentioned above, the Coppermine dev team can not support you on setting up your webserver in the first place. As suggested, those are requirements, i.e. they have to be met before actually considering to run Coppermine. Please note that the Coppermine group does not recommend self-hosting unless you're an experienced webserver administrator and know your way around. 1.2 Personal requirementsCoppermine is aimed at webmasters who have at least basic HTML know-how and some experience in setting up pre-made scripts. The Coppermine dev team is aware that there are Coppermine users who set up their gallery using auto-installers who have little or no experience in setting up similar scripts, which is fine as well. We just ask you to read the documentation thoroughly before asking questions on the Coppermine support board, as this should answer most newbie questions. You can use coppermine just fine using the pre-made themes that come with the coppermine package. However, if you want to modify existing themes or come up with a theme of your own (that matches the look of the rest of your site), you should have basic to intermediate HTML and CSS skills. 2. Installation and Setup2.1 How to install the script
2.1.1 Setting permissionsCoppermine needs write access to a number of files and folders on the webserver in order to accomplish the following:
By default, files and folders on a webserver are usually not writable, so you will probably have to change permissions before installion, for the reasons mentioned above. It's really mandatory that you set/change (CHMOD) permissions - or you will run into issues sooner or later. To be able to set permissions correctly, you have to understand how they work: there are read, write and execute permissions (abbreviated with rwx) for each folder and file. Permissions on a parent folder can propagate to a child folder or the files within it, but it's possible to tweak your setup so that unwanted permissions will not propagate to child folders and resident files. However, there are differences between the different operating systems that are used as webservers. As a result, there are a number of different approaches. As coppermine is designed to run on many different setups, we've included some basic instructions. Those who know their way around may find these instructions somewhat generalized and lacking in details. 2.1.1.1 Apache on Unix/Linux (CHMOD)
2.1.1.2 Apache on WindowsYou have to understand that there is no such thing as CHMOD on Windows operating systems - this command is available on Unix/Linux only, even if your FTP application displays a CHMOD option. If you try to apply CHMOD on Windows, the command will simply be ignored and do nothing. However, there are permissions on Windows as well. The apache webserver service runs under a particular user - if you have full access to the server, check the services control to find out which one it is. If you can't do this, ask your webhost. As a temporary workaround, set permissions on folder and file level as suggested in the section IIS on Windows, but not for the IUSR (which only exists on IIS), but for "everyone". However, allowing "everyone" to have read, write and execute permissions might be a security risk and is not recommended at all. 2.1.1.3 IIS on WindowsPre-requisites: you will need full admin privileges over your server to execute this process. If you do not run the webserver yourself, your webhost has probably set up a web-based interface to let you change permissions. If you're not sure, contact your webhost. The dialogs may differ slightly depending on the Windows version you have:
You have to understand that there is no such thing as CHMOD on Windows operating systems - this command is available on Unix/Linux only, even if your FTP application displays a CHMOD option. If you try to apply CHMOD on Windows, the command will simply be ignored and do nothing. However, there are permissions on Windows as well. 2.1.2 The install screen
2.1.3 What the installer doesAfter performing some basic checks, the installer creates the needed database tables for you and fills them with default values. It creates the file include/config.inc.php within the coppermine folder on your server that stores the database details you entered during install. If you should change your mysql database details later (i.e. if you change the password of your mysql user account or if you migrate your gallery to another server), you will need to edit include/config.inc.php manually to reflect the changes. The file include/config.inc.php also keeps the install script from being run twice: if the installer is run, a check is performed wether the config file exists - if yes, the installer will stop and redirect the user to the index page. 2.2 Getting startedUse the "Album Manager" ("Albums" link in the admin menu) in to create and order your albums. You'll need at least one album your files can go into. Use the anonymous group to define what non-registered users can and can't do (in the groups panel). Use the properties of an album to modify its description and permissions. In order for a user to be allowed to upload a file in album two conditions must be met:
The same applies to picture rating and comment posting. If you have installed the script succesfully but are having trouble getting it working properly you can enable the "debug mode" on the Config page. In this mode, the script outputs most of the warning/error messages produced by PHP in addition to some debug information. This can provide valuable information to understand what is wrong. 2.2.1 Basic concepts
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Token | Description | Default position | Needed? | Dependancies |
|---|---|---|---|---|
| {LANG_DIR} |
Language direction Possible values are LTR and RTL. Should not be changed or modified at all. |
pageheader | mandatory | Filled by Coppermine, depending on the orientation of the language the end user has chosen |
| {CHARSET} |
Character set Determines the character set used - filling the HTML tag . Do not change unless you really know what you're doing. |
pageheader | mandatory | Filled by Coppermine, depending on the encoding the admin has chosen in config. |
| {TITLE} |
Page Title The page title that is mainly taken into account by search engines. The human visitor sees the title tag in the browser window. |
pageheader | mandatory | Title tag is being composed in the individual coppermine core file (e.g. displayimage.php, thumbnails.php etc.), handed over to the pageheader function. |
| {META} |
Meta tags Meta tags that depend on the dynamic content of a page are being inserted here. Currently, Coppermine uses the keywords meta tag (<meta name="keywords" content="DYNAMIC CONTENT HERE" />) and the refresh meta tag (<meta http-equiv="refresh" content="5; URL=REDIRECTION_PAGE" />). If you want to add other meta tags (e.g. author meta data like <meta name="author" content="Firstname Lastname" />), do not replace the token, but add your custom meta tags below the {META}-token. |
pageheader | mandatory | Populated dynamically by the script, e.g. for meta keywords based on file keywords or for redirection for status change screens. |
| {CUSTOM_HEADER} |
Custom Header If the corresponding option has been set in config, this token will be replaced with the output that your custom header generates. If you don't use the custom header feature, you can remove the {CUSTOM_HEADER}-token from your template, but it's advisable to leave it in place if you decide to use the feature later. |
pageheader | optional | Path to custom header include set up in config |
| {GAL_NAME} |
Gallery name Will be replaced with the gallery name you set up in config when the template is being parsed. You might want to remove this token, especially if you already have a banner in your theme that displays your gallery name. |
pageheader | optional | Gallery name set in config |
| {GAL_DESCRIPTION} |
Gallery description Will be replaced with the gallery description you set up in config when the template is being parsed. You might want to remove this token, especially if you already have a banner in your theme that displays your gallery name. |
pageheader | optional | Gallery description set in config |
| {SYS_MENU} |
System menu Determines the position of the first level menu the end user will see on your page (the one that contains the login/logout link). Even if you want to get rid of the menu or parts of it, do not remove the {SYS_MENU} token itself, but remove the menu items you don't want displayed by editing theme.php instead. |
pageheader | mandatory |
|
| {SUB_MENU} |
Sub menu Determines the position of the second level menu the end user will see on your page (the one that contains the links "Album list" / "Last uploads" / "Last comments" / "Most viewed" / "Top rated" / "My Favorites" / "By Date" / "Search"). Even if you want to get rid of the menu or parts of it, do not remove the {SUB_MENU} token itself, but remove the menu items you don't want displayed by editing theme.php instead. |
pageheader | mandatory | n/a |
| {LANGUAGE_SELECT_FLAGS} |
Language selector (flags) Will display a row of flags representing the languages available for the end user to choose if corresponding config setting is enabled. |
pageheader | optional | Display language flags enabled/disabled in config. |
| {LANGUAGE_SELECT_LIST} |
Language selector (list) Will display a dropdown list of languages available for the end user to choose if corresponding config setting is enabled. |
pageheader | optional | Display language list enabled/disabled in config. |
| {THEME_SELECT_LIST} |
Theme selector (list) Will display a dropdown list of themes available for the end user to choose if corresponding config setting is enabled. |
pageheader | optional | Display theme list enabled/disabled in config. |
| {ADMIN_MENU} |
Admin menu Displays the admin menu. |
pageheader | mandatory | Admin must be logged in. Admin controls mustn't be hidden. |
| {GALLERY} |
Gallery |
n/a | mandatory | |
| {CUSTOM_FOOTER} |
Custom Footer If the corresponding option has been set in config, this token will be replaced with the output that your custom footer generates. If you don't use the custom footer feature, you can remove the {CUSTOM_FOOTER}-token from your template, but it's advisable to leave it in place if you decide to use the feature later. |
pagefooter | optional | Path to custom footer include set up in config |
| {VANITY} |
Vanity block If your custom theme is defined as valid theme and you have enabled the corresponding option in config, the {VANITY}-placeholder will be replaced with mini-banners that link to PHP.net, mysql.com and the HTML and CSS validators of the W3C. |
pagefooter | optional |
Display the vanity block on themes that are defined as XHTML and CSS compliant enabled in config. Theme defined XHTML and CSS compliant in theme.php |
To modify the colors, fonts, font sizes, etc... used by the script, you should edit the "style.css" stylesheet whenever possible. For example, if you want to increase or decrease the size of the fonts you can simply modify the line with : table { font-size: 12px; }. Most of the font sizes used by the script are defined as a percentage of this size.
The "theme.php" file contains all the HTML templates used by the script. You can edit them, as well. When making modifications to these templates, be careful that you do not alter the lines that start with <!-- BEGIN xxx --> and <!-- END xxx -->. These lines are often used to identify the start and end of specific code blocks that the script will use to display your gallery.
A significant number of webhosts on the Internet run PHP in safe mode. Coppermine runs without any problem in safe mode and with the "open basedir restriction" active, provided safe mode is properly configured. Unfortunately, on many hosts, safe mode is not configured properly.
If your webhost is running PHP in safe mode but is misconfigured, you may need to do the following :
By default the script uses the PHP built-in mail function to send emails. In some cases, the PHP built-in function can't be used.
If, in order to send emails with PHP, you are required to supply a hostname, a username and a password, you will need to edit the CONFIG menu section "Email settings" and insert the correct values there. If you don't need a username and password to connect to your SMTP server, just leave these lines blank. If you don't know what settings to enter, you will need to check with your webhost.
If you already have installed version 1.0 and you want to transfer your albums to version 1.4x follow the following steps:
This upgrade process leaves your v1.0 gallery untouched
Please note: as there have been changes both in the coppermine files and the database from cpg1.3.0 or better to cpg1.4.x, users of previous versions will have to apply all steps mentioned above: both the files have to be replaced and the update.php script has to be run once.
Please note: as there have been changes both in the coppermine files and the database from cpg1.4.0 or better to cpg1.4.27, users of older versions than cpg1.4.27 will have to apply all steps mentioned above: both the files have to be replaced and the update.php script has to be run once.
There are major and minor releases of Coppermine. Major releases have so far been cpg1.0, cpg1.1, cpg1.2.x, cpg1.3.x and cpg1.4.x. The next major release will be cpg1.5.x (which currently is in the dev pipeline - no scheduled release date yet). Minor releases (the third number in the version numbering scheme) represent updates, also known as "maintenance releases". Major releases contain new features (compared to the previous major release), minor releases do not contain new features, but only bug fixes and slight improvements (like additional language files).
To understand the release policy of the coppermine dev team you have to understand how bugs are being fixed: we maintain a repository where the core code of each major release is being constantly being improved. Major and minor bugs that are reported on the coppermine support board are being fixed in that repository. Once a new package is being bundled, all fixes that have been made in that repository go into the new maintenance release.
There is a good reason for every new maintenance release: they are usually being packaged when a new bug or vulnerability is being discovered that is relevant in terms of security. As suggested above, there are several minor bugfixes that go into each new release as well, not only the one major bug or vulnerability that lead to the maintenance release. Therefor, it will not be enough to just fix the single vulnerability that has been the initial reason for a new package to be released. Instead, always upgrade to the most recent stable release as soon as it has been announced.
This is a list of minor releases of cpg1.4.x and the reason why they have been released. It is meant to explain why you should upgrade as soon as possible to the most recent stable release if you are running an outdated version.
| Package | Reason for release | Release Date |
|---|---|---|
| cpg1.4.0 |
|
no package |
| cpg1.4.1 |
[more]
|
2005-07-02 |
| cpg1.4.2 |
[more]
|
2005-11-23 |
| cpg1.4.3 |
[more]
|
2005-12-27 |
| cpg1.4.4 |
[more]
|
2006-02-26 |
| cpg1.4.5 |
[more]
|
2006-04-21 |
| cpg1.4.6 |
[more]
|
2006-05-19 |
| cpg1.4.7 |
[more]
|
2006-06-06 |
| cpg1.4.8 |
[more]
|
2006-06-08 |
| cpg1.4.9 |
[more]
|
2006-08-27 |
| cpg1.4.10 |
[more]
|
2006-10-29 |
| cpg1.4.11 |
[more]
|
2007-06-29 |
| cpg1.4.12 |
[more]
|
2007-07-02 |
| cpg1.4.13 |
[more]
|
2007-09-13 |
| cpg1.4.14 |
[more]
|
2007-11-07 |
| cpg1.4.15 |
[more]
|
2008-01-30 |
| cpg1.4.16 |
[more]
|
2008-02-02 |
| cpg1.4.17 |
[more]
|
2008-04-14 |
| cpg1.4.18 |
[more]
|
2008-04-14 |
| cpg1.4.19 |
[more]
|
2008-08-03 |
| cpg1.4.20 |
[more]
|
2009-02-04 |
| cpg1.4.21 |
[more]
|
2009-03-04 |
| cpg1.4.22 |
[more]
|
2009-04-30 |
| cpg1.4.23 |
[more]
|
2009-05-21 |
| cpg1.4.24 |
[more]
|
2009-05-26 |
| cpg1.4.25 |
[more]
|
2009-06-22 |
| cpg1.4.26 |
[more]
|
2010-02-01 |
| cpg1.4.27 |
[more]
|
2010-05-24 |
As you can see, the coppermine dev team is constantly fixing and improving coppermine. Every non-trivial piece of software contains bugs, so there is no guarantee that the version that currently is the most recent one will be the final, ultimately bug-free version to be released in the cpg1.4.x series. It is absolutely vital that you perform regular updates as soon as new packages are being released.
Details on the changes that went into a release can be found in the changelog that comes with each package. The changelog file can be found in the root directory of the coppermine package. The changelog contains more information on additional languages and the time and date of the fix as well.
The changelog is a plain-text file that can be read using a simple editor - on Windows-driven machines, notepad.exe is fine.
Since the release of cpg1.3.2 Coppermine comes with an additional version checking tool to help you resolve issues with upgrades and updates easily. Except for specific files of coppermine that will only work for the version that it had been originally designed for, the versioncheck tool can be used with all versions starting from cpg1.2.1. To launch the versioncheck, simply add versioncheck.php to your browser's address bar after being logged into coppermine as admin (example: http://yourdomain.tld/your_coppermine_folder/versioncheck.php). With version 1.4x, you can run the versioncheck utility from the Admin Tools menu.
The script "versioncheck" is meant for users who have updated their coppermine install. This script goes through the files on your webserver and tries to determine if the local file versions on your webserver are the identical to the ones at the repository of http://coppermine.sourceforge.net. Files that do not match are displayed and are the files you should update as well. In Cpg1.4.x you can toggle the URL to the latest update for individual files in the versioncheck page.
It will show everything in red that needs to be fixed. Entries in yellow need looking into. Entries in green (or your theme's default font color) are OK and should be left alone. When an entry is red or yellow, a help icon will appear next to it. Click it to find out more. Hovering with your mouse over an item will display additional information as well (tooltip).
The versioncheck screen has several sections:
The options screen lets you configure the versioncheck, or rather what is being displayed. The options aren't saved anywhere, so you will have to adjust them each time you run versioncheck. The default options should be OK for most users - only change them if you have good reasons to do so.
There is a lot of information packed into a small space. Here's an example of a possible output and what the output means:
In above example, rows "A" to "E" are folders, rows "F" to "K" are files.
If an entry is in your default font color, it exists (in above example, all rows but "G" and "H").
If the entry is in yellow (row "G"), the corresponding folder/file doesn't exist on your webserver, but it is only considered to be optional (e.g. a language file that comes with the coppermine package that you don't want to use can be deleted from the webserver. It will then be shown in yellow, as it's only optional to have it). It's up to you if you need it.
If the entry is in red (row "H"), the folder/file in question doesn't exist on your webserver, but it is mandatory to have it. You should upload the file from your coppermine package to your webserver. Only leave it as-is if you really know what you're doing.
Files that contain header information are being displayed with your file version and the cpg version of the file in the repository, separated with a slash. It is possible that a file version may differ from the version of your whole package - this doesn't matter as long as both your version and the repository versions match (the are displayed in green) - in above example: rows "F", "J" and "K".
Of course, version numbers from files that don't exist can't be extracted, that's why rows "G" and "H" have a dash as cpg version. If your cpg version is lower than the repository version, your version is being displayed in red: if this is the case, you probably haven't successfully uploaded the proper file of files from the coppermine package to your webserver (replacing files that may have already existed on your webserver) - you should do so now (row "I").
If your local version is being displayed in yellow, you are using a file that belongs to a higher coppermine version than the rest of your files - you probably downloaded a file from the devel branch: remember that using devel files go unsupported, do so on your own risk (if you know what you're doing). If most or all of your files are being displayed in yellow, you probably have upgraded some files, but you forgot to upgrade the file "include/init.inc.php" (that holds the version info for your install). Make sure to upload all files from the package to your server.
The column "file version" holds the individual file's version that get's increased during development of a new coppermine version (each time a developer modifies a certain file, the version number increases by one). As folders can't contain such version numbers, they are again labelled as "n/a" (rows "A" to "E"); the same applies to files that don't exist, that's why their file version is displayed as dash (rows "G" and "H"). Also the file version is irrelevant when comparing files from different coppermine packages, that's why row "I" has a dash as well.
The coloring scheme is similar to the cpg version system: green means "everything is OK", red means "you're using an outdated version" and yellow means "you're using a newer version than you're actually suppossed to.
The difference between the cpg version and the file version columns is indicative of the way you should obtain the file that you need to replace the existing one on your server: a red entry in the cpg version column means the file on your server hasn't been replaced with the file from the coppermine package; a red entry in the file version column (row "J") usually means that there have been updates to a certain file after the release of the package - you should either check if there is a newer package available or get the most recent file from the SVN (enable the web svn link column in the versioncheck options).
CPG1.4.x incorporates many new features (compared to older versions), so we encourage all users to upgrade. However, there may be some who want to test cpg1.4.x and decide later that they want to go back to an older version. You have to keep in mind that a full upgrade changes the overall layout of coppermine's database that includes converting the encoding to unicode. This process can't be reverted: once you have done the conversion, the only way back is to restore a complete mySQL database dump (of course you have to create this backup before you upgraded in the first place). Creating mySQL dumps (backups) is recommended anyway, so you should do so now.
If you haven't converted your database to unicode (utf-8) encoding, you can downgrade as explained below. To make this absolutely clear: you can only downgrade if you used to have cpg1.3.x before and upgraded this version to cpg1.4.x without converting the database. If you have converted the database or if you have made a fresh install of cpg1.4.x, you can't downgrade at all!
To actually perform the downgrade, replace all cpg1.4.x files on your server with the files from the older version (as if you were doing an upgrade, see above). You then have to undo some changes in the database structure. To do so, run a query like
ALTER TABLE `CPG_users` CHANGE `user_location` `user_profile1` VARCHAR(255); ALTER TABLE `CPG_users` CHANGE `user_interests` `user_profile2` VARCHAR(255); ALTER TABLE `CPG_users` CHANGE `user_website` `user_profile3` VARCHAR(255); ALTER TABLE `CPG_users` CHANGE `user_occupation` `user_profile4` VARCHAR(255);
The Coppermine Photo Gallery (CPG) works in the following way:
If you don't plan to have many albums, you really won't need to use the categories feature. If this applies to you, simply do not create any categories and all your albums will automatically appear on the main page of the script.
There is, however, a special category named "User galleries". This category can't be deleted. If a user belongs to the group "can have a personal gallery" and this is set to YES, he will have the right to create his own albums and his gallery will be a sub-category of "User galleries". This link is not visible to visitors of your site, however, if you do not allow users to upload pics and have their own albums.
The administrator can create albums in any category. Non-administrative users can only create albums in the "User galleries/Their_username".
You can, however rename the "User Galleries". To rename the "User galleries" category and description, simply go to your category control panel and change the name there (e.g. to translate the words "User galleries" into your language).
When you are logged in as an administrator, the script provides two modes of operation : Admin mode & User mode. You can switch between Admin & User mode by clicking on the corresponding link in the menu bar at the top of the screen.
When you are in admin mode, you can administer your gallery using the menu bar that appears when in admin mode, as shown below :
When you are in user mode you are still logged in as an admin user, but the admin controls (the admin menu bar etc.) are hidden from the screen to give you a basic preview of what the page would look like for "regular users". However (as you still are logged in as admin), certain permissions and options in user mode will still look the same as if you were in admin mode; you can not use "User Mode" to see what a non-admin user is actually allowed to see. To see what a casual visitor can see and do on your site, simply log out. To see what a registered user can see and do on your site, create a test user account (non-admin) and log in with this particular user (when doing this it is recommended that you use two different browsers, NOT two instances of the same browswer, to view your site so you can stay logged in as admin on one and view what regular users see while making changes in admin mode. You will have to refresh the non-admin mode screen to see what changes you incorporated).
The items in the admin menu should be pretty self-explanatory:
View the ecards sent by users.
You must have ecard-logging enabled in the config menu, first (by default, logging is disabled). When enabled, all ecards that are being sent are written into the database, where the coppermine admin can view them.

Before switching this option on, make sure that logging such information is legal in your country. It is also advisable to notify your users that all ecards are being logged (preferrably on the registration screen).
[cpg1.3.0 or better required]Picture manager that can be used to custom-sort files within an album. By default, the thumbnail page that displays the contents of an album will be sorted by the sorting order specified in "Default sort order for files" on the config page. The "sort my pictures" option overrides the default sorting mechanism and displays the thumbnails in the order you specify. As this means an additional effort in the maintenance of each album, it's recommended to use the default sorting by filename and (instead of specifying a custom sort order) and naming the files appropriately before upload.
Note: each user (including the admin) can use the sorting controls on the album's thumbnails display page to manually override the sorting option that was specified in coppermine's config and the "Sort my pictures" option; this final method of changing the sort order is stored locally in a cookie of the client and reverts to the config settings when this cookie is discarded.

Use this if you have changed the settings for thumbnail or intermediate images in config, or if you have to replace corrupt versions.
Select the radio button for this action, then choose to rebuild the thumbnails, intermediates, or both.
This uses a lot of server resources, so if you experience timeout issues, try setting it to process smaller batches ( 45 is the current default ).
Use this to save space on your webspace.
When selected, Coppermine checks to see if an intermediate copy exists, and if it does, it deletes the original sized picture, then re-names the intermediate. If no intermediate exists, Coppermine leaves the original in place.
If, you after following the troubleshooting guides in the documents provided here, you are still having problems with your coppermine installation, these problems are sometimes caused by a misconfigured server setup. Clicking this link will provide you with all your php and mySQL settings, as well as information on the GD library (if installed). The information may be required by the support team, if you are unable to sort problems yourself.
It is not possible for visitors to your site to access this information, so if asked for it, copy and paste it on the support board. Do not post this information or any debug information unless requested first. You may post ERROR messages verbatim, but refrain from posting warning messages.
In previous beta versions of cpg1.4.x there used to be an admin mode and user mode for "regular registered" users, somewhat like those for the true administrator. This feature has been removed as it was both confusing for end users and really didn't serve any special purpose.
The user with upload permissions has the following admin options:

This is where you define what members of a user group can and can't do.
The disk quota applies only for groups where "Personal gallery" has been set to "Allowed". Both files uploaded by a user in his personal gallery as well as files uploaded to public galleries are included in the quota. Set the quota to 0 to disable the quota (unlimited space).
Use the anonymous group to define what non-registered users can and can't do. Quota and "Personal gallery" are meaningless for anonymous users.
Permissions control what the user is allowed to do in the gallery (Rating/Sending Ecards/Posting Comments).
Bear in mind that if a user is a member of a group where "Rating", "Comments" or "Public albums upload" is set "YES", s/he will have the right to perform these operations only in albums where they are allowed. ( ie. uploading files will only be possible in albums where "Visitors can upload files" has been set to YES.)
If "Personal gallery" is set to Allowed, the members of the group will be able to have their own gallery in the "User galleries" category where they will be able to create their own albums.
If "Approval" is set to NO, files uploaded by members of the group in albums created in their own gallery won't need to be approved by the admin. If "Approval" is set to YES, the users in the particular group will be able to upload, however the uploaded files will only be shown after the admin (you) has approved them.
The group control panel enables you to control the upload parameters of any group.
Upload method lets you select the type of upload method that a particular group may use. Four forms or methods are currently available.
No. of boxes set to "variable" allows the user to select the number of upload boxes for an upload. Usually, you will leave this option set to "fixed", as it presents the user with an additional step in the upload wizard that is not necessary.
File upload boxes controls the number of file upload boxes presented to the user. If the user may customize the number of boxes (No. of boxes set to "variable"), this setting serves a maximum limit for the number of boxes he may request. Otherwise, this setting determines the number of boxes that will appear on the upload form.
URI upload boxes is the same type of control as File upload boxes, but it controls the presentation of URI upload boxes.
Please note: on unbridged installs (or standard, stand-alone coppermine installs), the group "banned" feature really doesn't accomplish much. A user who is member of this group is still able to log in and view pics, he's just not able to upload, rate, send ecards or post comments. If you truly want to place a full ban on someone you should use the "banning" feature (which isn't group-based but individually based), instead.
The user control panel can be found when clicking "users" from the admin menu. It is the place where you create and manage your users.
If you have enabled integration (bridging) Coppermine with another application (e.g. your favorite BBS app), Coppermine will use the member table of the application you bridged with (your BBS), so the built-in Coppermine user management will be disabled in favor of the user management that comes with the bridged application. This has been incorporated to eliminate redundancy and facilitate a seemless integration.
As a result, you will not have this user control panel; clicking the "users" link will send you to your bridge application's user management instead.

You can use the wildcards: * (for any string) and ? (any single character) or even %expression%.
Example: searching for j* will return both Jack and Jill
To create a new user, simply click on the button "Create new user" at the bottom of the user manager and fill in the form that will come up.
This does of course not apply if you have bridging enabled, as user management is being handled by the app you have bridged coppermine with. In this case, the user management screen of your bridged app should show - create a new user there.
To edit the properties of a user, click the
-button next to the user name. You will then find a page where you can modify all user profile fields the user has. This includes the option to change the password of that user. If you don't want to change a user's password, leave the password field blank.
The dropdown list determines the primary group the user is in, the checkboxes beneath it determine the secondary groups.
Please note that this screen (as well as the rest of Coppermine's user management) will not be available if you have enabled bridging, because then the user management of the application you have bridged with (e.g. your BBS) kicks in and handles everything related to user management.
The button "Album permissions by group" can not be used to set permissions, but only to view them. You can set permissions using the album properties screen.
When creating a new user or editing an existing user, you will notice a row named "User group" - it determines what group(s) the user is in.
The first field (a dropdown field) determines the primary user group. It determines the status of a user. You should set it to "Administrator" (for users you want to assign admins powers to) or "Registered".
Additional (secondary) group membership can be assigned using the checkboxes beneath the dropdown field. Here, all your custom groups (that you can create and manage using the group control panel) should show as well as the core groups (the ones that come with coppermine out of the box and can't be deleted). Assign additional group membership to your users here. Privileges for a particular user inherited from group membership are added: the least restrictive permissions are taken into account.
Example: if you want your registered users to be capable of viewing the gallery only, and only privileged users of your custom user group "photographers" are allowed to actually upload files, make all your users members of the built-in group "registered" (by default, they already are). Only for user you want to give the privilege to upload, tick the check box "photographers" as secondary group. Then go to your groups control panel and disallow uploads for the registered group there, but allow uploads for the custom group "photographers".
Note: the button "album permission by group" beneath the checkboxes is not meant to assign album permissions, but only to check the permissions set. You can only assign particular album permissions on the album properties screen.

This panel allows you to edit your categories.
"User galleries" is a special category. It is not visible unless
you have some users that have created their own gallery. It can't be
deleted but you can edit its title and description by using the
button.
You can specify how you want categories sorted in coppermine: alphabetically (instead of a customized order) by setting "Sort categories alphabetically" to "Yes". This setting is available both in coppermine config and the category manager. If you enable alphabetical sorting, the move up and move down arrows that normally let you manually sort the categories will disappear. Disable this feature if you want to organize your categories in some other order.
You can only assign a picture to the category only if you have an album with images nested directly within it.

Coppermine stores files inside of albums, so you'll need at least one album for your pictures/files to be placed in. Albums can be stored in categories (but they don't HAVE to be in a category, they can just as well go into the coppermine "root").
When you click on "albums" in the admin menu, you will see the Album Manager.
When you are in admin mode there is a menu displayed next to each album

Delete allows you to delete the album and (CAUTION) all files within it.
Properties allows you to modify the name, description and permissions of the album
Edit files allows you to modify the title/caption/keywords etc... of the files in the album

The "Album category" drop down list allows you to move an album from one category to another. If you set this to "* No category *" then the album will be displayed on your main page.
Use bbcode to add links and additional formatting to your descriptions.
The thumbnail option lets you select the picture that will represent the album in the album list. Do not assign a picture here if you would like the album to select images randomly.
If you have set "Users can can have private albums" to YES on the config page, you can determine who will have permission to view the files of this album.
When "visitors can upload file" is set to YES, it is possible for them to upload files into albums by enabling this permission.
Note that only visitors who are members of a group for which the setting "Can upload pictures" is set to YES. Members not in the permitted group will not be able to upload files into such an album. Non-registered users are members of the "Anonymous" group.
The same rules as above apply for "Visitors can post comments" and "Visitors can rate files".
In 1.4.x the Album Keyword is no longer being used for searching purposes, but, rather, to link images from other album into another. Using this method, files/images can be displayed in various albums while the file itself need only exists in one album on your webserver. You simply upload a file to one album as you would normally do, then assign one or more keywords to the file. The keyword function reads blank spaces between words as a 'break' and assumes that these words are separate words. If you must use phrases for your keywords, connect them with an underscore or by using the ascii space holder ctrl+Alt+0160 (NOTE: the latter option only works with latin based character sets.) Each album can only have ONE (1) keyword or keyword phrase. All pictures residing in different albums that you would like to be displayed in this album must have the same keyword or keyword phrase in their respective keyword fields. Pictures, unlike albums can have multiple keywords or keyword phrases separated by spaces. This provides you with the option to display pictures in many albums. For the visitor of these albums, it will appear as if the file/image had been uploaded to each.
Album Password: you can specify an album to be password-protected (instead of relying on the "regular" group-based permissions). This way, you can even allow access for unlogged users (guests) who you provide the password to. Use this option, for example, to set up an album for your family members only by specifying a password that only they can come up with answering an additional password hint (e.g. "What was the maiden name of aunt Emma?"), or you could decide to send the particular password to specific friends, family or business associates by email. The optional password hint will be displayed at the password prompt, when set.
Note: when setting an album password, the permission dropdown field "Album can be viewed by" will be switched automatically to "me only" - this is expected behaviour. If you change the "Album can be viewed by" to another selection, you must disable the album password as well.
You can reset the number of views count and total ratings in the album properties panel and even delete all pics at once in the sub-section "Reset album" by ticking the desired checkboxes and then submitting the form. To prevent accidental resets, you will have to place a tick on the checkbox "I'm sure" before changes can be submitted (the button will be greyed out (disabled) if you don't).
Use these options with care: the deleting of files is irreversible, as well as the reset of views and ratings (you can only restore views and ratings by manually editing coppermine's database entries with third-party tools like phpMyAdmin - not recommended).

Use this link to modify your file's title, description, keywords, and custom fields (if they are used).
Use the album drop down menu in the panel to move the file between albums. Use keywords to link files to other albums (see description in the albums section above).

Here, you can modify the title, description, keywords, and custom fields (if they are used) of your video files.
Use the album drop down menu to move the video to another album.
Use the height and width fields to set the size of the video.
Video uploads are possible beginning with cpg1.3.0 (or latter) and are included as part of the distribution package. For cpg1.2.1 you must install a separate modification.
[cpg1.3.0 or better required]

Order of thumbnails:
Thumbnails are defined by different levels (these are: user-defined, theme-defined, global) then in the order of their type (file-specific, extension-specific, media-specific). User-defined thumbnails are stored in the folder where the parent file is located. Theme-defined thumbnails are stored in the themes 'images' folder. Global thumbnails are stored within the 'images' folder of the Coppermine root. Thumbnails can be one of the following file types: 'gif', 'png', or 'jpg'.
Types of thumbnails:
File-specific thumbnails must have the same base name as the file. Using the above screenshot of a video file as an example, the thumbnails for this file could be 'thumb_thailand_waterfall.gif', 'thumb_thailand_waterfall.png', or 'thumb_thailand_waterfall.jpg', and searched for by cpg in that order.
Extension-specific thumbnails are named after the extension of the file. (Examples: 'thumb_wmv.jpg', 'thumb_wav.jpg'.)
The base name for media-specific thumbnails are 'thumb_movie', 'thumb_document', and 'thumb_audio'. Images use file-specific thumbnails by default.
Uploading:
There are 2 ways to upload custom thumbnails:
1. Have an image already uploaded then upload a video via the upload page. (or vice versa) The video will share the thumbnail of the image.

2. FTP upload both the video and (thumbnail or image) then batch-add. If you FTP upload the thumbnail, the thumbnail will be display in the batch add page instead of the default Coppermine thumbnail. If you upload an image it will look like the above screenshot. However, when the both files are added to the database, the thumbnail of the image will be used by the video.

Final result.
Note: If the first method is used and the image later deleted, the thumbnail will also be deleted and the default Coppermine thumbnails will be displayed, instead.
If a previously uploaded video is to be uploaded again, via FTP, the accompanying thumbnail must also be uploaded, via FTP, to the same folder.
Video uploads are permitted from verstion 1.3.0 of cpg (or better) and are included as part of the distribution package. For cpg1.2.1, this option is only available as a separate modification. The use of custom thumbnails aren't supported in versions prior to 1.3.0. NOTE: Using the above instructions, a custom thumbnail can be applied to any file, not just videos.
FAQS:

[cpg1.3.0 or better required]
Coppermine understands the following bbCodes (the same bbCodes that are used by phpBB and many other BBS apps) in image and album description

(*) As of cpg1.4.21, the bbcode tags [img] and [url] are no longer processed properly. These two tags can be used to launch an attack against your website called a Cross-Site Request Forgery attack (CSRF definition). In such an attack a user puts a malicious link in an [img] or [url] tag and can gain control of your website. With such a serious vulnerability, the Coppermine dev team removed processing of these tags to address the immediate risk of such an attack. This is not a final solution but a necessary one.
Now the following processing is done (so that users won't be completely confused):


As you can see above, no links are displayed for [url] tags, but you will see the link either as plain text or as a mouse-over/tooltip on the image next to the link text:
. For [img] tags, a placeholder image (
) is shown with the mouse-over/tooltip showing the image link.
We realize that some administrators will want to process [img] and [url] tags correctly. The Coppermine dev team is working on a solution for cpg1.5 and also one that can be applied to cpg1.4. Information can be found on this thread on the Coppermine support forum. For those who want to hack the code themselves, the relevant function is bb_decode() in include/functions.inc.php. Please be very careful to address CSRF attacks and read as much as you can about them before going live on your website with your hacked fix.
There are several methods to upload files within Coppermine. You (as gallery admin) should use FTP-upload plus batch-add (only the admin can do this). Regular users are supposed to use the "regular" http upload or (if they have Windows XP) the XP Publisher.
It is recommended that the coppermine admin use ftp to upload multiple pics/files at a time. Use your ftp software to create sub-folders within your_coppermine_directory/albums/, where your ftp uploads can be saved. Though not mandatory, it's always a good idea to have a folder structure within the albums folder that reflects or mirrors your coppermine categories and albums.
Important: do not create folders or ftp upload to the userpics- nor to the edit-folder by ftp: these folders are used by coppermine internally and must not be used for any other purpose! Folder names must not contain dots. We also highly recommend refraining from the use of any other special characters - use only a-z, numbers and - (dashes) or _ (underscores) to fill blank spaces. Make sure to upload in binary or auto-mode.
Once you have uploaded your photos by ftp, click on the "Batch Add Pictures" button. The batch-add is performed in three steps:


Giving FTP-access to other users can pose a serious security threat, this is why batch-add is only available for the coppermine gallery admin.
Once files have been added to coppermine's database, make sure that you never rename or delete them via ftp - use coppermine's admin menu options to remove or rename files, instead. Only in this way will these files be removed from both the file system and the database.
Regular HTTP uploads use the browser's built-in capabilities to upload files to a server. The maximum file size is determined by two basic factors: the speed and amount of data the web-browser can upload before timing out, and the allowed file size determined by server settings. Note that those settings are not determined by coppermine, but the server config (php.ini). Users who are webhosted usually can't edit php.ini, so they will have to live with the settings the webserver admin has set up. Those who actually run their own server and can edit php.ini should take a look at the settings if (large) http uploads fail:
It should be obvious that the files have to be uploaded somewhere (into some folder) on your webserver - this is the albums folder within the folder you installed coppermine on your server. The HTTP uploads go into subfolders of the "userpics" folder (which resides within the "albums" folder). Obviously, the coppermine upload script needs write permissions to upload the files there. This is why you have to change permissions on the albums folder and everything within it during coppermine install - make it writable for the user the webserver runs under. This is done using the CHMOD command on Unix/Linux based servers. If you experience issues with uploading, make sure that you have set the permissions correctly.
If you are using Windows XP, you can use its built-in web publishing wizard to upload your photos to your gallery.
Once you have properly installed the script on your server, call the xp_publish.php file from your web browser (http://your_site.com/coppermine_dir/xp_publish.php).
The script displays some information on how to do the installation on the client side and how to use the Wizard. Basically you will need to download a small file created by the script that needs to be loaded into your Windows registry.
If you want to allow your users to use the Windows XP Web Publishing Wizard, it's advisable to promote it by showing a link to the file somewhere on your page.
[cpg1.1.1 or better required]
If you are experiencing issues with coppermine's upload process, temporarily change your coppermine settings as suggested below to get more detailed error messages. This applies to all upload methods, not only HTTP uploads.
Then try to upload (using http uploads, even if you experienced troubles using another upload method) - you should get a more detailed error message that tells you what exactly goes wrong with your uploads. If the error message doesn't mean anything to you, search the support board for the error message you get.
When asking for support on the coppermine forum, post a link to your site and a test user account (the test user mustn't be in the admin group!) with upload privileges, with the above mentioned settings in place - this way, supporters can see the error messages as well. Do not post debug_output unless requested. If you want fast results, you should disable admin approval for the group the test user is in, so supporters can tell instantly what is wrong without needing to double-check.
When people have issues with uploading and decide to post their question on the Coppermine support board, they usually are told to read this upload troubleshooting section. Many of them fail to do so properly, which results in frustration both for users as well as supporters. To make this absolutely clear: the above mentioned steps are absolutely mandatory, no matter what skill level you have, no matter what upload method you have troubles with. Failing to do exactly as suggested will result in your request for help being ignored. Yes, this applies to you. We mean it!
Below is a list of common error messages and possible reasons / fixes. Before asking for support, make sure to have read the row that deals with the error you get and tried to apply the suggested fix.
| Error message | Possible cause | Suggested fix |
|---|---|---|
|
Impossible to move somepic.jpg to albums/userpics/ Warning: move_uploaded_file(/tmp/phpezCYKr) [function.move-uploaded-file]: failed to create stream: Operation not permitted |
PHP's temporary folder is missing or doesn't have the needed permissions |
You should contact the admin of your webhost because you usually can't change the location of the website's temporary directory for file uploads, yourself (it is part of PHP configuration) . If the open_basedir restriction is in effect on your site then the temp directory for file uploads should be one that you can access. |
|
Impossible to move somepic.jpg to albums/userpics/ |
The coppermine script doesn't have permissions on the filesystem of the server to create the thumbnail or intermediate image within the specified folder | Apply permissions on the albums folder and everything within it as suggested in the section Setting permissions. This error message is the most frequent one, as many users tend to skip reading the permissions section. At least when getting this error message, you should read it thoroughly. |
|
Warning: opendir(./albums/edit): failed to open dir: No such file or directory |
|
|
|
Warning: Undefined variable: HTTP_POST_VARS in include/init.inc.php on line 43 |
|
Check if your version of PHP fullfills the minimum requirements for Coppermine. If your version is 4.1.0 or better, then this error is probably caused by a misconfiguration of your hosting server, and not a Coppermine issue. If the server isn't yours to configure properly (that is: if you're with a webhost), you can try this workaround (at your own risk): Edit the file "init.inc.php" and look for $PHP_SELF = isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : $_SERVER['SCRIPT_NAME'];
Replace it with$PHP_SELF = $_SERVER['PHP_SELF'];
|
|
Sorry there is no album where you are allowed to upload files |
|
|
|
Fatal error: Allowed memory size of XXXXXXX bytes exhausted at (null):0 (tried to allocate XXXX bytes) in /var/www/html/include/picmgmt.inc.php |
This error occurs when using GD and attempting to upload a high resoltuion image. It's not the size of the file that matters here; it's the number of pixels that determine memory use in GD. |
There is (at least in theory) no limit in Coppermine to the file size or dimensions that the script can handle. However, there is at least one limit existing on the webserver: resizing images (to create intermediate images and/or thumbnails) consumes memory and burns CPU cylces. To prevent the server from crashing, the server admin has to restrict the amount of memory that a PHP script is allowed to consume. The error message mentioned above means that the limit imposed by the server admin has been reached, i.e. the image that the script tried to process consumed to much memory.
|
|
Exec() has been disabled |
php.ini allows the server administrator to disable certain functions. Usually this is the case if your server is running in safe_mode. |
If the server administrator has disabled exec() you will not be able to use Image Magick. You may try to replace exec() with passthru() in the entire core code of coppermine (not recommended) if it has not been disabled as well. Otherwise, you can't use ImageMagick and must use GD. Change Method for resizing images in config accordingly. |
|
Not a GD extension |
The file(s) you tried to upload can not be handled using the GD ImageLibrary | The GD library can only handle jpeg, png and gif files, while the ImageMagick library supports additionally bmp, psd and some other (less common) file types. However, those files are not suitable for use on the internet. Details can be found in the Allowed image types section in the config page of the docs. |
|
The file 'albums/userpics/10001/somepic.jpg' can't be inserted in the album. Error executing ImageMagick - Return value 127 |
You haven't specified the correct path to ImageMagick, or you don't have ImageMagic at all. | If you're sure that you actually have ImageMagick available on your server, review path to ImageMagick. If the path appears to be correct, make sure that the coppermine script has permissions to read and execute the convert executable within the ImageMagick folder. If you're not sure, switch Method for resizing images from "ImageMagick" to "GD2", then try uploading again. |
|
PHP running on your server does not support the GD image library, check with your webhost if ImageMagick is installed. |
Your webserver doesn't come with support for the GD image library. | Make sure that you fullfill the minimum requirements to run Coppermine. If GD is not available on your server, you could use ImageMagick. Ask your webhost if ImageMagick is available on your webserver. |
|
No file was uploaded ! If you have really selected a file to upload, check that the server allows file uploads... |
File uploads are disabled in php.ini or there is a permissions issue or there is an issue with your webserver's upload mechansim. |
There may be several reasons for this error message. The file you tried to upload did not "reach" the folder on the webserver where it is supposed to go. Check if there's a problem with HTTP uploads on your server - this feature may have been disabled or improperly configured. In phpinfo(), check that "file_uploads" is ON, "upload_max_filesize" is something like 2M and "upload_tmp_dir" is a valid directory! Make sure to review your file/folder permissions as well. If the server isn't yours to administer, you may have to ask your webhost for support. Here is what you should check:
|
|
Destination directory albums/userpics/XXXXX/ is not writable by the script |
permissions on file system level are not correct | Make sure to review your file/folder permissions. If that doesn't help, ask your webhost for support. |
This is where you will configure the most important parts of your coppermine gallery. Some settings have an impact on the files you upload - changing the ( * ) astericked options after you have alreaded added a large number of files in your gallery can be a difficult undertaking. For this reason, it is important that you spend time with your coppermine setup at the early stages of gallery development to get those settings exactly the way you want them, before actually uploading too many pics or listing the gallery to the general public.
Enter the name of your gallery in this text field. The name you enter will appear as the title that is displayed in the web browser's title bar and is also displayed in many of the different theme templates.
Enter a short description of your gallery in this text field. This description is also displayed in some of the theme templates just below the name of your gallery.
All emails sent by the gallery will be sent using this email address. This must be a valid email address.
This is the URL where a user will be directed to when s/he clicks on the "See more pictures" link in an e-card. This must be the URL to the root of your coppermine installation followed by a forward slash (just the path to your coppermine folder, e.g. http://yourdomain.tld/coppermine/). Do not specify a specific file (such as index.php) or subfolder within the coppermine gallery in this field.
In previous versions of Coppermine, this field was called "Target address for the 'See more pictures' link in e-cards", but as this url is now being used for other functions in coppermine, it has been changed, appropriately.
This is the URL where a user will be directed when he clicks on the "Home" button in the main menu.
You can use "/" for the root of your domain, "index.php" for your gallery's default starting page, or any other valid URL. By default this is "index.php".
[cpg1.4.0 or better required]
When enabled, users of your site may download files that they previously saved into their favorites collection. These files are dowloaded from the user's "My favorites" page and saved onto their computers in a zip-file format. This option requires zlib to be installed on your server (run phpinfo to check if this php library file exists on your server).
[cpg1.3.0 or better required]
Specify the time zone difference between your local time and the time zone your webserver is in. This value will be used to adjust time stamps in ecards and other places.
[cpg1.4.0 or better required]
This option affects changes on user passwords that are stored as plain text in your database (this is the case if you have upgraded from previous versions of coppermine that did not have this feature). It will encrypt all passwords in the database, and all future passwords will be stored encypted as well. This process can not be reversed: once encryption in turned on, it can not be turned off, so use this option only after giving it some serious consideration.
This option increases user security in coppermine, but comes with a drawback inherent to this method: even the admin will not be able to recover a lost password of a user (or his own password). The password can only be reset to another value using the "I forgot my password" option during login.
[cpg1.4.0 or better required]
Enables the display of help icons in various sections of the coppermine admin pages. When enabled, make sure you have also uploaded the "docs" folder into your coppermine folder on your webserver.
If you choose to set this to "Yes: everyone", logged in (registered) users will be able to see the help icons in strategic locations as well, e.g. when creating a user gallery.
As the help text is based on the documentation that comes with coppermine, it is available in English only. If the native language of your user(s) is not English, it is advisable to set this option to "Yes: admin only" to avoid confusion among your users.
It is strongly recommended that you do not disable the help icons altogether: even though you feel that you know your way around in your Coppermine install, the help icons might help you with the functinos of a new or unfamiliar option later.
[cpg1.4.0 or better required]
When enabled, a list of all keywords entered in the "Edit files" page will appear at the bottom of the search page, with each keyword being a clickable search link. Enabling this option is recommended only if you have a small number of keywords in use (e.g. less than 100) - it will provide your users with some ideas as to what they could be searching for in your gallery (in addition to the standard full-text search). Please note that enabling this option for a large list of keywords (e.g. thousands of keywords) can slow down the search page considerably and may be confusing for new users and visitors to your site.
[cpg1.4.0 or better required]
Enable or disable plugins, with a link to the plugin manager. This is a brand-new feature of coppermine. This feature allows advanced copperminers to create plug-ins that can control the way coppermine looks and behaves without modifying the inherent code of the script itself. We anticipate many exciting, user-contributed, plug-ins in the near future. More details can be found in the plugins section of this documentation. Since plugins add on to the core Coppermine system, if you are having problems, try to disable all plugins using this setting to see if a plugin may be at fault. If so, you can then enable all plugins here, then uninstall or install one plugin at a time in the plugin manager to figure out which one is at fault.
[cpg1.4.0 or better required]
Today, most people on the internet have dynamic IP addresses that are assigned to them when connecting to the internet by their Internet Service Provider. These IP addresses change each time the user connects to the internet, but during an internet session these IP addresses are "visible" at the web-sites that thee user is surfing. Within the range of all IP addresses (0.0.0.0 to 255.255.255.255), certan ranges are reserved for special purposes (mostly for the use on private networks). The banning feature will not accept IP addresses banning of addresses that belong to these private ranges (e.g. 192.168.0.1). This is necessary to prevent unexperienced, as well as experienced, coppermine admins from banning IP addresses within their own LAN. If you're actually running Coppermine on your LAN/WAN that uses private IP addresses (e.g. on a company's intranet) and you want the authority to be able to ban users, switch this option to "Yes". If you're running coppermine on a webserver located in the internet (e.g. you're webhosted), you should keep this option set to "No".
If you don't use banning at all, you can safely ignore this setting completely.
[cpg1.4.0 or better required]
When batch-adding files (that you have uploaded using FTP before) to your gallery, you have the option to switch between a browsable list, where you can go scroll through the directory structure in your albums-folder or to display the whole directory structure at once. Enable this option if you have a larger structure of directories and subdirectories you want to browse through (this requires your browser to be capable of displaying iframes). Set this option to "No" (disabled) if you want to use the "classic" coppermine interface that shows a complete list of the structure at once.
Should you have difficulties using one, try the other. You can toggle between these options on the batch-add page as well.
[cpg1.4.0 or better required]

This sets the default language for your gallery.
Coppermine has a separate language file that makes the translation of the script much more easy. The language files are stored in the lang directory. The files are unicode encoded (utf-8). They are automatically generated with the iconv program so there is no need for you to make an unicode version of your translation.
If you select utf-8 to be the default encoding in coppermine's config, then the script will be able to automatically select a language file based on the visitor browser configuration.
Here's how coppermine determines the language of a user: when accessed, coppermine checks if a user explicitely has set a language preference (which is stored in a cookie on the client). If one is set, coppermine is being displayed in that particular language.
If no individual language preference has been set, coppermine detects the language preference of a user set up in his browser. If the browser language is (for example) English, then coppermine will display in English.
If the browser language is set to hindi (as an example), while there is no Coppermine language file available for that particular language, then coppermine will fall back to the default language you have set up in Coppermine's config.
As you can see, the determination of the actual language setting is a three step process:
This three-step-process is very helpful: in fact, you only set a default language in Coppermine's config (usually the language the majority of your visitors is speaking) and that's it: if a visitor who speaks another language visits your page, Coppermine's controls will display in his language. Usually, you don't have to provide a language selector on your page (but it's an option in Coppermine's config to display one if you prefer so). The language selector in fact just adds a parameter to the URL, which then subsequently triggers a cookie to be set on the client. You (as Coppermine admin) can accomplish the same by manually adding the parameter to the URL in the address bar of your browser. Just observe how the URL changes on the your coppermine gallery if you have enabled the language selector in coppermine's config to get an idea how this works.
When the script auto detects the preferred language, it stores the result in a cookie on the visitor's computer. To reset this cookie (and thus force the script to do another auto detection) the user must call this autodetect function with something like: http://yoursite.com/coppermine_dir/index.php?lang=xxx
Once you have added comments or files to your gallery, you should not change the character set of your gallery. If you do so, non-ASCII characters may display properly.
Enable this option if you're using languages other than english. If a certain word or phrase doesn't exist within your language file, coppermine will display the equivalent english phrase, instead.
This feature has been introduced to allow the use of previous version language files -- language files that may have not been translated for the this version, yet. Until an updated version of the language file is made available, you can use this option. Most translation differences affect the admin part of coppermine only, so the admin will experience most of these untranslated strings. The admin will see some phrases in english instead of his/her preferred language for strings and words that don't exist in the currently available language file. NOTE: this fallback option only works for 95% of all phrases, there may still be some other translation omissions.
[cpg1.4.0 or better required]
This should normally be set to "Unicode (utf-8)" (or "Default (language file)"). See the discussion in the "language" section of this page.
Enable this option if you want your users to be able to select a preferred language from a dropdown list (you can specify to display only the list itself or a label saying "Choose your language:" in front of the list). Edit your template file (/themes/yourtheme/template.html) to specify where the language dropdown list should appear on your gallery (look for the call tag: {LANGUAGE_SELECT_LIST}).
[cpg1.3.0 or better required]
Enable this option if you would like the option of having your users select languages appropriate for their use by merely clicking on a flag icon which representing their language or country (you can specify to display the flags themselves or include a label that states: "Choose your language:" in front of the flags). Edit your template file (/themes/yourtheme/template.html) to specify where the flags should appear in your gallery (look for the call tag:{LANGUAGE_SELECT_FLAGS}).
[cpg1.3.0 or better required]
This option only applies only if you enabled user language selection - it will show a "default"-icon or list entry to let the users go back to the original language of your gallery.
[cpg1.3.0 or better required]
Use this dropdown list to select the default theme for your gallery (Themes are stored in sub-directories of the themes directory ).
Enable this option if you want your users to be able to select other themes from a dropdown list (you can specify to display only the list itself or a label saying "Choose your theme:" in front of the list). Edit your template file (/themes/yourtheme/template.html) to specify where the theme dropdown list should appear on your gallery (look for {THEME_SELECT_LIST}).
This option only makes sense if you have at least one alternative theme in your /themes/ folder other than your default theme. We recommend using this option only if there's are additional benefits for the user (for example a theme with less graphics in it that loads faster for users on a dial-up connection, or a theme with reduced color pallettes and good contrast).
[cpg1.3.0 or better required]
This option applies only if you enabled the user theme selection option - it will show a "default" list entry to let the users go back to the original theme of your gallery.
[cpg1.3.0 or better required]
This option adds a "FAQ" link to the menu bar when enabled. If a user clicks on it, it will display a list of "Frequently asked question" on how to use coppermine. To change the content of the FAQ, edit the file /your_coppermine_folder/lang/yourlanguage.php (e.g. english.php) and look for
// ------------------------------------------------------------------------- // // File faq.php // ------------------------------------------------------------------------- //
Edit the content that comes after it.
[cpg1.3.0 or better required]
Use this if you want to create a custom link that will appear in the menu. What you enter here will be the name of the menu link or button. Leave space blank if you do not have any specific use for it.
[cpg1.4.0 or better required]
This is the URL where the user's browser will be directed to when s/he clicks on the "Custom link name" button in the main menu.
You can use any valid URL.
Leave this blank if you do not have any specific use for it.
[cpg1.4.0 or better required]
When enabled, this will display the bulletin board codes that may be used in description fields to help with the formatting of text, images and links.
[cpg1.3.0 or better required]
When enabled and using a theme that has been defined as XHTML and CSS compliant, the vanity block will be shown. The vanity block contains the logos and links for HTML and CSS compliance at w3.org, as well as pointers to the PHP, and MySQL projects.
[cpg1.4.2 or better required]
Optional relative path to a custom header file. Using this option, you can include non-coppermine code bits to be included into your theme, e.g. an overall navigation that gets included on your whole website. You can only add a relative path (seen from the root path of your coppermine install) - not an absolute one, nor a http include from another website. This option is only meant for experienced users who have some PHP know-how.
Warning: you mustn't include full html pages that contain an html header or footer (tags like <head> or <body>), nor can the included file do file header manipulation, e.g. reading another (non-coppermine) cookie.
[cpg1.4.0 or better required]
Optional relative path to a custom footer file. The same remarks apply as for the custom header include path.
[cpg1.4.0 or better required]
The number you type in here becomes the default width of the display tables used on your main page or when you are viewing thumbnails of an album. You can enter the width in pixels or specify it in percentages. The default value is 100%.
The default value is 2. With this value the script will display the current categories plus one level of sub-categories.
This is the number of albums to display on a page. If the current category contains more albums than what is allowed on the page, the album list will be split over multiple pages with tabs at the bottom of each album list table that users can click on to advance to the next set of albums in a particular category.
Self-explanatory. The default value is 2.
This sets the maximum size of the thumbnails that are to be displayed for each album. 50 means that the thumbnail will fit inside a square of 50x50 pixels.
If the size you specify there is larger than "Pictures and thumbnails settings/Max width or height of a thumbnail", the thumbnail will be stretched. Aesthetically, it is better to have thumbnails smaller than or equal to the Max width or height settings here.
This option allows you to change the content of the main page displayed by the script.
The default value is "catlist/alblist/random,2/lastup,2"
You can use the following "codes" to include other items:
Unless you really know what you are doing you should always keep catlist and alblist in "the content of the main page", as they make up the core parts of the index page or any gallery site, for that matter.
The ,2 dictates that cpg should display 2 rows of thumbnails.
Use this setting to choose whether or not to display thumbnails from the first album of the categories listed on the default gallery entry page.
You can dictate that coppermine sort all categories alphabetically (instead of in a custom order) by setting "Sort categories alphabetically" to "Yes". This setting is accessible both in the coppermine config menu and in the category manager. If you enable alphabetical sorting, the up and down arrows that normally let you move categories up and down in the custom sorting list will disappear.
[cpg1.4.0 or better required]
If you use album keywords to display images/files in more than one album, enabling this option will display additional information for the album stats: if an album doesn't only contain "regular" files, but files linked via the "album keyword" option as well, the number of linked files will be displayed separately like this "3 files, last one added on Oct 07, 2004, 3 linked files, 6 files total".
[cpg1.4.0 or better required]
Default value is 4 this means that each row will show 4 thumbnails.
Default value is 3.
When the thumbnails spread over multiple pages, tabs are displayed at the bottom of the page. This value define how many tabs will be displayed.
Toggles whether the file caption is displayed below each thumbnail while user is in (regular) thumbnail view.
[cpg1.3.0 or better required]
Toggles whether the number of views is displayed below each thumbnail while user is in thumbnail view.
[cpg1.3.0 or better required]
Toggles the display of the number of comments for below each thumbnail.
[cpg1.3.0 or better required]
Toggles the display of the name of non-admin uploaders below each thumbnail.
[cpg1.4.0 or better required]
Toggles the display of admin uploader names below each thumbnail for users that have the administrators group set as thier default group.
[cpg1.4.0 or better required]
Toggles the display of the file name below each thumbnail.
[cpg1.4.0 or better required]
This option determines the default order in which thumbnails should be displayed. Your user can override this by selecting a custom sort order from the sort buttons above the albums.
Used to determine how many votes a file must receive before appearing as a "top-rated file." If a file has received less than "this value" of votes, it will not be displayed in the "top-rated" page. This value must be greater or equal to 1.
The minimum width of the table that will be used to display the intermediate picture.
Examples:
600 = The table around the pic will be 600 pixels wide (if the pic has larger dimensions this table will expand accordingly to fit the image).
100% = use all available space based on the horizontal dimension of the pic.
Define whether or not the file information block that appears below the intermediate image should be visible by default (If turned off, users can still view the info block by clicking on the ( i ) button..
Maximum number of characters that an image description may contain.
Toggles display of a "film strip" showing thumbnails of prior and subsequent files in the album.
[cpg1.2.0 or better required]
Toggles the display of the file name below each thumbnail in the film strip.
[cpg1.4.0 or better required]
Sets the number of thumbnails to display in film strip. The number you can set here is dependent on your thumbnail size and monitor size. If you do not want to inconvenience users with smaller monitors set this value between 4-6.
[cpg1.2.0 or better required]
This sets the time that each pic is to be displayed (transition interval) when a user is viewing a slideshow (the next pic is being loaded/cached while the current one is being displayed). This setting must be in milliseconds (1 second = 1000 milliseconds).
Remember that setting this to a very low value may not be in the best interest for all of your users, especially those who are on dial-up connections, or if you have large files (kb)that may take longer than the allotted time to display.
Remove "bad words" from comments. The "bad words" list is in the language file. NOTE: Not all language files may contain an equivelent for this list.
Toggle the use of smilies in comments.
This setting toggles flood protection for the comments option. When set to YES, a user can post another comment, even though he already posted a previous one. Some users may abuse this setting. The recommended setting is: NO.
This is designed to prevent someone from breaking the flow of your gallery layout by posting lengthy comments without using spaces between words. With this default value, "words" that longer than 38 characters are automatically censored.
Prevent a comment for containing too many "new line" characters (enter key).
Maximum number of characters that a comment may contain.
Toggle if you want to receive an email each time a comment is being posted. Warning: only enable this option on sites with very low user traffic or you may soon find yourself flooded with notification emails.
Changes the sorting order of comments made to a file.
Ascending: latest comment at the bottom, oldest comment at the top
Descending: latest comment at the top, oldest comment at the bottom
If you allowed anonymous comments (permissions set on the groups control panel), this prefix will be used for comments left by unregistered users. This can be helpful in preventing and identifing unregistered users posing as other registered users (or even an admininstrators) when leaving comments. Leave this blank if you do not want a prefix for guest's comments.
The quality used for JPEG compression when the script resizes an image. Values can range from 0 (worst) to 100 (best). By default this value is set to 80. This value can be set to 75 when using ImageMagick.
Do not change this setting unless you really know what you're doing. Other settings for thumbnail and intermediate pic (dimensions) may have a significant and undesireable impact on filesizes and image quality.
Sets the maximum allowable size in pixels for the specified dimension of your thumbnails.
Sets the dimension (height or width) on which the maximum pixel size limitation should apply to.
By default, whenever you upload a file, the script creates both a thumbnail of the file (file name using "thumb_" as its prefix) and an intermediate version of the file(file name using "normal_" as its prefix). If you set this option to NO, the intermediate file will not be created.
The intermediate pictures are those that appears when you click on a thumbnail. The default value is 400, it means that the intermediate picture will be created to fit inside a square of 400x400 pixels. NOTE: Currently, 33% of your users have monitors set at 800 pixels wide, another 33% have their settings at 1024 pixels, the rest have settings less than or greater than these two numbers. Therefore a setting of 600 or less would fit the screens of most users. Keep in mind,however, that setting this size larger than 400 impacts the file size of your intermediate pictures and the time it takes to download and display on slower connections.
Any file with a file size larger than this value will be rejected by the coppermine script. Setting this option to a higher value than what is actually supported by your webserver will only result in "funny" webserver error messages in lieu of "regular" coppermine error messages. Therefore, it is recommended that you set this value to a size that is slightly lower or equal to the max file size that your server is set to handle. The actual size your server can handle cannot be determined by Coppermine (or any PHP script) - when in doubt, contact your webhost.
Prior to an FTP upload of files, it is recommended that the admin use their imaging software to resize (individually or by batch processing) larger files to a more practical size. This will facilitate the FTP process and the creation of intermediate pictures and thumbnails.
Limits the height and width dimensions of the pictures that are uploaded. Resizing large pictures requires a lot of memory and consumes CPU resources. As a result, there are usually limitations that have been set by your webserver (host) regarding the maximum uploadable file sizes - you cannot set this value to one that is higher than what is actually supported by your webserver. Contact your webhost/server if you are not sure about your site's file size limitations. (Ideally, users will resize their pictures to a more manageable size prior to attempting any uploads. Determine what you would like the maximum size for a full size pic should be (dpi and dimensions, while keeping in mind the screen size of your users) and use that as a recommended standard for FTP and user HTTP uploads. Inform your users of this recommended size constraints.)
During the upload process, if images are larger than the maximum width or height allowed they will automatically be resized to the maximum allowable size. Users with especially large files should be advised to resize their pictures outside of coppermine before uploading as this process also consumes considerable resources when processed online.
Note: How the image is resized (width/height/max aspect) is set in the admin option "Use dimension (width or height or Max aspect for thumbnail)"
There are three options:
[cpg1.4.0 or better required]
If set to YES then your gallery can contain albums that are visible only to users that belong to a specified group. This is ideal for creating albums that contain files that you want accessible to only a select group of people. You could also create a userID and password and inform specific users/customers of the ID and password needed to view these files.
If a user is a member of a group that can have its own gallery and this option is turned on then this user will have the permission to hide any of his/her albums from other users.
This option does not determine whether users can have personal galleries at all, nor does it determine who is allowed to upload and who is not (these settings are accessible in the groups manager). You should only set this option to NO if you really know what you're doing (by default, it is set to YES).
Note: if you switch from 'yes' to 'no' all currently private albums will become public!
Toggles the display of the private album icons to unlogged users.
Set to 'NO', the album is completely hidden from unauthorised users.
Set to 'YES', the album name, description and statistics are shown, but not the thumbnails or files contained within.
When the filename of a file that is uploaded contains any one or more of these characters, the characters will be replaced with an underscore.
Don't change this unless you know exactly what you are doing.
"ALL" will result in all allowed image file types that your image library (GD or ImageMagick) is capable of handling to be allowed as uploads and content in your gallery. If you want to restrict the allowed file types to certain types only, enter a slash-separated list of extensions, e.g. jpg/bmp/tif
[cpg1.3.0 or better required]
"ALL" will result in all allowed movie file types to be uploaded. If you want to restrict the allowable file types to certain extensions only, enter a slash-separated list of extensions, e.g. wmv/avi/mov.
Note that being able to display a movie requires that the cpg-user have the necessary codecs properly configured on their computers to display the movie file, e.g. if you allow the file type mov, the user who wishes to view the file will need to have Apple's Quick-Time plug-in installed. Also note that avi is just a container for different codecs - this means that a computer which is capable of playing movie1.avi may not be capable of playing movie2.avi if those files have been encoded with different 'avi' codecs.
[cpg1.3.0 or better required]
If set to YES, movies will instantly start playing when loaded (has no affect on flash files, however). Nothing will happen if the user does not have the necessary codecs installed on their computer.
"ALL" will result in all allowable audio file types to be uploaded. If you want to restrict the allowed file types to certain extensions only, enter a slash-separated list of extensions, e.g. wav/mp3/wma.
Note that being able to listen to an audio file requires that the cpg-user have the necessary codecs properly configured on their computers to hear these files, e.g. if you allow the file type mp3, users who wish to listen to the file will need to have a media player installed on their computer that can handle mp3 files.
Warning: if your webserver is not hardened against an exploit of a vulnerability in the apache webserver setup, then it might be a security risk to allow the upload of ram, ra and rm-files. If you're not sure, do not allow this file types.
[cpg1.3.0 or better required]
"ALL" will result in all allowable document file types to be uploaded. If you want to restrict the allowable file types to certain extensions only, enter a slash-separated list of extensions, e.g. txt/pdf.
Note that being able to browse a document file requires the cpg-user to have a compatible software installed and configured properly on their computer that is capable of displaying the type of document in question, e.g. if you allow the file type xls, users who wish to browse the file will need to have an application installed on their computer that can display MS-Excel sheets. Be extremely careful with document that are known to be vulnerable to virus contamination, embedded or as macros. This is especially true if you plan to allow users the capability of uploading documents without admin approval.
Warning: if your webserver is not hardened against an exploit of a vulnerability in the apache webserver setup, then it might be a security risk to allow the upload of rar-files. If you're not sure, do not allow this file type.
[cpg1.3.0 or better required]
Set this to the type of image library you have on your server (must be either GD1, GD2 or ImageMagick). GD2 is the recommended setting.
If you are using GD 1.x and the colors of your thumbnails or intermediate image do not display properly, then, chances are, you actually have GD2 on your server - switch this option to GD 2.x
More recent distributions of PHP come pre-packaged with GD - if you're not sure what you have, set this option to GD2. You can also look at your PHP settings by pointing your browser to the phpinfo.php file in your gallery. eg, http://www.yourgallery.com/your_cpg_folder/phpinfo.php. For more information on using PHP click on this link: phpinfo.
If you intend using ImageMagick convert utility to resize you picture, you must enter the name of the directory where the convert program is located in this line. Don't forget the trailing "/" to close the path. This path must only indicate the directory where the convert utility is located, it should not point directly to the convert utility.
If your server is running under Windows, use / and not \ to separate components of the path (eg. use C:/ImageMagick/ and not C:\ImageMagick\). This path must not contain any spaces under Windows so that it will not put ImageMagick in the "Program files" directory.
ImageMagick will not work properly if PHP on your server is running in SAFE mode and it is a real challenge to get it running under Windows. Please consider using GD in these cases and don't waste your time asking for support in the forum with ImageMagick installation questions. There are just too many things that can prevent ImageMagick from work properly and without physical access to your server it is extremely difficult to guess what is wrong.
This is the list of image types that the script will accept when using ImageMagick. Image type detection is performed by reading the header of the file and not by looking at its file extension.
Here you can add options that will be appended to the command line when executing ImageMagick. Read the ImageMagick Convert manual to see what is available.
With this option turned on, the script will read the EXIF data stored by digicams in JPEG files. For cpg1.x to cpg1.2.1, this option will work only if PHP was compiled with the EXIF extension. Coppermine 1.3.0 (or better) comes with built-in EXIF support even if the webserver itself doesn't have EXIF support, as it uses a separate EXIF class.
[cpg1.3.0 or better required]
With this option turned on, the script will read the IPTC data stored by digicams in picture files.
[cpg1.3.0 or better required]
This is the base directory for your "Image Store". The path is relative to the main directory of the script.
You can use ../ in the path to move-up one level in the directory tree.
You can not use an absolute path there ("/var/my_images/" will not work) and the album directory must be visible by your web server.
This setting mustn't be changed if you already have files in your database. If you do so, all references to your existing files will break.
This is the directory where files uploaded using the web interface (URL/URI) are stored. This directory is a subdirectory of the album directory. It's recommended that you leave this setting as is. Should you decide to change it, keep in mind that the folder must exist within the albums folder and the path should be relative to it.
The same remarks as above apply.
When you upload files by FTP, store them in a subdirectory (folder) of the "album directory" and not inside the "directory for user files".
This setting mustn't be changed if you already have files in your database. If you do, all reference to previously existing files will no longer be valid.
This prefix is added to the file name of created pictures.
These setting mustn't be changed if you already have files in your database. If you do, all reference to your existing files will become invalid.
This prefix is added to the file name of created intermediate thumbnails.
These setting mustn't be changed if you already have files in your database. If you do, all reference to your existing files will become invalid.
If, and only if, during the file upload or batch add process, the installer complains about the directory not having the right permissions, try setting this to 0777 . Failure to do so may prevent you from being able to delete directories created by the script with your FTP client should you ever decide it necessary to uninstall the coppermine script.
Note: setting this option doesn't CHMOD the files or folders that are being uploaded. Instead, the setting is used when coppermine, itself, creates new folders for user uploads (within the userpics directory). If you experienced problems during the initial Coppermine setup related to permissions, this option is not what you have been looking for nor should it be changed ( for more information regarding CHMOD, see the FAQ.htm document located in the DOCS folder of this installation package ).
If, and only if, during the file upload or batch add process, the installer complains about the directory not having the right permissions, try setting this to 0666.
Note: setting this option doesn't CHMOD the files or folders that are being uploaded. Instead, the setting is used when coppermine, itself, creates new folders for user uploads (within the userpics directory). If you experienced problems during the initial Coppermine setup related to permissions, this option is not what you have been looking for nor should it be changed ( for more information regarding CHMOD, see the FAQ.htm document located in the DOCS folder of this installation package ).
Defines whether new users can self-register or not. If you set this to NO, only the admin can create new users and the "register" link won't be displayed in the navigation.
When set to "No", unlogged users (i.e. guests or anonymous users) can not access anything in your gallery except the login screen (and the registration screen, if you allow registrations). Completely disabling anonymous access will probably decrease your site's popularity. Use this option only if you need your gallery to be absolutely private. The recommended setting is to leave anonymous access enabled and use the more specific permissions by groups and albums settings instead.
[cpg1.4.0 or better required]
If set to YES an email will be sent to the user that will contain a code to activate his account. If set to NO, user accounts become immediately active.
If set to YES an email will be sent to the gallery admin when a new user registers.
[cpg1.3.0 or better required]
Enable admin activation. When set to yes, a gallery administrator must first activate the new registration before the user can log-in and take advantage of any registered user privileges.
By default, it is set to no, so users would activate their own accounts upon registering.
[cpg1.4.0 or better required]
Allow or prevent two users from registering with the same email address. Recommended setting is NO. As most internet users today have more than one email address, this option is being considered as deprecated and will possibly be removed in future versions of coppermine.
When enabled, the gallery admin receives an email notification of all pics that await for his/her approval (depends on the approval settings in "groups"). The email is sent to the address specified in "General settings".
This option is only recommended for websites with low or medium traffic (where users only upload every now and then).
[cpg1.3.0 or better required]
When enabled, an additional menu item "Memberlist" is displayed in the coppermine main menu if a user is logged in, to let him see a list of all users, with stats on their last visits, uploads and quota usage.
This is a new feature since cpg1.3.0 (user contribution by Jason) - it's available as mod (not in the regular coppermine package) for older versions than cpg1.3.0.
[cpg1.3.0 or better required]
This option impacts the user's profile page, it determines whether or not the user can change his/her own email address.
Use this option wisely, as the old email address of a user is not preserved after a change: if you allow users to change their email address, abusers may change it to a non-existing email address (e.g. after uploading some pics that go against your gallery's rules) - you would have no chance of tracking this user.
This option only applies if you use Coppermine as a standalone application; if you run Coppermine integrated with a bbs, this option will be deferred to the user profile from your bbs to manage each user's profile.
[cpg1.4.0 or better required]
When enabled, both the admin and the uploading user can edit and delete files that were uploaded to a public gallery. Of course the user must have permissions to upload to the public gallery in the first place (see the groups control panel) before this option will have any effect.
[cpg1.4.0 or better required]
To make brute force attacks (where a hostile script tries to log into coppermine as admin by running through all possible combinations of username and password automatically) less effective Coppermine temporarily bans the IP address of a possible attacker after a certain amount of failed logins. This way, the brute force attack would need way too long to try all possible combinations.
With this setting you specify the maximum number of failed log-in attempts before the IP address of the user is temporarily banned.
[cpg1.4.0 or better required]
This value specifies the duration of the temporary ban (in minutes) after the number of failed log-in attempts specified with Number of failed login attempts until temporary ban.
[cpg1.4.0 or better required]
Enable reports. When set to "yes," this feature will allow users to report on uploaded files or comments to the site admin.
This setting is dependant on e-cards being enabled. Only users who have permission to send e-cards in the 'groups' settings are able to send reports. The report icon is hidden from those not allowed to do so.
[cpg1.4.0 or better required]
These fields are displayed within the "user profile" area. They will appear only if you assign a name to the field. As instructed in the heading, use field 6 for long entries, such as biographies, or if you want to include the use of bb code.
You can also use field 6 for avatars. To show an avatar in the profile, it should be entered in bbcode, for example to show 'avatar.gif', which is located in your images folder, use the code [img]http://www.yoursite.com/images/avatar.gif[/img]
These fields are displayed within the "file information" area. They will appear only if you give them a name.
Default value is "coppermine". Even if you have multiple instances of the script running on the same server you can keep the default value.
When using bbs integration, make sure it differs from the bbs's cookie name
Default value is "/". Don't change this unless you know what you are doing. This may prevent you from logging in.
If you have broken your gallery by modifying this value, use phpMyAdmin to edit the xxxx_config table in your database and restore the default value.
When using bbs integration into Coppermine, make sure to use different cookie names for coppermine and your bbs! The paths in both applications have to be set so coppermine is able to read both. Usually the default value "/" should be set as path both for coppermine install and the BBS app you bridge with.
Usually nothing has to be changed here; leave all fields blank when not sure. Only if you run into problems (e.g. if ecards, registration info or notifications don't get sent) you should change these settings. Coppermine itself doesn't come with an engine to send mails, it relies on a webserver being able to do so (using the built-in mechanisms of PHP). If you're not sure what to enter, ask your webhost for support.
The hostname of the SMTP server
If you leave this blank, sendmail (or a surrogate) will be used to send emails from your server. Sendmail exists on most Unix/Linux webservers. If you specify a SMTP hostname, Coppermine will try to send emails using SMTP (this usually is needed on Windows webservers).
[cpg1.4.0 or better required]
The username needed to authenticate on the SMTP server (this is not your coppermine admin username).
[cpg1.4.0 or better required]
The password that goes with above mentioned username (not identical to your coppermine admin password).
[cpg1.4.0 or better required]
Like all logs (that record data that would get dropped if logging was disabled), the logging features of Coppermine will have a slight performance impact as well as an impact on webspace and database usage. You should make up your mind if you actually will need the logs before enabling the feature. A log is only helpful if the admin actually looks into it.
Set, what kind of logging you want to enable. This feature records all changes that are done in coppermine's database, which is especially helpful if you're trying to debug or if there are various admins on a gallery.
All log files are written in english
[cpg1.4.0 or better required]
When enabled, all ecards that are being sent are as well written into the database, where the coppermine admin can view them. Before switching this option on, make sure that logging is legal in your country. It is also advisable to notify your users that all ecards are being logged (preferrably on the registration screen).
[cpg1.3.0 or better required]
Enabling this option records:
of the voter.
As the statistics are being kept per file, the link to the stats can be accessed on the individual file's page (displayimage.php) by clicking the link in the file info section to open the stats pop-up.
Note: The total votes may not match if you enable details and do not reset the earlier votes.
Enabling this option records:
of the visitor.
As the statistics are being kept per file, the link to the stats can be accessed on the individual file's page (displayimage.php) by clicking the link in the file info section to open the stats pop-up.
Note: The total hits may not match if you enable details and do not reset the earlier hits.
CPG will show error messages which are normally suppressed. This is helpful in troubleshooting problems with your gallery or when asking for help on the CPG Support Forums. Turn this feature off if you don't experience problems.
Turn it on (option "Everyone") if you are requesting help on the coppermine support board, so the supporters can have a look at the debug output as well. Choose the option "Admin only" when troubleshooting on your own - debug output will be only visible when you're logged in as admin, regular users or guests won't see the debug output.
May be helpful to troubleshoot problems with your coppermine install - only recommended if you know a little PHP and you can understand the additional error messages this option shows. This option only applies if debug mode is enabled.
If you have to do maintenance work on your gallery, switch it to offline mode. Only members of the admin group will be able to log in, all other users will only see "Gallery is offline". Remember to switch this option off once your maintenance work is done.
[cpg1.3.0 or better required]
The "Exchangeable image file" format (Exif) is a specification for the image file format used by digital cameras with the addition of specific metadata tags. The meta data are written by the camera and can be post-processed using certain desktop applications. Coppermine is capable of displaying some of the EXIF data within the pic info section, like date and time information, camera settings, location information, descriptions and copyright information.
CPG1.4.x (or better) comes with an EXIF manager that let's the coppermine admin decide what EXIF data should be displayed within coppermine. Please note: if the exif data don't exist within a particular image, coppermine will of course not be able to display them. Coppermine is not an editor for exif data - it just displays the exif data that exists in your pics.
To access the exif manager, go to coppermine's config and click within the section Files and thumbnails advanced settings at "Manage exif display" next to the line "Read EXIF data in JPEG files". Alternatively, you can directly enter http://yoursite.tld/your_coppermine_folder/exifmgr.php into your browser's address bar.
Tick the checkboxes in the exif manager that you want to show up in coppermine's pic info section (if the image file actually holds this particular set of information).
Included in your coppermine setup is one basic plugin:
You can find more plugins on the Coppermine Support Forum, both from Coppermine developers and from user contributions.
[cpg1.4.0 or better required]
Starting from cpg1.4.0, coppermine comes with a plugin API that enables plugin authors to modify coppermine features without hacking the core code, making upgrading easier, as modifications don't have to be re-applied every time you upgrade your coppermine version. It's recommended to use plugins instead of code modifications that require hacking the core code.
The plugin API consists of several "hooks" all over the core code of coppermine that allows plugin authors to interact with coppermine functions, overriding or adding features. There are limitations to what can be done using a plugin, as the number of hooks is limited. As a result, not every change of coppermine behaviour that could be accomplished by hacking the core code is possible to achieve using the plugin API. However, using a plugin is more elegant and usually much easier to install and get running (at least for the end user) than a crude core code hack. Installing and configuring a plugin doesn't require the coppermine admin to mess with the source code - you simply upload the plugin, install it, configure it and you're done. If the plugin has been coded as suggested and is mature enough, it should come with a configuration screen that makes editing source code irrelevant.
Unfortunately, there is no API documentation available yet.
The plugin manager is the central place from where you upload, install, configure and remove plugins. It can be acceessed in two ways:
The plugin manager organizes the plugins you have in your Coppermine directory. It is important to understand the difference between uploading plugins and installing plugins. When you copy a plugin to the Coppermine plugins folder (using the Upload button on the plugin manager or via FTP), you have merely uploaded the plugin files. The plugin is not installed yet. When you install a plugin, Coppermine runs the plugin's installation routine to configure and activate the plugin so that it will be executed when people use your gallery. To clearly show which plugins are running and which are not, the plugin manager is separated into two sections (see screen capture below):

By default, coppermine comes with some sample or code plugins (none of them are enabled by default though), additional plugins can be found on the corresponding section of coppermine's forum.
Unless you're going to code your own plugins, they usually come packaged up already, compressed into a zip file. There are two options how to upload a plugin:
After uploading the files (you may need to refresh the plugin manager page), the plugin you just uploaded should show in the list "Plugins Not Installed". If it does, you can continue to the next step and install the plugin.
Installing a plugin is fairly straightforward - just click on the
-icon next to the plugin. The install will enable the plugin to be executed when coppermine is being run (depending on the plugin's purpose). Some plugins come with a configuration screen that will be executed right after the install - if this is the case, configure it accordingly.
Some plugins may need to be configured during install, others may have a separate configuration page that can be accessed at any time. This depends on how the plugin author wrote the plugin, so we can't give any recommendations within this documentation. Some plugins may even need to be configured before actually being uploaded (especially plugins in alpha or beta stage - these may come without a browser-driven configuration page and require you to modify the plugin's code to configure the plugin). If unsure, take a look in the unzipped plugin archive on your hard-drive - usually, plugins that require you to edit or configure anything come with a README file that tells you how to do so.
Executing a plugin might be consuming resources or not work as expected, so you might want to uninstall a plugin at some time (maybe because you just tried it out and it doesn't work as expected for you). It's recommended not to just delete the plugin's subfolder using your FTP app (because the plugin might have applied database changes that need to be undone). Instead, you should go to the plugin manager and click on the
-icon next to an active (installed) plugin. The plugin then should get uninstalled and turn up in the list "Plugins Not installed". It's safe to leave the sources of an unneeded plugin on the server, so there should be no need to delete the plugin right after uninstall, however you may as well delete it, especially if you're short on webspace and the plugin eats up a lot of space.
To finally delete an inactive plugin from your server's plugin folder, click the
-icon next to a plugin that is in the list "Plugins Not installed". If the script fails to delete a plugin this way (because of lacking permissions to do so on file/folder level), you can use your FTP app to delete the particular plugin's sub-folder within coppermine's "plugins" folder (deleting manually). As with all delete operations, you should make a local backup before deleting if you're not absolutely sure what you're doing.
As suggested above, there's no documentation available yet for plugin authors, so the only method to learn how plugins work is by looking at the source code. Examine the code of the plugins that come with coppermine, or take a look at some that are available for download from the plugin contributions sub-board on the coppermine web page.
If you accomplished writing a plugin, we ask you to share it with the coppermine community by posting it on the appropriate board (this is of course not mandatory, but we'd appreciate to see your contribution). We would welcome a user-contributed API documentation or a list of hooks as well, or other related documentation.
Coppermine can be integrated with the following bulletin boards (eg. Coppermine and your bulletin board will share the same user database).
The login integration uses your bulletin board cookies, therefore it won't work if your board cookies are not visible by Coppermine. So unless you are an expert, keep things simple and install Coppermine and your bulletin board on the same domain. Examples :
| This will work: | This won't work: |
| Bulletin board: http://yourdomain.com/board/ Coppermine: http://yourdomain.com/gallery/ |
Bulletin board: http://board.yourdomain.com/ Coppermine: http://gallery.yourdomain.com/ |
The cookie path in the forum's configuration should be set to '/' where this option is available.
Important: the cookie names of your bbs and coppermine must not be the same - they must differ!
To avoid confusion, make sure to set up both coppermine and your bbs as standalone first. Make sure they both run correctly without integration. Test all features of coppermine (like upload, registration etc.) when Coppermine is installed, before you even start integration.
Warning: If you already have users and custom groups in your coppermine database when you enable bbs integration, be aware that they will be lost. If your coppermine users have already created private albums and uploaded pics to them, they will be lost as well!
Backup: it is very advisable to backup both your coppermine database and your files before enabling bbs integration, so you can safely go back if the integration fails.
In fact you're encouraged to backup your database on a regular base, and especially before applying code changes.
From cpg1.4.x on you can use the Bridge Manager that will provide a wizard-like interface to enable/disable bridging.
The bridge manager is a new feature in cpg1.4, it is not available in older versions. Instead of manually editing coppermine code files, you can enable/disable bridging in your browser, using a wizard-like user interface. To start the bridge manager, log in as admin, choose "Admin Tools" from the navigation and the "bridge manager"
If you run the bridge manager for the first time, there will only be one button that let's you actually start the wizard (if you return to the bridge manager later, you will also find a switch to enable/disable bridging) click it.
Note: with each step in the wizard, some information is being written to the coppermine database. Unlike other wizards (mostly on your local machine), the bridge manager doesn't have a ""cancel"-button! Once you have enabled bridging and everything is working fine, you shouldn't change any values just out of curiosity, as they will get written to the database, which might result in a bridging that used to work not working any more after "playing" with it.
In the first actual step of the wizard "choose application to bridge coppermine with", you have to choose the application you actually want to coppermine with. Note that you must have this application already installed on your webserver, it has to be properly configured and must be up-and-running. Don't use the bridge manager yet if you only plan to integrate coppermine with another application later.
If you have a custom-made bridge file that is not available in the wizard, choose the radio button in front of the text field and enter the name of your bridge file there, without the extension ".inc.php" (the bridge file must reside in the coppermine sub-folder "bridge").
Click "next"
The next steps depend on the application you have chosen to bridge with: some applications need URLs to be entered, or paths. Some need mySQL table information or cookie data to be entered, others don't. The point of the wizard is that it will only "ask" you the relevant settings for your application - if one or more items of the following description doesn't turn up for your application, there's no need to worry - just keep filling in the mandatory information and then hit "next". However, you have to understand that coppermine can proof-check only some of your input - some input goes unvalidated.
If a reset button (
) is being displayed next to an input field, the field value doesn't have the default value. It can be perfectly OK to have a non-default value in a field, however you should keep in mind that if you have "played" with the bridge manager before, previous settings might exist in a field that are not correct - do not light-heartedly skip a step without paying attention to it. Use the reset button to revert to the default value (not necessarily "quor" default value though).
This is the last step of the bridge manager - it summarizes up the settings you have made in previous steps - you can enable or disable integration here. By default, integration is set to "disabled" after the bridge manager has been run for the first time. You should only enable integration if you're sure your BBS app is set up correctly. Click the "Finish" button in any case to finally write to the database, even if you choose to keep the current settings (leaving integration "disabled").
[cpg1.4.0 or better required]
If you have provided improper settings using the bridge manager, your integration might fail, resulting (in the worst case) in a stituation where bridging is enabled, but you can not log in as admin to switch it off again (e.g. if you provided improper cookie settings that stops authentication from working). For this situation a recovery setting was built into the bridge manager: if you are not logged in as coppermine admin (in fact: not logged in at all) and you access the URL of your bridge manager (http://yourdomain.tld/your_coppermine_folder/bridgemgr.php) by entering it manually into the address bar of your browser, you are prompted to enter your admin account details - use the admin account you used to install coppermine with in the first place (the standalone admin account). This will not log you in, but switch integration off, so you can fix improper bridging settings then. To avoid others trying to guess your admin account details, there's a login treshold that rises every time you enter wrong credentials, so enter your admin account details with care.
[cpg1.4.0 or better required]
Login using the admin account of your board. Go to the gallery, enter admin mode and click on the "Groups" button. This will synchronize Coppermine groups with those of your board. The permission you will see for each group will be completely messy, so take some time to set them properly.
Each time you add or delete a group in your board you will need to do the operation above in order to keep the synchronisation of the groups.
When you will try to login / logout or manage users from Coppermine, you will be redirected to the corresponding page of your bulletin board. Once the login or logout is performed you won't be redirected automatically to the gallery because your board does not have any function for that. It's up to you to add a link on your board to get you back to the gallery.
It's mandatory that you (as admin) go to the groups page directly after bridging or whenever you change anything in your bridging configuration or if you change anything in your groups settings on your bbs, as you need to trigger the re-sync.
With the explanations given above you should be able to bridge your (BBS) application with Coppermine. However, if things don't work as expected, you're welcome to look for help using the coppermine support board. When asking for support, please keep in mind that the supporters will need some information to enable them to help you:
I have the following issue when trying to bridge coppermine and XXX: [error message here] Coppermine install: http://mysite.tld/my_coppermine_folder/ Forum install: http://mysite.tld/my_forum_folder/ Coppermine version: cpgX.Y.Z Forum version: SuperDuper BBS app v0.8.15 Test user account: some_testuser_name / the_password_for_the_test_user_account BridgeManager settings: Forum URL: http://mysite.tld/test/foo_bar Relative path to your BBS's config file: ../bla/ Use post-based groups?: 0
Coppermine has a separate language file that make the translation of the script much more easy. The language files are stored in the lang directory.
If you select an utf-8 language file as the default one, then the script will be able to automatically select a language file based on the visitor browser configuration. For instance if the default language file is danish (utf-8) and an english visitor accesses your gallery, the english language file will be used by the script.
If you have translated Coppermine into a language not already supported, please read the translator's guide and visit the Coppermine Web Site and follow the instructions for submitting your language.
The following slight quirks and tiny issues are known and will hopefully be fixed in future releases.
| Developer | Username | Role/Position | Status |
| Joachim Müller | gaugau | Project Manager | active |
| Dr Tarique Sani | tarique | Lead Developer | active |
| Abbas Ali | abbas | Developer | active |
| Aditya Mooley | Aditya | Developer | active |
| Donovan Bray | donnoman | Developer | active |
| Tommy Atkinson | Nibbler | Developer | active |
| Dave Kazebeer | kegobeer | Supporter | active |
| Thomas Lange | Stramm | Developer | active |
| Thu Tu | TranzNDance | Supporter | active |
| Paul Van Rompay | Paver | Developer | active |
| Amit Badkas | Amit | Developer | active |
| Andreas Ellsel | Andi | Tester | active |
| Developer | Username | Role/Position | Status |
| Grégory Demar | Greg | Original creator of Coppermine | retired |
| Jack | datajack | Developer | retired |
| DJ Axion | djaxion | Developer | retired |
| Scott Gahres | gtroll | Developer | retired |
| Hyperion | hyperion01 | Developer | retired |
| John Asendorf | jasendorf | Developer | retired |
| Jay Hao-En Liu | Oasis | Developer | retired |
| Christopher Brown-Floyd | omniscientdeveloper | Developer | retired |
| Timothy | skybax | Developer | retired |
| David Holm | wormie_dk | Developer | retired |
| Mark Zerr | zarsky99 | Tester | retired |
| mitirapa | mitirapa | Porter (Cross Platform Devel.) | retired |
| Moorey | moorey | Web Designer | retired |
| Maarten Hagoort | DJ Maze | Developer (nuke team) | retired |
| Eyal Zvi | EZ | Developer | retired |
| Clive Leech | casper | Supporter | retired |
| Dennis Nakano | madeinhawaii | Supporter | retired |
| Roberta | Blueiris | Supporter | retired |
| DaMysterious | DaMysterious has created loads of fantastic themes for Coppermine |
| Nanobot | Doug has done the vBulletin v3 bridge file |
| Girish Nair | Girish has contributed to the film strip feature |
| Jason Kawaja | Jason did the memberlist hack |
| Alexander Löbel | Alex did the translation of the FAQ in German |
| Joe Ernst | Joe has contributed the "Sort my pictures" feature |
| Pascal Yap | Pascal is a moderator of the French support board and has contributed several mods and hacks. He has translated the FAQ into French. |
| François Keller | Frantz is a moderator of the French support board and has contributed several mods and hacks. He is co-author of the translation of the FAQ into French as well as the French language file for cpg1.4.x. |
| Leny | Leny has come up with the partial translation of the documentation into Spanish. |
| Robert Chapin | Robert Chapin (miqrogroove) has re-done the bridge file for XMB. |
There is a full list of translators that can be found on the coppermine homepage: please visit Coppermine-gallery.net > About > Translators.
phpBB
Author: phpBBGroup
URL: http://www.phpbb.com/
License: GNU GPL
phpMyAdmin
Author: phpMyAdmin devel team
URL: http://www.phpmyadmin.net/
License: GNU GPL
phpPhotoAlbum
Author: Henning Støverud
E-mail: henning AT stoverud DOT com
URL: http://www.stoverud.com/PHPhotoalbum/
License: GNU GPL
TAR/GZIP/ZIP Archive Classes
Author: Devin Doucette
E-mail: darksnoopy AT shaw DOT ca
License: GNU GPL
Exifixer
Author: Jake Olefsky
URL: http://www.offsky.com/software/exif/index.php
License: GNU GPL
Codelifter Slideshow
URL: http://www.codelifter.com
License: free for all, as long as copyright information stays intact
PHPMailer
Author: PHPMailer Team
URL: http://phpmailer.sourceforge.net/
License: LGPL
PHP Calendar Class Version 1.4
Author: David Wilkinson
E-mail: davidw AT cascade DOT org DOT uk
URL: http://www.cascade.org.uk/software/php/calendar/
License: free for all, as long as copyright information stays intact
This application is opensource software released under the GNU GPL, version 3.
Versions prior to cpg1.4.13 used to be released under GNU GPL version 2. As the Free Software Foundation has released version 3 of the license, we updated the license reference for this release accordingly.
Subsequently, all versions of Coppermine from that time on (July 2007) will be released under GNU GPL version 3.
The GNU GPL does not allow further restrictions of permissions except the additional terms that can be added according to section 7 of the GNU GPL v3.
Coppermine is being released under the GNU GPL with the following, GPL-compliant additional terms:
According to GNU GPL v3, section 7 a)
Because the program is licensed free of charge, there is no warranty for the program, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the program "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction.
According to GNU GPL v3, section 7 b)
The Coppermine group (aka Coppermine Dev Team) requires the preservation of the "Powered by Coppermine" footer in a legible, unobscured manner in the output of all pages generated by Coppermine-driven galleries.
This policy may be subject of change in future versions. It has originally been made a requirement by the initial author of the first version of Coppermine. We ask you (the end user) to respect this policy and keep the footer intact. Additionally, we have a strict policy on the Coppermine support forum that galleries with the footer tag removed will not receive support. We're convinced that you should give credit where credit is due. We ask you to think twice before removing the tag, as it is meant to spread the word about Coppermine and give others who like your Coppermine-driven gallery to get one of their own.
In previous versions (prior to cpg1.4.13) of Coppermine (which used to be covered by the GNU GPL v2), the additional term that the footer should not be removed existed as well. There have been third parties though who doubted the rightfulness of this additional term and subsequently claimed that it was legal to remove the tag; some of those third-parties even offered instructions how to accomplish this code-wise (although the legal details had been clarified long before with the Free Software Foundation and the Open Source Initiative). The Coppermine Dev Team welcomes that version 3 of the GNU GPL clarifies this legal aspect and demands of any third parties to respect the full license, including the additional terms covered in this section of the documentation.
According to GNU GPL v3, section 7 c)
The Coppermine Dev Team requires as additional term of the license Coppermine comes with that modified versions of Coppermine conveyed to others should be marked in a reasonable way. Modified versions mustn't be conveyed to others under the same name as the original coppermine release. Package name, source code and the output generated by the modified version should make it obvious for potential users that the modified version and the original coppermine version that the modified version is based upon differ.
Examples:
Explanation:
If you download Coppermine and modify it for the use on your webspace, you don't have to rename it - the above mentioned additional term does not apply to you. It only applies if you make your modified version available for others for download or other means of distribution.
We think that this helps both the Coppermine project as well as the author of the modified version: people who are using the modified version can find out easily where they can turn to for help. The author of the modification get get the credit he deserves. The Coppermine Dev Team can make sure that issues caused by third-party modifications have less impact on the reputation of the original package.
Coppermine Photo Gallery is Copyright © 2002 - 2007 Grégory DEMAR and the Coppermine Dev Team, All Rights Reserved.