線上書籍

Home

[1071]XOOPS模組開發

<?php function xoops_module_update_snews(&$module, $old_version) { global $xoopsDB; mk_group('編輯群'); // if (chk_chk1()) { // go_update1(); // } return true; } function mk_group($name = "") { global $xoopsDB; $sql = "select groupid from " . $xoopsDB->prefix("groups") . " where `name`='$name'"; $result = $xoopsDB->query($sql) or web_error($sql); list($groupid) = $xoopsDB->fetchRow($result); if (empty($groupid)) { $sql = "insert into " . $xoopsDB->prefix("groups") . " (`name`) values('{$name}')"; $xoopsDB->queryF($sql) or web_error($sql); //取得最後新增資料的流水編號 $groupid = $xoopsDB->getInsertId(); } return $groupid; } //檢查某欄位是否存在 function chk_chk1() { global $xoopsDB; $sql = "select count(`欄位`) from " . $xoopsDB->prefix("資料表"); $result = $xoopsDB->query($sql); if (empty($result)) { return true; } return false; } //執行更新 function go_update1() { global $xoopsDB; $sql = "ALTER TABLE " . $xoopsDB->prefix("資料表") . " ADD `欄位` smallint(5) NOT NULL"; $xoopsDB->queryF($sql) or redirect_header(XOOPS_URL, 3, mysql_error()); return true; } //建立目錄 function mk_dir($dir = "") { //若無目錄名稱秀出警告訊息 if (empty($dir)) { return; } //若目錄不存在的話建立目錄 if (!is_dir($dir)) { umask(000); //若建立失敗秀出警告訊息 mkdir($dir, 0777); } } //拷貝目錄 function full_copy($source = "", $target = "") { if (is_dir($source)) { @mkdir($target); $d = dir($source); while (false !== ($entry = $d->read())) { if ($entry == '.' || $entry == '..') { continue; } $Entry = $source . '/' . $entry; if (is_dir($Entry)) { full_copy($Entry, $target . '/' . $entry); continue; } copy($Entry, $target . '/' . $entry); } $d->close(); } else { copy($source, $target); } } function rename_win($oldfile, $newfile) { if (!rename($oldfile, $newfile)) { if (copy($oldfile, $newfile)) { unlink($oldfile); return true; } return false; } return true; } function delete_directory($dirname) { if (is_dir($dirname)) { $dir_handle = opendir($dirname); } if (!$dir_handle) { return false; } while ($file = readdir($dir_handle)) { if ($file != "." && $file != "..") { if (!is_dir($dirname . "/" . $file)) { unlink($dirname . "/" . $file); } else { delete_directory($dirname . '/' . $file); } } } closedir($dir_handle); rmdir($dirname); return true; }