2008年3月31日 星期一

動態增加table


function AddRecord()
{
var row = activeTable.insertRow(activeTable.rows.length);
//id=recordTable
var col = row.insertCell(0);
var i = row.rowIndex;
col.innerHTML = "";

col = row.insertCell(1);

col.innerHTML = "";

col = row.insertCell(2);
col.innerHTML = "";
}

tycx0.96.04

好久沒上來寫了
tycx 0.96.04 版的新增功能如下
涵蓋20080331以前台南縣修改的模組
X導師增加 評語
X成績管理 增加 [i] 學生名條下載
X核心 將分科套用至全學年設定成預設值
quizz用新版
其它的小修正

2008年3月10日 星期一

class_list的程式


  $cl_base=array();
$cl_list=array();
$cl_url=array();

function addbase($cl_name,$url) {
global $cl_base;
$cl_base['name'][] = $cl_name;
$cl_base['url'][]=$url;
}

function addlist($cp_name,$c_name,$url) {
global $cl_list,$cl_url;
$cl_list[$cp_name][]=$c_name;
$cl_url[$c_name]=$url;
}

function printfile($path,$len,$new_line) {

$d = dir($path);
while($entry=$d->read()) {
if (($entry != "..") && ($entry != ".")) {
if (substr($entry,-3)=='php') {
$tt='';
for ($i=0;$i<$len;$i++) { $tt.='----';}
$tt.=$entry;
$fp=fopen($path .'/'. $entry,"r");
$show=0;
while (!feof($fp)) {
$ff = fgets($fp,9999);
$tf = trim($ff);
if (substr($tf,0,6)=='class ') {
$show=1;
$tf_arr = explode('extends',substr($tf,6));
if (count($tf_arr)==1) { // no extend
$classname_arr = explode(' ',trim($tf_arr[0]));
$real_name = $classname_arr[0];
if (substr($real_name,-1)=='{') $real_name=substr($real_name,0,strlen($realname)-1);
$tt .= '>'.$real_name;
addbase($real_name,$path .'/' . $entry);
} else {
$classname_arr = explode(' ',trim($tf_arr[0]));
$real_name = $classname_arr[0];
if (substr($real_name,-1)=='{') $real_name=substr($real_name,0,strlen($realname)-1);
$tt .= '>'.$real_name;
//echo '>'.$classname_arr[0];
$classp_arr = explode(' ',trim($tf_arr[1]));
$real_name2 = $classp_arr[0];
if (substr($real_name2,-1)=='{') $real_name2=substr($real_name2,0,strlen($realname2)-1);
$tt .= '-'.$real_name2;
addlist($real_name2,$real_name,$path .'/' . $entry);
}

} elseif (substr($tf,0,9)=='function ') {
$tt2=explode(')',trim($tf));


echo $real_name .' '. $tt2[0].')' . $new_line;

}
}
//if ($show)
// echo $tt.$new_line;
}

if (is_dir($path."/" . $entry )) {
//for ($i=0;$i<$len;$i++) { echo '---*';}
//echo $entry . $new_line;
printfile($path . "/" .$entry, $len+1,$new_line);
}

}
}

}

function printsubclass($cl_name,$lvl) {
global $new_line,$cl_list,$cl_url,$len;
foreach ($cl_name as $cl) {
for ($i=0;$i<$lvl;$i++) { echo '----';} {
echo $cl .'--->'.substr($cl_url[$cl],$len). $new_line;
printsubclass($cl_list[$cl],$lvl+1);
}
}
}
/*
$path1="D:\\tycx\html\kernel";
$path2="D:\\tycx\html\class";
$path3="D:\\tycx\html\include";
*/

$path1="D:\\tycx\html";
$len=strlen($path1);
//$path2="D:\\tycx\html\modules\x_scorem";
//$path3="D:\\tycx\html\modules\x_shepherd";




$new_line = "\r\n";

printfile($path1,0,$new_line);
//printfile($path2,0,$new_line);
//printfile($path3,0,$new_line);

foreach ($cl_base['name'] as $i=>$cl) {
echo $cl . ' ' .substr($cl_base['url'][$i],$len) . $new_line;
printsubclass($cl_list[$cl],1);

}

2008年3月9日 星期日

備份資料表

function backup_table($table_name){
global $xoopsDB;
$new_tb='backup_'.$table_name.'_'.date("Y_m_d_H_i_s");
$sql="SHOW CREATE TABLE ". $xoopsDB->prefix("$table_name");
$result = mysql_query($sql); $row = mysql_fetch_array($result);
$struc = $row[1];
$p = strtolower($xoopsDB->prefix("$table_name"));
$struc=str_replace ($p,$new_tb,$struc);
mysql_query($struc) or die($struc);
$sql_backup="INSERT INTO $new_tb SELECT * FROM ".$xoopsDB->prefix("$table_name") ;
mysql_query($sql_backup) or die($sql_backup);
}

還原資料表
function restore_table($table_name,$backup_name) {
$sql= "TRUNCATE TABLE ".$table_name;
mysql_query($sql) or die($sql);
$sql_restore="INSERT INTO $table_name SELECT * FROM $backup_name";
mysql_query($sql_restore) or die($sql_restore);
}