目前有 位參觀者訪問此站,since 2006/07/12 , google 評估之網頁重要性為 : Search Engine Optimization
免費註冊 幸運草相簿 blog申請 短網址 萬年曆 bbs聊天室教學 webbbs 奇想西卡 返回首頁
目前線上: 3
ftp公告
綜合公告
相簿公告
bbs公告
blog公告
好康報報
幸運草之戀網路服務 / 相簿公告 / [教學] cpg官方F&Q
[教學] cpg官方F&Q
2006-07-14          按這裡: 13293
[教學] cpg官方F&Q
{官方} CPG FAQ
« 於: 十二月 28, 2004, 06:49:13 pm »
引用回覆

這是翻譯官方提供的 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
責任編輯: segaa
Email給朋友 列印本文
如果你想對該文章評分, 請先登入, 如果你仍未註冊,請按這裡註冊連結註冊成為本站會員.
平均得分 0, 共 0 人評分
1 2 3 4 5 6 7 8 9 10
Copyright © 2006
幸運草之戀網路服務

All rights reserved.
Powered by: segaa.net