#!/usr/local/bin/perl #↑各プロバイダで指定しているパスを記述 # # Convert.cgi for Hyper_Linker(フリーソフト) # ※ Hyper_Linker v.1.x からHyper_Linker v.2.x への登録データ変換専用スクリプトです。 # # Last Modified:2001/07/27 # suepon csm@suepon.com # Scripts Found at: http://suepon.com/ #---------------------------------------------------# # Hyper_Linker v.1.x で登録したデータを、Hyper_Linker v.2.x で使用できるように変換します。 # 独自に改造している場合や、データに異常がある場合は、完全に変換できない場合があります。 # その場合はHyper_Linker v.2.x の編集機能を使って手動で変換して下さい。 # カテゴリーについては、新バージョンに旧バージョンと同じ項目が無い場合 # カテゴリー検索の際にヒットしない等の問題があります。 # 新バージョンの初期設定時に必ず旧バージョンで設定していたカテゴリーを含める事をお奨めします。 # そうしない場合は、データ変換後、Hyper_Linker v.2.x の編集機能を使って # 手動で登録内容の変更を行う事で問題は解消されます。 # 旧バージョンで設定していたカテゴリーに新しいカテゴリーを追加する事自体は問題有りません。 #---------------------------------------------------# # # 以下は基本的なディレクトリ構成で設置している場合の説明です。 # # /pulic_html/ 最上位ディレクトリ # │ # ├ index.html # │ # ├ /links/ 旧バージョン設置ディレクトリ # │ │ # │ └ links.dat 旧バージョンのデータファイル # │ # ├ /hyper_linker/ 現バージョン設置ディレクトリ # │ │ # ├ links.cgi..... # │ # ├ convert.cgi このファイル(パーミッションは755) # │ # └ data.cgi 新データファイル(必要無し) # ↑このファイル(convert.cgi)を使用すると、 # data.cgi は自動生成されるので # アップロードする必要はありません。 # アップロードしてある場合は、 # パーミッションが666になっている事を確認して下さい。 # # 正常な設置を確認したらブラウザで convert.cgi にアクセスして下さい。 # メッセージが表示されて、データ変換が終了します。 # # 質問等は「suepon」csm@suepon.com まで。 # #-------------------- 初期設定 ---------------------# # 旧バージョンのデータファイル(基本構成での設置ならこのまま) $old_file = "../links/links.dat"; # 新バージョンのデータファイル(基本構成での設置ならこのまま) # このファイルは特にアップロードする必要ありません。 $new_file = "./data.cgi"; #---------------- 初期設定ここまで -----------------# print "Contet-type:text/html\n\n"; print "\n"; if (!open(DB,"$old_file")) { print "$old_file が開けません\n\n"; exit; } @OLD = ; close(DB); foreach (@OLD) { $_ =~ s/[\r\t\n]//; ($number,$date,$title,$banner,$coment,$url) = split(/\,/,$_); ($coment,$cgry) = split(/\Q
登録カテゴリー:\E/,$coment); $url =~ s/http\:\/\///g; $new = "$number\,$date\,$title\,$banner\,$url\,$coment\,$cgry\,$pass\,0\n"; unshift(@NEW,$new); } if (!open(WRITE,"> $new_file")) { print "$new_file が作成できません\n\n"; exit; } print WRITE @NEW; close(WRITE); chmod 0666,$new_file; print "データの変換は無事終了しました。\n\n"; exit;