最新xoops模組開發
一、流程
- switch
#---- 複製商品資料
case "opCopy":
opCopy($sn);
XoopsCache::clear();
redirect_header($_SESSION['return_url'], 3, "複製成功!!");
exit;
二、函數
- opCopy($sn = "")
########################################
# 複製商品資料
########################################
function opCopy($sn = "") {
global $xoopsDB, $xoopsTpl, $module_name, $ugmKind, $xoTheme;
#強制關除錯
//ugm_module_debug_mode(0);
//----------------------------------*/
#得到商品資料
$row = get_ugm_module_tbl($sn, "cnu_show_prod");
$row['date'] = strtotime("now");
$row['enable'] = 1;
if($row['sn']){
#複寫商品資料
$sql = "insert into " . $xoopsDB->prefix("cnu_show_prod") . "
(`title`,`youtube`,`kind`,`date`,`enable`,`choice`,`sort`,`unit`,`standard`,`size`,`content`,`summary`)
values
('{$row['title']}','{$row['youtube']}','{$row['kind']}','{$row['date']}','{$row['enable']}','{$row['choice']}','{$row['sort']}','{$row['unit']}','{$row['standard']}','{$row['size']}','{$row['content']}','{$row['summary']}')";
$xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'], 3, web_error());
//取得最後新增資料的流水編號
$copy_sn = $xoopsDB->getInsertId();
#複製圖片
$col_name = "prod";
$sql = "select *
from " . $xoopsDB->prefix("cnu_show_files_center") . "
where col_name='{$col_name}' and col_sn='{$sn}'"; //die($sql);
$result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'], 3, web_error());
$row = $xoopsDB->fetchArray($result);
#檢查是否有圖檔
if($row['files_sn']){
#寫入資料庫
$ext = $row['file_type'] == "image/png" ? "png" :"jpg";
$file_name = "prod_{$copy_sn}_1.{$ext}";
$sql = "insert into " . $xoopsDB->prefix("cnu_show_files_center") . "
(`col_name` , `col_sn` ,`sort` ,`kind` , `file_name`,`file_type`,`file_size`,`description`,`counter`,`original_filename`,`hash_filename`,`sub_dir`)
values
('{$row['col_name']}' ,'{$copy_sn}' ,'{$row['sort']}' , '{$row['kind']}','{$file_name}' ,'{$row['file_type']}','{$row['file_size']}','{$row['description']}',0,'{$row['original_filename']}','{$row['hash_filename']}','{$row['sub_dir']}')";//die($sql);
$xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'], 3, web_error());
//取得最後新增資料的流水編號
//$pic_sn = $xoopsDB->getInsertId();;
#複製實體檔案
copy(XOOPS_ROOT_PATH."/uploads/{$module_name}/prod/{$row['file_name']}", XOOPS_ROOT_PATH."/uploads/{$module_name}/prod/{$file_name}");
copy(XOOPS_ROOT_PATH."/uploads/{$module_name}/prod/thumbs/{$row['file_name']}", XOOPS_ROOT_PATH."/uploads/{$module_name}/prod/thumbs/{$file_name}");
}
#複製pdf
$col_name = "prodPdf";
$sql = "select *
from " . $xoopsDB->prefix("cnu_show_files_center") . "
where col_name='{$col_name}' and col_sn='{$sn}'"; //die($sql);
$result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'], 3, web_error());
$row = $xoopsDB->fetchArray($result);
if($row['files_sn']){
#寫入資料庫
$file_name = "prodPdf_{$copy_sn}_1.pdf";
$sql = "insert into " . $xoopsDB->prefix("cnu_show_files_center") . "
(`col_name` , `col_sn` ,`sort` ,`kind` , `file_name`,`file_type`,`file_size`,`description`,`counter`,`original_filename`,`hash_filename`,`sub_dir`)
values
('{$row['col_name']}' ,'{$copy_sn}' ,'{$row['sort']}' , '{$row['kind']}','{$file_name}' ,'{$row['file_type']}','{$row['file_size']}','{$row['description']}',0,'{$row['original_filename']}','{$row['hash_filename']}','{$row['sub_dir']}')";
$xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'], 3, web_error());
//取得最後新增資料的流水編號
$pdf_sn = $xoopsDB->getInsertId();
#複製實體檔案
if (copy(XOOPS_ROOT_PATH."/uploads/{$module_name}/prod/file/{$row['file_name']}", XOOPS_ROOT_PATH."/uploads/{$module_name}/prod/file/{$file_name}")) {
// 檔案複製成功
} else {
// 檔案複製失敗
}
}
}else{
redirect_header($_SESSION['return_url'], 3, "複製商品失敗");
}
return;
}