這是翻譯官方提供的 FAQ, 請花點時間看看, 或遇到問題時來這找找看有沒有解決方法.
安裝安裝 CPG 所需配備- 任何 Web 伺服器, 建議使用 Apache (CPG 可用於 Apache, IIS, Roxen, WebServer, Abyss, JanaServer)
- PHP 4.1.0 或以上
- GD lib 或 ImageMagick
- MySQL 3.23.23 或以上 (建議使用 4.x). 請區分 Client API 版本 (可在 phpinfo 看到) 跟 MySQL 版本!
GD 是什麼, 要怎樣才能用?GD 是一種圖片編輯的擴充功能, 它可以讓 PHP 製作圖片. 您可以到
www.boutel.com/gd/ 下載. 依您的 (L)Unix 主機設定的情況而定, 您可能要重新編譯 PHP 或 Apache. 較新的 PHP 版本已包括 GD - 套件的版本 (package). 通常 Windows 主機只需要在 php.ini 檔案裡打開 GD 支援. 當然如果主機是你的話, 如果不是, 問您的管理員是否有支援 GD, 如果沒有也不打算支援那最好是換人做做看).
ImageMagick 是什麼, 要怎樣才能用?ImageMagick 是一種圖片編輯的的程式. 你可以到
imagemagick.org 下載. 官方提供了 Unix, Linux, Mac 和 Windows 的執行程式, 和給其他作業系統的編譯套件. 你只可以安裝 ImageMagick 如果主機是你自己的.
要怎麼知道我的 PHP 是什麼版本?新建一個 info.php 的檔案, 輸入 <?php phpinfo(); ?>, 儲存之後上傳到你的主機內. 然後執行 (
http://yourwebsite.com/info.php). 在網頁的最上方你會看到 "PHP Version X.Y.Z", 那就是你的 PHP 版本. 請注意把 info.php 留在你的網站內可能會有安全性的問題, 所以用完之後把他刪除, 或移到需密碼登入的網址.
CPG 1.3.0 或以上有提供 phpinfo, 在 CPG 的檔案夾裡 (但是你必須是管理員才能看的到) - 然後到
http://yourwebsite.com/cpg_dir/phpinfo.php.
要怎麼知道我的 GD 是什麼版本照上面的方法建立一個 phpinfo 檔案. 在 phpinfo 的網頁裡找 gd 你會看到下面這個:

請注意把 info.php 留在你的網站內可能會有安全性的問題, 所以用完之後把他刪除, 或移到需密碼登入的網址.
CPG 1.3.0 或以上有提供 phpinfo, 在 CPG 的檔案夾裡 (但是你必須是管理員才能看的到) - 然後到
http://yourwebsite.com/cpg_dir/phpinfo.php.
GD1 跟 GD2 的不同GD2 製作的圖片比較清楚. 請看下面的圖片:
 |  |
| GD 1.8.4: | GD 2.0.1: |
| ImageCreate | ImageCreateTrueColor |
| ImageCopyResized | ImageCopyResampled |
| 128x96 pixels | 128x96 pixels |
在 GD 升級之前所上傳的圖片不會因此改變, 只有新上傳的圖片才會比較清楚. 你不能升級或安裝 GD 除非你是用自己的主機.
CPG 安裝步驟跟安裝手冊裡面的步驟相同:
如何安裝 ImageMagick 或 GD?你可以安裝 ImageMagick 或 GD 如果你用的是自己的主機. 如果不是請叫你的主機管理員幫你安裝.
I'm short on webspace. Is there a "minimum install"?...skipped...
上傳一般疑難排解當進行疑難排解的動作時, 建議你在群組裡的 '上傳格式設定' 設定為 '上傳一個檔案', 然後開啟設定裡的 '啟動除錯模式'. 這樣可以先排除一些錯誤.
第一請先檢查 /albums, /albums/userpics, 和 /albums/edit 檔案夾的權限. 權限必須是 777 或 755. 如果你不知道怎麼設定 Unix 主機的權限, 請用 Google 尋找權限的教學. Windows 主機也有相同的權限設定, 通常用 FTP 軟體就可以設定.
檔案上傳是用 PHP 的設定來控制的.
然後檢查:
- max_input_time - 60秒是檔案上傳的限制, 也是 PHP 的預設值.
上傳限制包括上傳的時間, 如果上傳超過這個限制, 瀏覽器就不會有回應, 檔案也無法上傳. 解決辦法是上傳較小的檔案或用寬頻上傳. 最好的辦法是將上傳的時間限制增加高於60秒. - upload_max_filesize - 2MB 是每個檔案的限制, 也是 PHP 的預設值.
- post_max_size - 8MB 是 post 的回應限制, 也是 PHP 的預設值.
- memory_limit - 8MB 是記憶體的限制, 也是 PHP 的預設值
- LimitRequestBody - 512KB 是 PHP 的預設值. 通常 upload_max_filesize < post_max_size < memory_limit 才能成功上傳檔案. CPG 會警告你如果檔案大小大於 upload_max_size, 但是無法告訴你如果全部檔案超過 post 限制或記憶限制.
- file_uploads - 這個決定 PHP 是否允許檔案上傳, 必須是 'On'.
- upload_tmp_dir - 這個決定 PHP 暫時儲存檔案的檔案夾.
通常上傳的問題都是因為 open_basedir 的警告. 如果是, 那是因為你的主機管理員只允許 PHP 上傳檔案到某個檔案夾. 如果在 open_basedir 的限制內不設定一個暫時的檔案夾, PHP 會用作業系統的暫時檔案夾, 這樣上傳功能就會用 open_basedir 的緩衝限制.
一些 CPG 使用的上傳方法:
CPG 提供的多檔上傳功能是對小檔案設計的, 限制是10個檔案. 所以並不適合上傳大的檔案如果你不能控制你的 php.ini 設定.
如果你想一次上傳的檔案多於10個, 建議你用 '整批加入圖片' 功能或者是 XP Publisher 軟體. 兩種方法有它的好處和壞處.
'整批加入圖片' 比較快, 但是比較常發生超過限制的問題. XP Publisher 比較慢, 但是對主機的負荷較少. 還有可避免一些錯誤的 php.ini 設定因為它是用單一的 post 要求.
錯誤訊息安裝時遇到了 Fatal error: Call to undefined function: imagecreateformjpeg() in /include/picmgmt.inc.php on line 168.這個訊息表示安裝的 PHP 不支援 GD.
如果你有 ImageMagick 你可以用那個代替, 或請你的主機管理員幫你編譯 GD 支援 (GD 已包含在新的 PHP 版本). CPG 必須要有 GD 或 ImageMagick 才能使用.
安裝時遇到了 Warning: mkdir(dummy) [function.mkdir]: Permission denied in /your/path/to/coppermine/install.php on line 126.指令碼必須有可讀寫和刪除的權限.
- *nix/linux 主機:
設定 CPG 檔案夾 (和子檔案夾) 755 (rwxr-xr-x) 的權限. 權限的教學請到網路尋找. - Windows/IIS:
檢查執行指令碼的用戶 (通常是 IUSR) 是否有讀/寫/改變/刪除 CPG 檔案夾的權限. Windows 主機的權限教學請到網路尋找. - Windows/Apache:
檢查使用 Apahce 的用戶是否有正確的權限
出現錯誤 "Warning: Empty Delimiter in search.inc.php line 33".編輯檔案 include/search.inc.php
Find:
$charset = $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'];
Replace with:
$charset = $CONFIG['charset'] == 'language file' ? $GLOBALS['lang_charset'] : $CONFIG['charset'];
安裝時出現 "Zero Sized Reply".之前有些會員在安裝 CPG 時遇到下面的錯誤:
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
到目前為止還未找到解決的辦法, 如果你遇到這個錯誤, 很抱歉你不能用 CPG. 如果你知道為什麼會出現這個錯誤, 或是有解決的辦法, 請到
官方的論壇或在這通知版主.
出現錯誤 "Warning: Undefined index: SCRIPT_NAME in /www.yourwebsite.com/include/init.inc.php on line 90."打開 include/init.inc.php:
Find:
$PHP_SELF = isset($HTTP_SERVER_VARS['REDIRECT_URL']) ? $HTTP_SERVER_VARS['REDIRECT_URL'] : $HTTP_SERVER_VARS['SCRIPT_NAME'];
Replace with:
$PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
當會員上傳照片時出現錯誤訊息 "Impossible to move somepic.jpg to albums/userpics/ | Warning: move_uploaded_file(/tmp/phpezCYKr) [funciton.move-uploaded-file]: failed to create stream: Operation not permitted."如果遇到這個問題, 你必須通知主機的管理員. 你沒辦法改變暫時檔案夾的位址 (必須在 php.ini 裡改).
如果你的主機有 open_basedir 的限制, 暫時檔案夾的位址必須是你可以讀寫的位址.
當上傳時出現錯誤訊息 "Warning: Undefined variable: HTTP_POST_VARS in include/init.inc.php on line 43."檢查你的 PHP 版本是否可安裝 CPG. 如果版本是高於 4.1.0 那你的主機可能設定錯誤. 如果主機不是你的, 你可以用下面的方法 (有問題自負):
打開 init.inc.php:
Find:
$PHP_SELF = isset($HTTP_SERVER_VARS['REDIRECT_URL']) ? $HTTP_SERVER_VARS['REDIRECT_URL'] : $HTTP_SERVER_VARS['SCRIPT_NAME'];
Replace with:
$PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
設定 / 管理要如何在相簿介紹或是圖片標題內加上連結?CPG 可以在相簿介紹和圖片介紹內使用下面的 BBCode:
[b]bold text[/b]
[i]italic[/i]
[url=http://www.foo.com/bar.html]URL text[/url]
[email]user@domain.tld[/email]
我不想在首頁顯示最新上傳的圖片, 要怎樣才能編輯首頁顯示的東西呢?登入相簿的管理帳號, 然後到管理頁面.
在 '主頁的內容' 你可以輸入下面的關鍵字:
- breadcrumb: 在相簿內的連結顯示方法 (例如: "首頁 > 類別 > 子類別 > 相簿")
- catlist: 類別列表
- alblist: 相簿列表
- random: 隨機圖片 (如果你有很多照片, 在主頁顯示隨機照片可能會負荷你的主機.)
- lastup: 最新上傳
- topn: 熱門圖片
- toprated: 最多評價
- lastcom: 最新留言
- lasthits: 最後觀看的圖片
- anycontent: 輸入 PHP 的動態資料, 資料必須是在 'anycontent.php' 檔案內. 可以用來使用類似廣告的指令碼
(範例: catlist/alblist/random,2/lastup,2 表示在主也顯示 "類別列表, 相簿列表, 兩行的隨機圖片, 兩行的最後上傳圖片")
要怎麼編輯/移除 "Powered by Coppermine"?CPG 的版權訊息是絕對不能移除的! 這個相簿已經免費讓你使用了你還求什麼呢? 如果你真的想要改, 譬如說改變顏色, 字型等等, 你可以改它的 CSS 樣式, themes/yourtheme/style.css. 但是版權的字型顏色不能跟你的背景顏色相同.
我想要買 CPG 的版權然後移除 "Powered by Coppermine" 訊息CPG 相簿程式是一個自由軟體, 使用的是 GNU/GPL 授權合約. 你可以編輯程式碼, 但是不能出售這個程式. 所以官方不會把 CPG 賣給你的. 詳情請看 CPG 目錄裡的 COPYING 檔案.
我不想用 CPG 提供的某個功能, 要怎麼移除?你只需要移除功能的連結. 打開 /themes/yourtheme/theme.php 然後找你要移除的功能, 然後加上 html 註解.
例如: 你想要移除 ecard 的功能,
Find:
<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>
Replace 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>-->
要怎麼加上自製的標題/註腳?如果你要加上靜態的 html 內容,譬如說網站 logo,編輯 /themes/yourtheme/template.html - 然後進行修改,但是注意不要刪除任何括號內的訊息。
如果你要加上動態的網頁 (像 php 程式碼),編輯 /themes/yourtheme/theme.php。
如果你只要修改相簿的顏色或其它的css樣式,編輯 /themes/yourtheme/style.css。
如果你懂 php 而且想要用 php includes,在 /themes/yourtheme/theme.php 裡面找 function pageheader 然後照下面的方法修改:
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);
}
最後你需要在 template.html 檔案內加上 {CUSTOM_HEADER}。
該如何建立一個相簿讓大家上傳圖片?(假設你已經建立了至少一個類別和一個相簿來存放圖片):
- 登入管理帳號
- 管理模式
- 群組
- 在群組 "anonymous" 裡給配額和上傳權限
- 點相簿目錄
- 選擇類別
- 點相簿旁邊的屬性
- 將 '訪客可上傳圖片' 改為 '是' 然後更新
- 最後提供上傳的連結到選單內 (可加在 /themes/yourtheme/theme.php)
該如何備份 CPG 的資料庫CPG 沒有內建的備份功能, 未來可能會提供. 在未提供前你可以用 FTP 將 CPG 目錄備份到你的電腦裡, 然後用 phpMyAdmin 來備份資料庫.
當點中級圖片時完整大小的圖片不會彈出, 為什麼?你可能在 template.html 禮移除了不該移除的東西. 裡面必須包括 <script type="text/javascript" src="scripts.js"></script>. template.html 裡面的 <head> 標籤必須跟下面一樣:
<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>
對未註冊的使用者顯示縮圖, 不顯示完整圖片修改 displayimage.php 然後照下面修改:
尋找:
/**************************************************************************
* Local functions definition
**************************************************************************/
前面加上:
if (!USER_ID) cpg_die(ERROR, 'You need to register to access this page', __FILE__, __LINE__);
要如何防止其他網頁連結我的圖片?要防止盜連你可以建立一個 .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>
將
www.yourdomain.com 改成你的網址. 上面的方法只能用在 linux/unix 主機, 如果主機允許的話.
在設定頁面內不能改變語系?你可能設定了 "文字編碼" 為 UTF-8. 當選擇 UTF-8 時, CPG 會以瀏覽器的設定來設定你的語系, 然後儲存在 cookie 裡面. 這會覆蓋你在設定頁面所選的語系.
解決辦法:
要怎麼讓未註冊的使用者也能留言?- 登入管理帳號
- 管理模式
- 群組
- "anonymous" 的 "允許貼出留言" 選 "是"
如果要改變現有的相簿:
- 登入管理帳號
- 管理模式
- 類別列表內點相簿
- 點屬性
- 相簿權限->訪客可發表留言 選 "是"
不能用上傳功能上傳圖片如果你看到的錯誤訊息是 "No picture was uploaded. If you have really selected a picture to upload, check that the server allows file uploads..." 請先檢查主機的 http 上傳是否有問題 - 主機設定有可能關閉上傳功能或設定錯誤. 看你的 phpinfo() 的 "file_uploads" 是不是 ON, "upload_max_filesize" 大於 2M 或 "upload_tmp_dir" 是否正確的資料夾.
要如何改變類別的排序
不能用 FTP 刪除相片?這不是CPG的問題,是你主機的設定不允許你用 FTP 刪除圖片。試著用CPG的介面刪除圖片。
如果主機內的PHP是安裝於nobody的權限,任何PHP建立的檔案就會有nobody的權限。這個沒有辦法改變。
為什麼我不能上傳大型圖片?圖片的上傳限制是限制於很多地方,如果你不能上傳圖片,請檢查下面的設定:
- 確定主機還有額外的空間 (記的必須容許上傳的圖片,中級圖片,和縮圖)
- 檢查群組的上傳配額
- 瀏覽器上傳逾時,特別是 IE。如果你的圖片上傳太久可能會出現逾時的錯誤。
- PHP 內可以設定上傳功能。如果你的主機不是自己的,請通知你的管理員。如果是自己的請檢查 php.ini 內的 LimitRequestBody - 這是用來限制 php/html 可上傳的檔案大小。
為什麼我不能登入 CPG?這可能是 cookie 的問題。IE 可以讓你設定 cookie,請檢查是否有誤。或是檢查可能妨礙 cookie 的軟體,像防毒軟體,防火牆等等。
要怎麼移動相簿到別的類別?- 登入管理帳號
- 點類別
- 點要移動的相簿的屬性
- 在相簿旁的下拉式選單可以選要移動到的類別
- 點更新
要怎麼排序相簿?相簿的排序是以建立的日期來訂的,如果要改變可以用下面的方法:
- 登入管理帳號
- 管理模式
- 相簿
- 選擇類別
- 點相簿一下
- 用上跟下的小圖示來改變排序
- 最後改變設定
我不想用中級圖片,要怎麼刪除?
CPG 的相簿和目錄說明當你在 CPG 的介面建立相簿時,CPG 並不會在你的主機內建立檔案目錄。
上傳的圖片位址完全是以資料庫來決定,圖片上傳到你的主機後不會被移動。
如果你是用 CPG 的介面上傳圖片,CPG 會把圖片放置在 userpics 目錄。
如果你是用 FTP 上傳圖片,你要先在 albums 目錄下建立一個新的目錄,但不能在 userpics 裡面。
你可以建立任何數量的目錄和子目錄,也可以用任何名稱。
當你用 批量上傳 的功能,CPG 會問你要把圖片放到哪個相簿,但是主機內的圖片位址不會改變。
Add-ons / Modifications / Hacks當編輯圖片時,要怎麼改變它的排序?當你編輯圖片時,預設是以字母來排序。如果要用日期來排序,編輯 editpics.php:
Find:
$result = db_query("SELECT * FROM {$CONFIG['TABLE_PICTURES']} WHERE aid = '$album_id' ORDER BY filename LIMIT $start, $count");
Replace with:
$result = db_query("SELECT * FROM {$CONFIG['TABLE_PICTURES']} WHERE aid = '$album_id' ORDER BY pid LIMIT $start, $count");
要如何在相簿右邊顯示功能選項?當網頁開啟 template.html 時,它會被分為兩半。出現在 {GALLERY} 之前的訊息是函式 pageheader 的輸出。
之後的訊息是 pagefooter 函式。
如果你的功能選項是出現在 footer 裡面,編輯 theme.php:
Find:
$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);
Replace with:
$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);
Find:
echo $template_footer;
Replace with:
$template_vars = array(
'{MAIN_MENU}' => theme_main_menu(),
'{ADMIN_MENU}' => theme_admin_mode_menu()
);
echo template_eval($template_footer, $template_vars);
要如何將會員在登入後直接帶到他的私人相簿?編輯 login.php
Find:
pageheader($lang_login_php['login'],"<META http-equiv=\"refresh\" content=\"3;url=$referer\">");
Add before:
$referer = 'index.php?cat='.(FIRST_USER_CAT+$USER_DATA['user_id']);
要如何避免未登入的會員瀏覽相簿?編輯 displayimage.php:
Find:
require('include/init.inc.php');
Add after:
if (USER_ID){
} else {
{
$redirect = $redirect . "login.php";
header("Location: $redirect");
exit();
}
}
要如何在圖片資訊裡面顯示上傳的會員名稱?編輯 displayimage.php:
Find:
$info[$lang_picinfo['Filename']] = htmlspecialchars($CURRENT_PIC_DATA['filename']);
Add after:
$info[$lang_picinfo['Username']] = htmlspecialchars($CURRENT_PIC_DATA['user_name']);
編輯 /include/functions.inc.php:
在 function get_pic_date() 裡:
Find:
if($select_columns != '*') $select_columns .= ', title, caption';
Replace with:
if($select_columns != '*') $select_columns .= ', title, caption, user_name';
Find:
$result = db_query("SELECT $select_columns from {$CONFIG['TABLE_PICTURES']} WHERE aid='$album' $approved $ALBUM_SET ORDER BY $sort_order $limit");
Replace 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")
編輯 /lang/yourlang.php:
Find:
$lang_picinfo = array(
Add after:
'Username' => 'Username',
最後在資料庫執行下面的資料 (可以用 phpMyAdmin):
ALTER TABLE 'cpg11d_pictures' ADD INDEX ('owner_id');
改變 cpg11d 成你自己的 CPG 前置字元。
要怎麼在自訂的欄位裡允許可點的連結?編輯 displayimage.php:
Find:
$info[$CONFIG['user_field'.$i.'_name']] = make_clickable($CURRENT_PIC_DATA['user'.$i]);
Replace with:
$info[$CONFIG['user_field'.$i.'_name']] = bb_decode($CURRENT_PIC_DATA['user'.$i]);
現在你可以在自訂欄位裡用下面的方法來輸入連結:
[url]http://example.com[/url]
[url=http://example.com]This is an example[/url]
要如何以自訂欄位來排序縮圖?編輯 /includes/functions.inc.php:
Find:
$sort_array = array('na' => 'filename ASC', 'nd' => 'filename DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC');
Replace with:
$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'
);
編輯 /themes/yourtheme/theme.php:
Find:
// 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'],
);
Replace with:
// 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
);
Find:
$template_thumb_view_title_row
Replace with:
// 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;
要如何開啟 IPTC 的支援?編輯 /includes/picmgmt.inc.php:
Find:
$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']));
}
未測試過,也可能不能用。
要如何在 "Powered by Coppermine" 前面輸出資料?編輯 /themes/yourtheme/theme.php:
Find:
echo $template_footer
Add before (你要輸出的資料):
print '<span class="footer"><a href="http://www.mylink.com/foo.htm">My Link</a></span>';
可以把 template.html 改成 template.php 然後加入 php 程式碼嗎?不能,CPG 用 template.html 是為了讓編輯能夠簡單點。
template.html 不會跟 .php 的檔案一樣來處理。
也不能把 php 放在 template.html 裡面。
要如何避免訪客儲存我的圖片?如果圖片出現在訪客的瀏覽器內,是沒有辦法完全避免儲存的。
如果真的不想讓其他人儲存你的圖片,最好的方法就是不要放在網路上,或用下面的方法:
- 上傳圖片前加上 watermark。
- 到官方論壇的 Watermark hack 版面找適合你的 watermark 功能。
記得那些外掛是在訪客瀏覽圖片時加上 watermark,所以主機的負荷可能會加大。 - 避免 IE 顯示儲存圖片的功能 (當滑鼠移到圖片上時)。
編輯 themes/yourtheme/template.html,<head> 裡面加上 <meta http-equiv="imagetoolbar" content="no" />。 - 或用避免右鍵的 javascript,這些可以到網路上找。
來源:http://coppermine.sourceforge.net/faq.php