Coppermine 1.4.x FAQ

With thousands of users, it's not surprising that so many of the same questions are asked on the support forums for Coppermine Photo Gallery. So, to help facilitate your website development, we've included this basic FAQ file on common issues. Please be sure to refer to this FAQ first before posting questions on the forum. Failure to do so will, could, well ... , reflect unkindly on you and could result in some negative "karma."

This document is the second best resource to understand Coppermine - it's mandatory that you read the documentation first that comes with your Coppermine package.

What's GD and how can I get it?

GD is a graphical library which enables PHP to do image manipulation. If you are running your own webservem you can download it at www.boutell.com/gd/. You will need to recompile PHP on (L)Unix systems, depending on your setup Apache as well. Most recent versions of PHP come with GD - go for a package. On most windows systems, you can just enable it in the php.ini file. If you are subscribing to a webhost: find out through your webhost if GD/GD2 support is available on your site. If not, ask your webhost if you can have it or find yourself another webhost. GD/GD2 are pretty much a standard feature at most webhosting services.

What's ImageMagick and how can I get it?

ImageMagick is another graphical library like GD/GD2 for image manipulation. If you are running your own webserver, you can download it at imagemagick.org. There are sources available for Unix, Linux, Mac and Windows executables, as well as binary packages for various server operating systems. You cannot install ImageMagick if you are subscribing to a webhost.

How do I find out which version of PHP I have?

If you haven't installed Coppermine, yet, create a blank file named "info.php". Add the following code to it: <?php phpinfo(); ?>. Save the file and upload it to your webserver, then run it in your browser (e.g. http://www.yourdomain.com/info.php). The very first line should read "PHP Version X.Y.Z"Please note: leaving info.php on your server could be a security risk; either delete it after use or move it into a password protected directory!

If you have already installed Coppermine, you will find a phpinfo file (phpinfo.php) within the coppermine folder. Log in to your Coppermine setup as the admin and simply point (type in the URL) your browser to http://yourdomain.tld/your_coppermine_folder/phpinfo.php .

How do I find out which version of GD I have?

If you haven't installed Coppermine, yet, create a blank file named "info.php", put this code into it: <?php phpinfo(); ?>. Save the file and upload this file to your webserver, then run it in your browser (e.g. http://www.yourdomain.com/info.php). Look for a table like this:

gd

GD Support

enabled

GD Version

1.6.2 or higher

FreeType Support

enabled

FreeType Linkage

with TTF library

JPG Support

enabled

PNG Support

enabled

WBMP Support

enabled

Please note: leaving info.php on your server could be a security risk; either delete it after use or move it into a password protected directory!

If you have already installed Coppermine, you will find a phpinfo file (phpinfo.php) within the coppermine folder. Log in to your Coppermine setup as the admin and simply point (type in the URL) your browser to http://yourdomain.tld/your_coppermine_folder/phpinfo.php. Then scoll down to the GD section of the display.

Upgrades of the GD lib after coppermine has already installed will not affect pictures that were previously created. It will only affect those created after the upgrade. Unless you are running your own webserver, you cannot upgrade nor install GD lib - only your webhost can!

What are the steps to get Coppermine running?

Upload the contents of the coppermine folder to your server (you can install it in the root or in a unique folder with a name of your choosing).

CHMOD (CHange permission settings MODe) your newly uploaded Coppermine "include" and "albums" folders and subfolders to allow for read/write access. If your webhost does not provide file management tools to let you do this, you will probably need to search the net, download and install an FTP program to facilitate this.

Create a database with your website management tools if you don't already have one. You do not have to add any tables to your newly created database. Coppermine will create them for you. If you already have a database on your site, Coppermine can use that as well.

Point your browser to http://www.yoursite.com/coppermine/install.php and follow the directions of the install file (basically the mySQL-tables will be created there and the config table will be filled with default values)

Upon successfull installation, delete the install.php file from your website.

Point your browser to http://www.yoursite.com/coppermine/ , and login as admin using the ID and Password you provided during install. In admin mode, click on the CONFIG menu button to start customizing your coppermine photo gallery.

Experiment with your new install, create a few categories, sub-categories, and albums. Upload a few pics (not too many, just yet), test if everything works.

Point your browser to http://www.yoursite.com/coppermine/docs/ and READ the docs. The documents included with CPG1.4.x have been updated from previous versions to help answer your questions and issues so that you can get the site you want the first time out. Reading the docs takes but a few minutes. Resolving issues after the fact can take days, even weeks.

If your new Coppermine install is in a sub folder on your site, publish your site by linking it to your homepage.

I'm running short on webspace. Is there a "minimum install"?

This is of course a contradiction in terms: running a gallery page usually means you will considerable webspace to store your pics, but if you only want to publish a few pics with what little webspace you have left, there are some files that don't have to be uploaded or that can be removed if not needed. It is however recommended that only experienced users create a minimum install; when in doubt, do a full install.

Remove all languages that you don't need (if your users are all from the same country).
It's recommended that you keep English anyway even if your users use another language, just for you as admin to be able to temporarily switch to English.
Delete all files in the lang-subfolder of your coppermine install except yourlanguage.php (e.g. if you're using french, delete all files but /lang/french.php and /lang/french-utf-8.php).

Webspace that can be saved (maximum): 2.9 MB

Remove all language files that come with an encoding you don't need
You'll notice that for each language there are two files in the lang-folder: yourlanguage.php and yourlanguage-utf-8.php. You will need the utf-8 files only if you chose "Unicode(utf-8)" in "Character encoding" on your config page. Using Unicode (utf-8) will display the gallery in the language your page visitor has set in his browser. If you haven't chosen Unicode (utf-8) in coppermine config, it's safe to delete all language files with "utf-8" in their filenames from the lang folder.

Webspace that can be saved (maximum): 1.7 MB

Remove all unnecessary themes
Remove all themes you won't use from your themes folder. If you're using a customized theme, it's recommended to leave the classic/default theme in place for administrative purposes.
Example: if you're using the theme "Eyeball" that comes with coppermine, you can safely delete the sub-folders "classic", "fruity", "hardwired", "igames", "mac_ox_x", "project_vii", "rainy_day", "styleguide" and "water_drop" from your themes folder.

Webspace that can be saved (maximum): 1 MB

Remove some docs from the docs folder
The docs folder contains documents that are meant to help you set up and administer coppermine. In cpg1.4.0 or better, there are some files in this folder that are mandatory to have on the server for the help icons to work; others are optional. You can remove the files "credits.html", "faq.html", "README.html", "theme.htm" and "translation.htm". All other files (and the subfolder "pics") have to remain on the webserver if you want to use the help icons (recommended).

Webspace that can be saved (maximum): 164 KB

Remove bridge files
The Coppermine package includes bridge files used for integration of coppermine with bulletin board software like phpBB, SMF etc. It is safe to delete some files in the bridge folder; if you are using bbs integration, you will have to keep the bridge file that corresponds to the bbs you're using. If you are not using integration, you must keep the file coppermine.inc.php. The file udb_base.php is required under all setups ans should not be deleted.

Webspace that can be saved (maximum): 85 KB

Remove the flags
If you're not going to use the "select language by flags" option from the coppermine menu, it's safe to delete the flags folder (/your_coppermine_folder/images/flags/). If you are using the flags option, you can of course delete all flags you don't use at all.

Webspace that can be saved (maximum): 80 KB

Remove files that are needed for install or upgrade only
Once Coppermine has been installed and is "up-and-running", you can safely delete the files that are needed for installing only: from the coppermine root folder, delete install.php, installer.css, update.php, upgrade-1.0-to-1.2.php. You can delete the folder "sql" as well.
If you want to update/upgrade your coppermine install later (once a new version comes out), you will of course have to re-upload the update files and the sql folder to your webserver.

Webspace that can be saved (maximum): 73 KB

Choose to only display intermediate-sized pics and thumbnails. After you have batch added your pics and confirmed that they are displaying properly in your CPG setup, click on Admin Tools and select the "Delete original size photos (1)" option.

Summary: a minimum install of coppermine will need approx. 3.3 MB of webspace.

Upload

General Upload Troubleshooting

When troubleshooting uploads in CPG 1.4, you are advised to change the upload settings in the Groups console to 'Single uploads only' and to activate 'Debug mode' in the config console. Changing this setting negates some of the error masking done in the multiple upload setting. This will allow you to access more detailed error messages.

First and foremost:

Check your folder and file permission settings on the /albums, /albums/userpics, and /albums/edit directories. All should be 777 or 755.

If you don't know what we mean by 777 or 755, you need to do a Google search on UNIX file permissions. Windows has a similar set of file permissions. You can usually set these permissions using an FTP client (If you don't know what an FTP client is, Google for FTP client).

For those of you who skim over statements written in red letters, I will repeat to try to get your attention:

Yes, we are writing about something that could easily apply to YOU.

We repeat -- check your permissions on the /albums, /albums/userpics, and /albums/edit directories. All should be 777 or 755.

Yes, we do want you to check the permissions of each folder even if you think you have already done this. Yes, we mean it.

NOTE: HTTP uploads are limited by the restrictions placed upon them in PHP's configuration.

Things to check:(if you are webhosted, you will need to consult with your webhost regarding the following settings.)

max_input_time- 60 seconds is the default time limit for uploading files.This time limit includes the time it takes for the files to upload, so if you exceed this limit, the file will not even parse, and the browser will not get a response. You can workaround this by trying to upload smaller or fewer files, or you can try uploading over broadband. The best solution, of course, is to increase the time limit to something more in line with your needs.

upload_max_filesize - 2MB is the default limit for individual files.

post_max_size - 8MB is the default limit for post requests.

memory_limit - 8MB is the default size.

PHP's LimitRequestBody - 512KB default limit. (mainly an issue on Redhat/Apache systems. Found in /etc/http/conf.d)In general, upload_max_filesize < post_max_size < memory_limit in order for uploads to function properly. Coppermine may warn you if a file exceeds upload_max_filesize, but it cannot warn you if the total size of all the files exceeds the post limit or the memory limit.

file_uploads - This determines whether or not PHP will allow file uploads. It must be set to "On".

The most common issue caused by this setting is an open_basedir warning. In this situation, your server administrator has restricted the files that PHP can work with to a certain directory. If he does not create and specify a temporary directory within the open_basedir restriction, PHP will attempt to use the OS temporary directory, and it will be rebuffed by the open_basedir restriction.

Some notes about the different types of upload mechanisms available in CPG 1.3 (or better):
Multiple HTTP uploads are designed to handle a small number of files, and have an upper limit of 10 files at a time. Therefore, they are not well suited for the uploading of large numbers of files unless you are running your own webserver or have control over the php.ini configuration.
If you are looking to upload more than 15 or 20 files at a time, you should consider the batch add process or the XP_Publisher utility. Each has its own drawbacks and advantages.
The batch add process is fast, but it creates quite a load on the server and, as a result, you may experience timeouts causing your uploads to terminate prematurely. XP Publisher, on the otherhand, is considerably slower, but it limits the load on the server. It also circumvents many of the pitfalls caused by limitations set in the php.ini configuration by uploading each file in the batch being uploaded as an individual post request.

Error Messages

When installing I get the errorFatal error: Call to undefined function: imagecreatefromjpeg() in /include/picmgmt.inc.php on line 168. What does that mean?

This error means that the version of PHP installed on your server does not support the GD1/GD2 image library.
If you know that the ImageMagick suite is installed on your server, you could try using it instead. Otherwise, you will have to find another webhost or convince your existing webhost to have GD1/GD2 installed (the GD image library is now a standard component of PHP and should normally be installed and available, de facto). Coppermine won't run without gd or image magick.

When installing I get the errorWarning: mkdir(dummy) [function.mkdir]: Permission denied in /your/path/to/coppermine/install.php on line 126. What does that mean?

The script must have the right to create and delete files.

on *nix/linux-webservers:chmod the coppermine directory (and all subdirectories) to 755 (rwxr-xr-x). To find more about chmod: check some of these fine chmod tutorials

on Windows/IIS:Check if the user the webserver runs the php-scripts under (usually called IUSR) has sufficient rights to read, execute, change, delete in the Coppermine folder. To find out how, ask your webhost or read the server manual, if you're running your own server.

on Windows/Apache:Check the account Apache runs under and set the rights in the file-system.

I get the errorZero Sized Reply during install. What can I do?

On rare ocassions, some users experience this error message during install:

While trying to retrieve the URL: http://yoursite.com/coppermine/install.php
The system returned:
Zero Sized Reply
Reason:
The remote server did not reply any data for this request.
Please try again later

Unfortunately, we still do not know why this happens - those who get this error simply cannot use Coppermine (our apologies). Disabling or removing HTTP filtering on the firewall may help (client and/or server end). Should you have any idea as to what may be causing this error (and even possibly come up with a solution), please visit the Coppermine support board and enlighten us.

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.

When uploading I get the error Warning: Undefined variable: HTTP_POST_VARS in include/init.inc.php on line 43. What can I do?

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

I get the error message Can't create/write to file '/tmp/#sql_45d5_0.MYI'. What's wrong?

The problem:
MySQL can't create a temporary file for the result set in the given temporary directory.

The solution:
Alter the tmpdir variable to point to a writable directory. It requires changing the tmpdir line in the my.cnf file, usually in the [mysqld] section (tmpdir = /writable/dir, where /writable/dir is a directory to which you can write).

I get the error message Can't open file: 'yourPrefix_tableName.MYI' or similar. What's wrong?

The problem:
Your table is corrupted.

The solution:
This is not a coppermine issue, but a mySQL issue. It just may affect a database table used by Coppermine.
Use your website's Control Panel to repair the table, or use phpMyAdmin to execute this sql query: REPAIR TABLE yourPrefix_tableName
(Replace yourPrefix_tableName with your table name, e.g. cpg145_pictures)

If you don't understand the solution, ask your webhost to make the above changes.

'random': random pictures (leaving random pictures "on" for huge galleries with more than 10,000 pics might result in performance problems; switch random "off" in this case)

'lastup': last uploads

'topn': most viewed

'toprated': top rated

'lastcom': last comments

'lasthits': last viewed

'lastalb': last created albums

'anycontent': inserts php-generated custom content that YOU have coded into the file 'anycontent.php' and displays the content on the index page. It can be used to include banner-rotation scripts, welcome scripts, or similar. Where it appears in the index page is determined by it's placement in the string example below.

(e.g. anycontent/catlist/alblist/random,2/lastup,2 translates to: "anycontent file contents, category list, album list, 2 rows of random pics, 2 rows of last uploads" -- and will display in the order that they are listed)

How do I remove/edit the bottom line "Powered by Coppermine" ?

You mustn't remove the line - it's part of the deal: you're allowed to use and modify Coppermine on your site, but this line must remain! We feel strongly that it is more than a justified demand to give credit where credit is due. We hope that you will agree with us and just be glad that such a great piece of software is available for use at NO COST, with no banner ads or embedded spyware, to you.
You are allowed to change the way the line looks by editing the CSS class to make it fit into the design of your site; edit /themes/yourtheme/style.css, look for the class "Footer" and change the settings there as you wish.
Note: PLEASE don't ask idiotic questions on how to remove this line in the Coppermine Photo Gallery Support Board - your posting will be deleted!

I want to buy a license for Coppermine (and get rid of the "Powered by Coppermine" line). How?

As Coppermine is based on OpenSource software published under GNU/GPL (which allows the modification of the code, but disallows changes of the license model of your modifications), you can not purchase a version of coppermine with or without the credit line removed. Read the file COPYING that comes with the distribution of Coppermine for details.

if you want the edit the color scheme of a theme to match the "look-and-feel" of your site, edit /themes/yourtheme/style.css

for experienced php users, cpg 1.4.x introduces an alternative method of adding intricate custom headers or footers. Create a php file for your header and one for your footer using a format similar to the following:

<?php
echo <<<EOT

Enter your header/footer content here. What you enter here will be displayedat the top of my page if it is a header and at the bottom of my page if it is a footer.

EOT;
?>

Name them myheader.php and myfooter.php, or any other original name that doesn't already exist in the cpg folder and save them into the Coppermine root folder. Then while in Admin mode, click on the CONFIG tab, scroll to Themes settings and enter the name of your header and footer files in the appropriate include fields at the bottom of this section. (NOTE: You will still need to edit the template.html file of your theme to remove any unwanted logos and entries above the menu sections.)

How can I backup my coppermine database?

Currently, there are no built-in backup solutions for coppermine available, yet. To backup your directory/file structure, you must use the good old ftp method and a tool like phpMyAdmin to backup your database (Many webhosts that offer mySQL also offer a pre-installed version of phpMyAdmin - if so, use that!). PhpMyAdmin is easy to install: just download the distribution, unzip it to your harddrive, edit one config file and upload it to your server. (NOTE: Some webhosts offer backup services. You should check if this service is available to you, first.)

Here's a quick "how to backup a database with phpMyAdmin" primer:

Download the software if it's not available to you, install it (remember to password-protect it).

Point your browser to the location you installed it on.

Select the database you want to back up from the dropdown list in the left frame.

In "View dump (schema) of database" select the table(s) you want to back up (press CTRL to select more than one table).

The fullsize-pic doesn't pop up when clicking on the intermediate size pic. What's wrong?

If you are certain that your original file is larger in dimensions than the settings you selected for intermediate sized pictures, there's a good chance that you over-edited your theme's template/html file: make sure that the line <script type="text/javascript" src="scripts.js"></script> inside /themes/yourtheme/template.html is still there to make the pop-up window work...
The <head>-part of your template file should look like this:

How can I prevent other sites from linking directly to the pictures in my gallery instead of the gallery page?

IF your webhost supports the use of .htaccess files (you will need to ask them), you can prevent "hotlinking" by creating an .htaccess file in the albums folder.
Open your text editor and add the following lines, then save the file as .htaccess :

I tried to change the language on the config page, but it doesn't work. What's wrong?

"Character encoding" is probably set (or has been set sometime ago) to UTF-8 on your config page.
When UTF-8 is selected, Coppermine chooses your language file based on your browser configuration and stores the value in a cookie. This overrides the value stored in the CONFIG.To fix that:

Set "Character encoding" to Default (language file)

Then call the script with http://yoursite.com/coppermine_dir/index.php?lang=xxx (this will reset the cookie)

I can't upload with the upload feature. What's wrong?

If you experience the error message: No picture was uploaded. If you have really selected a picture to upload, check that the server allows file uploads..., 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!

How do I change the order of categories?

I can't delete a certain picture with ftp. What can I do?

If you can't delete a file or picture with your FTP software, it is not Coppermine that won't allow you to delete the picture; it is your FTP server. The problem is in the configuration of your server. Try to delete your picture from within the script.

If PHP on your server is running under user "nobody," then all files created by any PHP script (this is not specific to Coppermine) will be owned by "nobody". There is no way to change that.

IMPORTANT: 0777 (CHMOD 777) should not be the default mode for directories because it may present a security risk, if your gallery is running on a shared server and PHP safe mode is not enabled, anyone with an account on the same server could possibly delete your pictures. There have been several threads on this issue on the Menalto Gallery forum and several users have seen their gallery hacked and destoyed because of this. This issue is not specific to Photo galleries, it applies to all PHP scripts that create directories. As long as someone has write access to a directory, s/he could conceiveably delete any file it contains, even if that person doesn't have write access to the file itself.

We would prefer to have users complaining LOUDLY and REPEATEDLY that they have to constantly contact their sysadmin to set this or reset that or even uninstall Coppermine, and have THIS as an issue and electing to switch to another gallery script because of this inconvenience, rather than learn of one person devastated in finding that all his/her pictures have been erased by a hacker.

Ultimately it is the decision of the sysadmin on how s/he will elect to run PHP as an Apache module and if all files/dir created by PHP are to be owned by "nobodyquot;. So sysadmins who have set up their servers as such, are in no position to complain when asked to remove certain files or directories.

On the webhost this site is running on, everything works fine when directory are created with mode 755 and all files/dir created by PHP are owned by the chezgreg user which is the user I use when connecting by FTP. Also if one of the file/directory on my site has a mode of 777, the server will shutdown my site and send me an email warning me that this is unsafe.

I can't upload big pics or files. What's wrong?

The max. size of uploadable pics and/or files is limited by various settings - to find out why you can't upload big picks, check the following:

Make sure you have enough webspace left (remember that you need space for the full size pic, the intermediate size pic and the thumbnail!)

When logged in as admin check your "Group" settings: the groups (even the admin group!) have quota limits that can be configured there

Browser time-out: the commonly-used Internet Explorer has a time-out function: if your upload isn't finished within a certain period, the browser will time-out (this applies especially to dial-up connections)

There'are a maximum limits set in the PHP config of your server or webhosting server. If you're with a webhost there's very little you can do about it except ask them if they could help you out. If you're running your own server, check php.ini and look for LimitRequestBody - this value (in bytes) in the max upload allowed by php/html

I can't login to Coppermine. What's wrong?

This is most likely a cookie issue:

If you're running Internet Explorer 6, you'll have to enable the acceptance of cookies. Click on "Tools" - "Internet Options" - "Privacy" and add your site to the list of sites that are trusted, or set the slider to a lower level.

Sometimes IE will not handle Cookies properly. Close your browser, try deleting all local cookies manually and start your browser again

Check if you're running a software that interferes with acceptance of cookies like personal firewalls (ZoneAlarm, Tiny, Cookie Washer etc.) and turn them off to see if cookies are accepted then

Try using another browser (like Opera, which is rather small to download and can be removed easily). It's a generally a good idea to have some different browsers on your local machine to check if your site is displayed correctly not only in your favourite browser

If you're using subdomains and the dev version of coppermine or some mod on a different subdomain (like gallery.yoursite.com and board.yoursite.com) this could also cause problems: a subdomain is a different domain (in fact foo.com and bar.com are subdomains of the tld ".com", so regarding cookies they are as different domains as bbs.yoursite.com and comics.yoursite.com). Of course you can "hack some sense" into the scripts, but usually bbs are hard to trick to make them more hack-proof.

I don't use the intermediate pictures anymore. How can I delete them to gain disk space?

Why would you want to do that? Deleting the intermediate pics would disable many of the great features that make coppermine what is today. The option to send ecards, to add comments to pics, to rate pics, to display exif information, just to name a few. If you really want to save space, opt to delete your original files using the Admin Tools menu option. Doing this will allow your users to enjoy all of coppermine's features with the exception of viewing full-sized images. In the end, it will probably save you more space as well. Just be sure to set your intermediate sized picture settings in CONFIG to a size that you can live with.

If you really must remove the intermediate sized pics, search the mods and hacks board in the coppermine forum to learn how.

How do albums and folders work in coppermine?

When you create an album, it is a dynamic 'virtual' album. Coppermine doesn't create a physical folder for this album on the server's hard drive, it leaves the pictures where you put them on the server, and uses the database to know which pic belongs in which album. You can move pics from album to album in Coppermine, but it's all done in the database, the pics are never moved on the server.

When you upload by html, using the 'upload' link, coppermine places the pic (and the thumb and normal size copies) in the 'userpics' directory.

When you upload by ftp, you should place the pics into folders that you create within the 'albums' folder, but never in the 'userpics' folder. The 'userpics' folder is reserved for html uploads only. You can create as many folders/sub-folders for FTP uploads as you want. (Many webhosting services will recommend that you keep the number of files per folder under 500 in order to maximize speed and certain functions. This means you can upload up to 500/3 files in each folder.) You can name these folders anything you want, but we do recommend mirroring the category/album structures that you have created, whenever possible, to facilitate ease of use and site management.

When you batch add files that you have already FTP'd to your site, coppermine asks you what album you want to put the pics in, but it leaves the pics where they are on the server.

How do I show the same file in multiple albums?

The Album Keyword in Album Properties is used to link images from one 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.

If you use album keywords to display images/files in more than one album, enabling the Config option, Show number of linked files, will display additional information for the album stats. That is, 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".

How can I create a menu that's shown on the right side of the gallery?

When the template.html is read, it is split in 2. What is before the {GALLERY} tag is output by the pageheader function, what is after by the pagefooter function.
If your menu is in the "footer" you need to modify your theme.php file

How can I prevent unregistered users from viewing the gallery?

In Config, when "Allow unlogged users (guest or anonymous) access" is 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.

How can I display the name of the uploader with the picture info?

Warning: this is quite a complicated hack for a newbie to perform! Make sure to back up your original files before attempting this.Edit displayimage.php and search for: $info[$lang_picinfo['Filename']] = htmlspecialchars($CURRENT_PIC_DATA['filename']);add after it: $info[$lang_picinfo['Username']] = htmlspecialchars($CURRENT_PIC_DATA['user_name']);.
Then open /include/functions.inc.php and search for following in function get_pic_data(): if($select_columns != '*') $select_columns .= ', title, caption';and replace it with: if($select_columns != '*') $select_columns .= ', title, caption, user_name';.
After that search for: $result = cpg_db_query("SELECT $select_columns from {$CONFIG['TABLE_PICTURES']} WHERE aid='$album' $approved $ALBUM_SET ORDER BY $sort_order $limit");
and replace it with: $result = cpg_db_query("SELECT $select_columns from {$CONFIG['TABLE_PICTURES']} AS p LEFT JOIN {$CONFIG['TABLE_USERS']} AS u ON u.user_id = p.owner_id WHERE p.aid='$album' $approved $ALBUM_SET ORDER BY $sort_order $limit");Then you have to add the language string for the username. Open /lang/yourlang.php and search for:$lang_picinfo = array(
and add after that: 'Username' => 'Username',
Also you need to execute this query in MySQL (with a tool like phpMyAdmin):ALTER TABLE `cpg11d_pictures` ADD INDEX ( `owner_id` );
(NOTE: If your database table_prefix is not "cpg11d_", you will need to change it in the query)

This will allow you to use BBCodes in the custom fields: you can then have something like[url]http://www.somesite.com/foo/bar.php?whatever=42[/url]
or[url=http://www.somesite.com/foo/bar.php?whatever=42]link to some site![/url]in your custom user fields (the display of which, of course, has to be enabled in the config page, begin with).

Common PHP errors and how to get rid of them...

There are a lot of people (especially PHP newbies) that post questions like I get the error "Parse error: parse error in XXX" and don't know what to do about it. That's why I translated this list of common errors (and a solution how to fix them) from the original german article in Dr. Web :

Parse error: parse error in C:\Apache\htdocs\read.php on line 8 - This error message refers to an error in the PHP syntax. You probably forgot to end a line with ; or you have too many brackets opened or closed ({).

Fatal error: Call to unsupported/undefined function ... in C:\Apache\htdocs\read.php on line 8 - This error means that the function your script was going to use isn't defined in the current PHP version with modules, or if you're using user-defined functions that your function hasn't been defined yet (this is usually caused if you forgot to include the function definition).

Warning: Wrong parameter ... for ... in C:\Apache\htdocs\read.php on line 8 - you have handed over too many (or the wrong) parameters to the function. If it's a built-in php-function, check the manual; to see if it's a user-defined function, then recheck your code.

Warning: Cannot add header information - header was already sent ... in C:\Apache\htdocs\read.php on line 4 - you had some text output first (e.g. the doctype declaration or <html>) and called the function header() afterwards. This is most often the case when using cookie stuff. Remember you can not use header() twice!

Parse error: parser stack overflow in C:\Apache\htdocs\read.php - PHP is out of memory - this usually happens if you built an eternal loop, especially when using include statements.

SAFE MODE Restriction in effect. The script whose uid is 531 is not allowed to access... - The safe mode is switched on. Some functions in the upload systems can't be used. Usually your webhost has put safe mode in place (often not correctly configured). Try switching silly_safe_mode on.

Can I rename template.html to template.php to include PHP code in my template?

No, this is simply not the way coppermine works; for "normal" pages the name of the extension tells the webserver whether the file should be parsed by the PHP interpreter. The template files within the themes folder are not being parsed this way - the extension .html was just chosen to make editing easier. You can not have PHP code in the template file, no matter how you name it - that's all there is to it!

How can I prevent users from saving (stealing) my pictures?

You can not completely prevent users from stealing your pics - that's the way the www works: if a picture is being displayed in the browser, the user already has a copy of it on his hard drive. There are however some methods to make it harder for newbie users to steal your pics:

Prevent Internet Explorer to show the image toolbar when a user hovers over a pic with the mouse. Edit themes/yourtheme/template.html, find <meta http-equiv="Pragma" content="no-cache" /> and add after it <meta http-equiv="imagetoolbar" content="no" />

I'm running my own server

How do I enable gd on my Windows server?

GD 1.x 2.x are normally part of all standard PHP distributions under Windows
To check if you have it, go to the directory where you installed PHP, go to the "extensions" subdir and see if you have a file named "php_gd2.dll".
Ocassionally, you will also need to edit your php.ini file (located in windows directory normally) and remove the ";" that is at the beginning of the line:extension=php_gd2.dll (at the end of the file). This will cause PHP to load the GD2 extension.
Whenever you make changes to php.ini, remember that you will need to restart your webserver before changes become effective.
ImageMagick it quite complicated to use under Windows
Greg

How do I enable ImageMagick on my Windows server?

ImageMagick is quite complicated to set up on Windows. There are several things to be taken into account. The Coppermine support board is not the right place to ask for help on installing it, as it deals with Coppermine, not "How to set up a server" (most people on the Coppermine boards don't run their own webserver, but they have webspace by a webhost). Instead, try to find support boards on the internet that deal with this special topic.

Coppermine Support board

These are (alas) not-so-frequently-asked-questions on the support board. Before posting on the Support board (or, in fact, any board), please read this:

I don't know PHP/mySQL...

No problem with that, everyone stars as a newbie. Just don't start each and every posting by stating "I'm a newbie", "I don't know anything about PHP" etc.Usually, one can acertain that from your question itself. There's no need to apologize. Most of us can still remember when we were in your shoes.

I've posted my question a while ago, but nobody answers. What the...?

The support board is not a hotline. Although there are many visitors to the site, only a few do actually support - on a unpaid, voluntary basis. Yes, we don't receive remuneratio for our contributions and we each have a life, a job, family and more. We are away sometimes, as well. So, please, be patient, read the docs and search the boards while you are waiting.If you don't get an answer to your question:

make sure you have given us enough time to react (days, not hours!)

maybe nobody knows the answer to your problem

maybe your question has been asked very often

maybe your posting has been rude or impolite and you're ignored for that reason

maybe you requested a feature that requires a lot of coding, and none of those who are able to do it have a need for the feature

How should I write my question?

If you have a question, make sure you provide as much information as possible:

a link to your gallery, with a test account ID and test account password, is most often the only way to help - provide it with your question, or even better: edit your profile on the support board and enter the url of your page there!

if it's a client issue, give us information at least to your client's OS and browser

Give us a screenshot, if necessary

use a proper subject line: state in the subject line what your question is actually about! Most supporters are reluctant to answer to a posting that has a silly subject line like "I have a question" or "Install problem" or "feature request" or "help me pleeeeaaaase"

Hey, by looking at your profile I can see you're German/French/Whatever. Can I post a question in that language?

If you are posting in the English support boards, pPlease do not post in some other language - in this way, others may benefit from your question (and the answers you receive ), too. Don't be afraid to write "poor english" - no one will laugh at you, and most of our visitor's first language isn't english to begin with! There's a german support board available at http://forum.the-service.de/ - use it if you are more comfortable with German and you' not able to write in English!