FAQ for Coppermine Photo Gallery v1.4.x
For credits and copyrights, see Coppermine documentation
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.
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.
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.
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 .
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 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 is an updated version of GD1 and, as such, 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 Coppermine readme file:
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 your site is being hosted by a webhost you can only contact your webhost and ask them to install it for you. If they refuse choose another webhost.
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.
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.
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:
NOTE: 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 (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.
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.
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'];
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 laterUnfortunately, 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.
Try to edit the file include/init.inc.php:
change
$PHP_SELF = isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : $_SERVER['SCRIPT_NAME'];to
$PHP_SELF = $_SERVER['PHP_SELF'];
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.
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'];
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).
Ask your webhost to make the above changes.
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.
Coppermine supports 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 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!
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.
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:
<?php
echo <<<EOT
Enter your header/footer content here. What you enter here will be displayed
at 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.)
(Assuming that you have already created at least one category and/or one album where the uploaded photos should go to):
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:
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:
<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>- If you're still unsure about this, just compare your theme's template.html with the default theme that comes with coppermine .
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 **************************************************************************/
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 :
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 apache servers AND only if you're allowed to use /htaccess files by your webhost or if you run your own server and "mod_rewrite" is enabled on your 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 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!
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. 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. |
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:
This is most likely a cookie issue:
By default the albums appear in the order they were created. If you want to adjust the sorting order, do the following:
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.
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".
By default, the pics are shown alphabetically when you edit them. To change the sorting order to "by date", edit editpics.php and change
$sql = "SELECT p.*,a.category FROM {$CONFIG['TABLE_PICTURES']} as p ". "INNER JOIN {$CONFIG['TABLE_ALBUMS']} as a ". "ON a.aid=p.aid ". "WHERE p.aid = '$album_id' ". "ORDER BY p.filename LIMIT $start, $count"; $result = cpg_db_query($sql);
$sql = "SELECT p.*,a.category FROM {$CONFIG['TABLE_PICTURES']} as p ". "INNER JOIN {$CONFIG['TABLE_ALBUMS']} as a ". "ON a.aid=p.aid ". "WHERE p.aid = '$album_id' ". "ORDER BY pid LIMIT $start, $count"; $result = cpg_db_query($sql);
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']);
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.
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)
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]);
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).
$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 this 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'])); }NOTE: This hack hasn't been thoroughly 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 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!
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".
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
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 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.
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:
If you have a question, make sure you provide as much information as possible:
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!
We have language-specific support boards for Chinese and French.
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...