FAQ for Coppermine Photo Gallery v1.3.5
For credits and copyrights, see Coppermine documentation
There are always the same questions asked on the support forums for Coppermine Photo Gallery; that's why we decided to start a little FAQ on this issues.
GD is a graphical library which enables PHP to do image manipulation. 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. (this can of course only be done if you're running your own server; if you're with a webhost: find out if your webspace has gd; if not: ask your webhost if you can have it or get another webhost).
ImageMagick is a graphical library for image manipulation. 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 can only install ImageMagick if you are running your own server, or you have shell access to it - you can not install ImageMagick if you're webhosted.
create a blank file named "info.php", put this code into it: <?php phpinfo(); ?>, upload this file to your webserver and run it in your browser (e.g. http://www.yourdomain.com/info.php). In the very first line it should say "PHP Version X.Y.Z"
Please note: leaving info.php on your server might be a security risk; either delete it after use or move it into a password protected directory!
In cpg1.3.0 (or better), there's a phpinfo file (phpinfo.php) within the coppermine folder (you'll have to be logged in as admin though) - simply point your browser to http://yourdomain.tld/your_coppermine_folder/phpinfo.php .
create a blank file named "info.php", put this code into it: <?php phpinfo(); ?>, upload this file to your webserver and run it in your browser (e.g. http://www.yourdomain.com/info.php). Look for a table like this:
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 |
GD2 will create pictures with better quality (intermediate and thumbnails).
Here's an example taken from w-nailer: about resizing (Original pic size: 1024 x 768 pixels): | |
![]() | ![]() |
GD 1.8.4: ImageCreate ImageCopyResized 128 x 96 pixels | GD 2.0.1: ImageCreateTrueColor ImageCopyResampled 128 x 96 pixels |
as stated in the readme:
You can only install ImageMagic or GD if you're running your own server or if you have at least shell access to your webserver. If you're hosted by a webhost you can only contact your webhost and ask them to install it for you or choose another webhost.
This is of course a contradiction in terms: running a gallery page usually means you will need a lot of webspace for your pics, but if you only want to publish some pics and have little webspace left, there are some files that don't have to be uploaded or can be removed if not needed. It is however recommended that only experienced users create a minimum install; when in doubt, go for the full install.
When troubleshooting uploads in CPG 1.3, 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 permissions on the /albums, /albums/userpics, and /albums/edit directories. All should be 777 or 755.
If you don't know what we mean when we write 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 your 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 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 want you to check the permissions of each folder even if you think you have already done this. Yes, we mean it.
Please keep in mind that HTTP uploads are limited by the restrictions placed upon them in PHP's configuration.
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:
Multiple HTTP uploads are designed to handle a small number of files, and have been capped at 10. Therefore, they are not really suited for large numbers of files unless you have control over your php.ini configuration.
If you are looking to upload in excess of 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 puts quite a load on the server and may experience timeouts. The XP Publisher utility is slower, but it limits the load on the server. Also, it avoids many of the pitfalls caused by the php.ini configuration by uploading each file in the set as an individual post request.
This error means that the version of PHP installed on your server has no support for the GD image library.
If the ImageMagick suite is installed on your server you can try to use it, else you have to complain to your webhost (the GD image library is now a standard component of PHP and should normally be installed de facto). Coppermine won't run without gd or image magick.
The script must have the right to create and delete files.
Edit the file include/search.inc.php
Look for the line with
$charset = $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'];
Replace it with :
$charset = $CONFIG['charset'] == 'language file' ? $GLOBALS['lang_charset'] : $CONFIG['charset'];
Some users experienced 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 laterIt's unknown why this happens so far - those who have this error simply can't use Coppermine (sorry for that). If you have got an idea what causes this error (and possibly can come up with a solution), please visit the support board and clue us in!
Try to edit the file include/init.inc.php:
change
$PHP_SELF = isset($HTTP_SERVER_VARS['REDIRECT_URL']) ? $HTTP_SERVER_VARS['REDIRECT_URL'] : $HTTP_SERVER_VARS['SCRIPT_NAME'];to
$PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
You should contact the admin of your webhost because usually you can't change the location of the 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.
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 server, so Coppermine isn't to blame in the first place. 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($HTTP_SERVER_VARS['REDIRECT_URL']) ? $HTTP_SERVER_VARS['REDIRECT_URL'] : $HTTP_SERVER_VARS['SCRIPT_NAME'];Replace it with
$PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
Coppermine understands the following bbCodes (the same bbCodes that are used by phpBB) in image and album description:
code | output |
---|---|
[b]bold text[/b] | bold text |
[i]italic[/i] | italic |
[url=http://www.foo.com/bar.html]URL text[/url] | URL text |
[email]user@domain.tld[/email] | user@domain.tld |
You mustn't remove the line - it's part of the deal: you're allowed to use Coppermine on your site, but the line stays! It's more than justified to give credit where credit is due; be glad you're able to use such a great piece of software for free.
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 it as you wish.
Note: don't ask stupid questions on removing this line in the Coppermine Photo Gallery Support Board - your posting will be deleted!
As Coppermine itself is based on OpenSource software published under GNU/GPL (which allows the modification of the code, but disallows to sell the code, modified or not), you can not purchase a version of coppermine with the credit line removed. Read the file COPYING that comes with the distribution of Coppermine for details.
Just remove the link; edit /themes/yourtheme/theme.php, look for the feature you want to remove and comment out the HTML code.
Example: if you want to remove the ecard-feature, just look for
<td align="center" valign="middle" class="navmenu" width="48"> <a href="{ECARD_TGT}" title="{ECARD_TITLE}"> <img src="images/ecard.gif" width="16" height="16" border="0" align="absmiddle" alt="{ECARD_TITLE}"></a> </td>and replace it with
<!--<td align="center" valign="middle" class="navmenu" width="48"> <a href="{ECARD_TGT}" title="{ECARD_TITLE}"> <img src="images/ecard.gif" width="16" height="16" border="0" align="absmiddle" alt="{ECARD_TITLE}"></a> </td>-->
There are these files to look for:
function pageheader($section, $meta = '') { global $CONFIG, $THEME_DIR; global $template_header, $lang_charset, $lang_text_dir; if(empty($custom_header)){ include('/path/your_file.php'); static $custom_header = ob_get_contents(); ob_clean(); } header('P3P: CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"'); user_save_profile(); $template_vars = array( '{LANG_DIR}' => $lang_text_dir, '{TITLE}' => $CONFIG['gallery_name'].' - '.$section, '{CHARSET}' => $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'], '{META}' => $meta, '{GAL_NAME}' => $CONFIG['gallery_name'], '{GAL_DESCRIPTION}' => $CONFIG['gallery_description'], '{MAIN_MENU}' => theme_main_menu(), '{ADMIN_MENU}' => theme_admin_mode_menu(), '{CUSTOM_HEADER}' => $custom_header, ); echo template_eval($template_header, $template_vars); }You will need to add a new field {CUSTOM_HEADER} in your template.html file.
(assuming you have already created at least one category with at least one album where the uploads should go to):
There's no built-in backup solution for coppermine available yet. Meanwhile, backup your directory/file structure via good old ftp and use a tool like phpMyAdmin to backup the database (many webhosts that offer mySQL also offer a pre-installed version of phpMyAdmin - go for 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.
Here's a small "howto backup a database with phpMyAdmin":
You probably over-edited your template: you'll definitely need the line <script type="text/javascript" src="scripts.js"></script> inside /themes/yourtheme/template.html to make the pop-up window work...
The <head>-part of your template file should look like this:
<head> <title>{TITLE}</title> <meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" /> {META} <link rel="stylesheet" href="themes/default/style.css" /> <script type="text/javascript" src="scripts.js"></script> </head>- just check the default theme that comes with coppermine if you're unsure.
Edit displayimage.php and add
if (!USER_ID) cpg_die(ERROR, 'You need to register to access this page', __FILE__, __LINE__);
just before
/************************************************************************** * Local functions definition **************************************************************************/
Prevent "hotlinking" by creating a .htaccess file in the albums folder and adding this:
SetEnvIfNoCase Referer "^http://www.yourdomian.com/" locally_linked=1 SetEnvIfNoCase Referer "^http://yourdomain.com/" locally_linked=1 SetEnvIf Referer "^$" locally_linked=1 <FilesMatch "\.(gif|png|jpe?g)$"> Order Allow,Deny Allow from env=locally_linked </FilesMatch>This will only work on linux/unix and only if you're allowed to do that by your webhost or if you run your own server!
"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:
If you get 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 - they 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!
It is not Coppermine that doesn't let you delete the picture, it is your FTP server. The problem is due to the configuration of your server. Try to delete your picture from within the script.
If PHP on your server runs under the 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.
0777 should not be the default mode for directories because it may be completely unsafe, if your gallery is running on a shared server and PHP safe mode is not enabled, anybody having an account on the server can 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 that. This issue is not specific to Photo galleries, it applies to all PHP scripts that create directories. Provided you have write access to a directory, you can delete any file it contains, even if you don't have write access to the file itself. |
The max. size of pics is limited by various settings - to find out why you can't upload big picks, check the following:
This is most likely a cookie issue:
By default the album appear in the order they were created. If you want to adjust the sorting order, do this:
By default, the pics are shown alphabetically when you edit them. To change the sorting order to "by date", edit editpics.php and change
$result = db_query("SELECT * FROM {$CONFIG['TABLE_PICTURES']} WHERE aid = '$album_id' ORDER BY filename LIMIT $start, $count");
to
$result = db_query("SELECT * FROM {$CONFIG['TABLE_PICTURES']} WHERE aid = '$album_id' ORDER BY pid LIMIT $start, $count");
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
$template_vars = array( '{LANG_DIR}' => $lang_text_dir, '{TITLE}' => $CONFIG['gallery_name'].' - '.$section, '{CHARSET}' => $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'], '{META}' => $meta, '{GAL_NAME}' => $CONFIG['gallery_name'], '{GAL_DESCRIPTION}' => $CONFIG['gallery_description'], '{MAIN_MENU}' => theme_main_menu(), '{ADMIN_MENU}' => theme_admin_mode_menu() ); echo template_eval($template_header, $template_vars);will become
$template_vars = array( '{LANG_DIR}' => $lang_text_dir, '{TITLE}' => $CONFIG['gallery_name'].' - '.$section, '{CHARSET}' => $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'], '{META}' => $meta, '{GAL_NAME}' => $CONFIG['gallery_name'], '{GAL_DESCRIPTION}' => $CONFIG['gallery_description'], ); echo template_eval($template_header, $template_vars);and
$template_vars = array( '{MAIN_MENU}' => theme_main_menu(), '{ADMIN_MENU}' => theme_admin_mode_menu() ); echo template_eval($template_footer, $template_vars);
edit
login.php
and search for
pageheader($lang_login_php['login'],"<META http-equiv=\"refresh\" content=\"3;url=$referer\">");
and add before it
$referer = 'index.php?cat='.(FIRST_USER_CAT+$USER_DATA['user_id']);
edit
displayimage.php and index.php and search.php and thumbnails.php
and search for
require('include/init.inc.php');
if (USER_ID){ } else { { $redirect = $redirect . "login.php"; header("Location: $redirect"); exit(); } }
Warning: this is quite a complicated hack for a newbie to perform!
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 = 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 = 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` );
(If your table_prefix is not cpg11d_ then you need to change it in the query)
edit displayimage.php and change
$info[$CONFIG['user_field'.$i.'_name']] = make_clickable($CURRENT_PIC_DATA['user'.$i]);
into
$info[$CONFIG['user_field'.$i.'_name']] = bb_decode($CURRENT_PIC_DATA['user'.$i]);
In order to allow the use of BBCodes in 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 (which of course have to be enabled first in the config page)
$sort_array = array('na' => 'filename ASC', 'nd' => 'filename DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC');to
$sort_array = array( 'na' => 'filename ASC', 'nd' => 'filename DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC', 'f1a' => 'user1 ASC', 'f1d' => 'user1 DESC', 'f2a' => 'user2 ASC', 'f2d' => 'user2 DESC', 'f3a' => 'user3 ASC', 'f3d' => 'user3 DESC', 'f4a' => 'user1 ASC', 'f4d' => 'user1 DESC' );
// The sort order options are not available for meta albums if ($sort_options){ $param = array( '{ALBUM_NAME}' => $album_name, '{AID}' => $aid, '{PAGE}' => $page, '{NAME}' => $lang_thumb_view['name'], '{DATE}' => $lang_thumb_view['date'], '{SORT_NA}' => $lang_thumb_view['sort_na'], '{SORT_ND}' => $lang_thumb_view['sort_nd'], '{SORT_DA}' => $lang_thumb_view['sort_da'], '{SORT_DD}' => $lang_thumb_view['sort_dd'], );
// The sort order options are not available for meta albums if ($sort_options){ $param = array( '{ALBUM_NAME}' => $album_name, '{AID}' => $aid, '{PAGE}' => $page, '{NAME}' => $lang_thumb_view['name'], '{DATE}' => $lang_thumb_view['date'], '{SORT_NA}' => $lang_thumb_view['sort_na'], '{SORT_ND}' => $lang_thumb_view['sort_nd'], '{SORT_DA}' => $lang_thumb_view['sort_da'], '{SORT_DD}' => $lang_thumb_view['sort_dd'], // Exxodus Sorting '{FIELD1}' => $CONFIG['user_field1_name'], '{FIELD2}' => $CONFIG['user_field2_name'], '{FIELD3}' => $CONFIG['user_field3_name'], '{FIELD4}' => $CONFIG['user_field4_name'], // Exxodus Sorting );
// HTML template for title row of the thumbnail view (album title + sort options) // Exxodus (Adding Sorting by UserField) $template_thumb_view_title_row = <<<EOT <table width="100%" cellpadding="0" cellspacing="0"> <tr> <td width="100%" class="statlink"><h2>{ALBUM_NAME}</h2></td> <td><img src="images/spacer.gif" width="1"></td> <td class="sortorder_cell"> <table height="100%" cellpadding="0" cellspacing="0"> <tr> <td class="sortorder_options">{NAME}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=na" title="{SORT_NA}">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=nd" title="{SORT_ND}">&-&</a></span></td> </tr> <tr> <td class="sortorder_options">{DATE}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=da" title="{SORT_DA}">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=dd" title="{SORT_DD}">&-&</a></span></td> </tr> </table> </td> <td><img src="images/spacer.gif" width="10"></td> <td class="sortorder_cell"> <table height="100%" cellpadding="0" cellspacing="0"> <tr> <td class="sortorder_options">{FIELD1}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f1a">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f1d">&-&</a></span></td> </tr> <tr> <td class="sortorder_options">{FIELD2}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f2a">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f2d">&-&</a></span></td> </tr> </table> </td> <td><img src="images/spacer.gif" width="10"></td> <td class="sortorder_cell"> <table height="100%" cellpadding="0" cellspacing="0"> <tr> <td class="sortorder_options">{FIELD3}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f3a">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f3d">&-&</a></span></td> </tr> <tr> <td class="sortorder_options">{FIELD4}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f4a">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f4d">&-&</a></span></td> </tr> </table> </td> </tr> </table> EOT;
edit /includes/picmgmt.inc.php and search for
$imagesize = getimagesize($image);
replace with:
$imagesize = getimagesize($image,&$info); $iptc = iptcparse($info["APP13"]); if (is_array($iptc)) { $caption.=$iptc['2#120'][0]; $title.=$iptc['2#105'][0]; (is_array($iptc['2#025'])) && ($keywords.=implode(" ", $iptc['2#025'])); }This hack hasn't been tested, use at your own risk...!
Edit /themes/yourtheme/theme.php, look for echo $template_footer and add the stuff you want to output in a line before it, like print '<span class="footer"><a href="http://www.mylink.com/foo.htm">My Link</a></span>';
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 :
No, this is simply not the way coppermine works; for "normal" pages the name of the extension tells the webserver wether 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 it!
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:
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".
Sometimes you also need to edit your php.ini file (located in windows directory normally) and remove the ";" that is at the beggining 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 may need to restart your webserver.
ImageMagick it quite complicated to use under Windows
Greg
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.
No problem with that, everyone has been a newbie once he started, but: please don't start each and every posting by stating "I'm a newbie", "I don't know anything about PHP" etc.
Mostly, one can tell that by your question itself, no need to apologize...
The support board is not a hotline. Although there are many visitors to the site, only a few do actually support - on a free, voluntary base. We don't get paid for it, we have a life, a job, a family. We are away sometimes.
If you don't get an answer to your question:
If you have a question, make sure you provide as much information as possible:
Please do not post in another language than English - this way, others may benefit from your question (and the answer), too. Don't be afraid to write "bad english" - no one will laugh at you, and most visitor's first language isn't english either!
No you mustn't! Post your question on the Coppermine support board (publicly) - if we (the community) don't find a solution and I have the time and I want to I'll email/pm/im you!
We are a group of people who decided to form a team to develop Coppermine further - check the team page for details...