タグで改行する(1)、
(0)
define(FLG_NR, '0');
// 西暦4桁で処理する(1)、2桁(0)
define(FLG_YR, '1');
//
define(EDIT_NEWFILE, '(新規入力)');
// 保存フォルダ&対応するカテゴリ名。冒頭に./は付けない
$category_index = array('diary','info','software');//これを rnote_config.php から得る方法がなさげ…。
$logfolder = array('entries/diary/','entries/info/','entries/software/');
$logf_name = array('日記','情報','ソフトウェア');//これを rnote_config.php から得るとカレンダー(月)まで得てしまうかも。
// 内部コードを UTF-8 に指定。
mb_internal_encoding('UTF-8');
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function get_from_tag($tagname, $src)
{
//
$ret = array();
mb_eregi("<".$tagname.">.*".$tagname.">", $src, $ret);
$ret2 = $ret[0];
$ret2 = mb_substr($ret2, mb_strlen("<".$tagname.">"));
$ret2 = mb_substr($ret2, 0, mb_strlen($ret2) - mb_strlen("".$tagname.">"));
return $ret2;
}
function get_from_tag2($tagname, $src)
{
//
$ret = array();
mb_eregi("<".$tagname.".*>.*".$tagname.">", $src, $ret);
$ret2 = $ret[0];
$ret2 = eregi_replace("".$tagname.">", "<<>>", $ret2);
$ret2 = mb_substr($ret2, mb_strpos($ret2, ">")+1);
$ret2 = mb_substr($ret2, 0, mb_strpos($ret2, "<<>>"));
return $ret2;
}
//===============================================
// 文字セット変換関数
//$stringの文字セットが変換後の文字セットでない場合にだけ変換する。
//===============================================
function cnv_enc($string, $dst) {
mb_detect_order("SJIS,JIS,EUC-JP,eucjp-win,sjis-win,UTF-8");
if (mb_detect_encoding($string) != $dst) {
//異なった文字セットからと勘違いして変換指定するとおかしな文字列になることがある。
$ret = mb_convert_encoding($string, $dst, "auto");
} else {
$ret = $string;
}
return $ret;
}
//===============================================
// パラメータ整形関数
//===============================================
function cnv_format($array) {
foreach ($array as $key => $val) {
$array[$key] = stripslashes($val);
}
return $array;
}
//===============================================
// 更新処理
//===============================================
function upd_article($form) {
if ($form['pass'] != PASSWD) {
return FALSE;
}
if ($title == "") $title = '(無題)';
$form[contents] = trim($form[contents]); // 前後の余白を除去
if (FLG_NR) { // 改行タグ挿入
$form[contents] = str_replace("\r\n", "\r", $form[contents]); //Win("\r\n")→"\r"へ。
$form[contents] = str_replace("\r", "\n", $form[contents]); //Mac("\r")→"\n"へ。
$form[contents] = str_replace("\n", "
\n", $form[contents]); //"\n"→"
"へ。
} else {
$form[contents] = nl2br($form[contents]);
}
$form[contents] = ereg_replace("(^|[^=\"'])(https?|ftp|news)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)","\\1\\2\\3",$form[contents]);
$newdata = "\n";
$newdata .= "\n";
$newdata .= "\t" . $form[title] . "\n";
$newdata .= "\t" . $form[tkbk_day] . "\n";
$newdata .= "\t";
if (isset($form[is_now])) {
$newdata .= date("Y-m-d H:i:s", time());
} else {
$newdata .= $form[year]."-".$form[month]."-".$form[day];
if ($form[hour]!="") $newdata .= " ".$form[hour];
if ($form[min]!="") $newdata .= ":".$form[min];
if ($form[sec]!="") $newdata .= ":".$form[sec];
}
$newdata .= "\n";
$newdata .= "\n";
$newdata .= "";
//3段に分けたのは、フォーム入力文字列とこのファイルの文字セットが異なる恐れがあるため。
$newdata = cnv_enc($newdata, SITE_CHARSET);
$newdata .= cnv_enc($form[contents], SITE_CHARSET);
$newdata .= cnv_enc("
\n\n\n", SITE_CHARSET);
$url = $form[category] . $form[filename] . '.xml';
if (is_file($url)) {
unlink($url);// とりあえず削除
}
$fp = fopen($url,"w") or die("FILE OPEN ERROR: ${url}\n");
flock($fp, LOCK_EX);//LOCK_EX(4.0.1以前は2)
fwrite($fp, $newdata);
fclose($fp);
//chmod($url, 0606);//後で修正できるように。
return TRUE;
}
?>
\n"; ?>
\n";
?>
rNote 記事作成
rNotePad
|
" . $form[title] . "";
print $form[contents] . " [キャッシュ再構築\n";
print " | rNote";
print "表示確認\n";
print " | さらに書く";
print " | 戻る] \n";
} else {
//認証エラー処理
echo ("パスワードが違います!");
}
} else {
//===============================================
// 入力処理
//===============================================
if (isset($_GET['flist_index'])) $flist_index = $_GET['flist_index'];
print "
|
rNotePad Ver. ©2004 Tommyrot. / 改変 by 冬星.