KENT-WEB サポートコーナー 過去ログ [ 0303 ]


記事No: 16610
投稿日: 2021/09/02(Thu) 07:13:31
タイトルcssファイルを修正すると本体ファイルを更新してしまう!
ID情報: ichieda
投稿者: yuji
URLhttps://www.kent-web.com/blog/cafe.html

CafeLog
を長年利用して重宝していますが、最新の
v5.11
がアップされているのでテストしてみたところ
 「cssファイルを修正すると本体ファイルを更新してしまう」
という問題に直面しています。

どなたか同じ問題に遭遇し解決されていたら、どの設定ファイルやcgiファイルのの何行目を修正すればよいか教示頂ければ助かります。


記事No: 16611
投稿日: 2021/09/02(Thu) 11:17:58
タイトルRe: cssファイルを修正すると本体ファイルを更新してしまう!
ID情報: hirayama
投稿者: hirayama
URLhttps://shade-search.com/sts/term/term.php

修正したcssファイル、それと本体ファイルとはどのファイルのことでしょうか。

CafeLogではcssファイルは
/tool/admin.cssと/admin/data/tmpl/style.cssがあります。
記事を編集すると、style.cssは$cf{htmldir}で指定したHTMLディレクトリにコピーされるようです。
したがってtmplディレクトリ内のstyle.cssを修正すると
HTMLディレクトリ内のstyle.cssも更新されることになりますが、
そうではなくその逆ということですか。


記事No: 16613
投稿日: 2021/09/02(Thu) 21:09:31
タイトルRe^2: cssファイルを修正すると本体ファイルを更新してしまう!
ID情報: ichieda
投稿者: yuji
URLhttps://www.kent-web.com/blog/cafe.html

早速の回答ありがとうございます。
助かります。

> 修正したcssファイル、それと本体ファイルとはどのファイルのことでしょうか。
https://www.adsys.jp/bg/test2/admin/index.cgi

 ユーザ名 admin
 パスワード 0000
でログインしていただき、
テンプレート編集 → CSSファイル
といき、CSSのどこかを修正し、「編集する」をクリックすると
「CSSファイル」は修正されず、「本体ファイル」が修正後のCSSファイルに上書きされてしまう現象なのです。

> CafeLogではcssファイルは
> /tool/admin.cssと/admin/data/tmpl/style.cssがあります。
> 記事を編集すると、style.cssは$cf{htmldir}で指定したHTMLディレクトリにコピーされるようです。
$cf{htmldir}で指定したHTMLディレクトリにコピーされる前はstyle.cssは存在していないので最初の1回目は正常に動作するけれども、style.cssは、どうも属性が666になってしまっているので、その後上書きできないのではないかと思います。
私のinit,cgiの設定は間違っているのかもしれませんのでもう一度確認してみます。


記事No: 16612
投稿日: 2021/09/02(Thu) 11:25:39
タイトルRe: cssファイルを修正すると本体ファイルを更新してしまう!
ID情報: teketen
投稿者: てけてん

設置アドレスは、どちらでしょうか?


記事No: 16614
投稿日: 2021/09/02(Thu) 21:14:57
タイトルRe^2: cssファイルを修正すると本体ファイルを更新してしまう!
ID情報: ichieda
投稿者: yuji
URLhttps://www.kent-web.com/blog/cafe.html

夜しかPCの前に座れないので回答が遅くなりすみませんでした。
そして、ありがとうございます。

> 設置アドレスは、どちらでしょうか?
https://www.adsys.jp/bg/test2/admin/index.cgi

 ユーザ名 admin
 パスワード 0000
でログインしていただければご確認いただけると思います。

テンプレート編集のCSSファイルのどこかを修正し、「編集する」をクリックすると「CSSファイル」は修正されず、「本体ファイル」が修正後のCSSファイルに上書きされてしまう現象なのです。

もう一度、ダウンロードしてやり直してみようと思います。


記事No: 16615
投稿日: 2021/09/02(Thu) 23:40:44
タイトルRe^3: cssファイルを修正すると本体ファイルを更新してしまう!
ID情報: hirayama
投稿者: hirayama

> テンプレート編集のCSSファイルのどこかを修正し、「編集する」をクリックすると「CSSファイル」は修正されず、「本体ファイル」が修正後のCSSファイルに上書きされてしまう現象なのです。

ローカル環境でも同じ症状を確認しました。他のテンプレートを選んでもすべてindex.htmlに上書きされてしまうようです。

admin/lib/tmpl_mqr.plの20行目
if ($in{edit}) {
の下に
$file =
$in{file} =~ /file=css/ ? "style.css" :
$in{file} =~ /file=cal/ ? "calendar.html" :
$in{file} =~ /file=com/ ? "comment.html" :
$in{file} =~ /file=tb/ ? "trackback.html" :
"index.html";

を追加してやればしのげるかもしれませんが、
とりあえずテンプレート編集は使わず直接エディタで編集したほうが無難かもしれません。


記事No: 16616
投稿日: 2021/09/03(Fri) 00:37:30
タイトルRe^4: cssファイルを修正すると本体ファイルを更新してしまう!
ID情報: hamel
投稿者: HUMMEL

以下をお試し下さい

admin/lib/tmpl_mgr.pl内

11行目あたり
# 対象ファイル判定
my $file =
$in{file} =~ /base$/ ? "index.html":
$in{file} =~ /cal$/ ? "calendar.html":
$in{file} =~ /com$/ ? "comment.html":
$in{file} =~ /tb$/ ? "trackback.html":
$in{file} =~ /css$/ ? "style.css":
"index.html";

↑を下のように変更修正

# 対象ファイル判定
my $file =
$in{file} =~ /base$/ ? "index.html":
$in{file} =~ /cal$/ ? "calendar.html" :
$in{file} =~ /com$/ ? "comment.html" :
$in{file} =~ /tb$/ ? "trackback.html" :
"style.css";


63行目あたり
# ファイル名
my %fnam = (
base => '本体ファイル',
cal => 'カレンダー',
com => 'コメント',
tb => 'トラックバック',
css => 'CSSファイル',
);
for (qw(base cal com tb css)) {

↑を下のように修正

# ファイル名
my %fnam = (
css => 'CSSファイル',
cal => 'カレンダー',
com => 'コメント',
tb => 'トラックバック',
base => '本体ファイル',
);
for (qw(css cal com tb base)) {

以上です。


記事No: 16617
投稿日: 2021/09/03(Fri) 04:22:56
タイトルお二人のアドバイス参考に今からチャレンジします!
ID情報: ichieda
投稿者: yuji
URLhttps://www.kent-web.com/blog/cafe.html

おはようございます。

そして、hirayamaさん、HUMMELさん、ありがとうございます。

昨日日中に生コン作業のようなことをしていたため、爆睡しており今頃起きてしまいました。
返信遅く申し訳ありません。

これから、やってみます。


記事No: 16618
投稿日: 2021/09/03(Fri) 04:38:48
タイトル逆の現象になりました。
ID情報: ichieda
投稿者: yuji
URLhttps://www.kent-web.com/blog/cafe.html

ご指導、ありがとうございます。

おかげさまで解決したと思ったのですが、本体ファイルを修正するとCSSファイルを更新してしまうという現象になりました。

もし、同じ症状でしたら、どこを直せばよいかご教示お願いいたします。
たびたびすみません。


記事No: 16619
投稿日: 2021/09/03(Fri) 11:04:13
タイトルRe: 逆の現象になりました。
ID情報: teketen
投稿者: てけてん

HUMMELさんの書かれた修正は、元に戻して下さい。
そして、同じ箇所の

my $file =
$in{file} =~ /base$/ ? "index.html":
$in{file} =~ /cal$/ ? "calendar.html":
$in{file} =~ /com$/ ? "comment.html":
$in{file} =~ /tb$/ ? "trackback.html":
$in{file} =~ /css$/ ? "style.css":
"index.html";

の部分を、

my $file =
$in{file} =~ /base/ ? "index.html":
$in{file} =~ /cal/ ? "calendar.html":
$in{file} =~ /com/ ? "comment.html":
$in{file} =~ /tb/ ? "trackback.html":
$in{file} =~ /css/ ? "style.css":
"index.html";

に変更して下さい。

$in{file}の値の仕様が変わったようで、最後にcssなどの値になっていません。
index.cgi?tmpl_mgr=1&file=css&sid=24df09599gf209df17dbc68894ad752
のように。

/base$/
/css$/

正規表現にダラー($)が付くと、最後の値がbaseや、cssの時にヒットしますが、最後にない場合は、ヒットしません。

file=css

ならヒットするが、

file=css&sid=24df09599gf209df1

の場合は、cssがあるが、ヒットしません。
そのため、全てindex.htmlファイルを修正していました。


記事No: 16620
投稿日: 2021/09/03(Fri) 11:34:42
タイトルRe^2: 逆の現象になりました。
ID情報: hirayama
投稿者: hirayama
URLhttps://shade-search.com/sts/term/term.php

てけてんさんとかぶりますが・・・

プルダウン切り替えがらみで処理が複雑になっているので、
Kentさんに修正してもらうのがいいと思うのですが、私の修正案について補足します。

sub tmpl_mgr内のテンプレート編集画面では
プルダウン切り換えで
テンプレートファイルを切り換えた場合は
$in{file}は「css」とか「cal」とかテンプレートの種類が入るので、選択したテンプレートファイルを正しく認識できますが、
「編集する」ボタンを押した場合は
$in{file}は
index.cgi?tmpl_mgr=1&file=css&sid=07def64addb2c3d29558d7be3aa6eb7f
のようにselectフィールドから渡された値になってしまうようです。
このため sub tmpl_mgr12行目の対象ファイル判定処理
my $file =
$in{file} =~ /css$/ ? "style.css" :
$in{file} =~ /cal$/ ? "calendar.html" :
$in{file} =~ /com$/ ? "comment.html" :
$in{file} =~ /tb$/ ? "trackback.html" :
"index.html";
では、選択されたテンプレートフィルを正しく認識できず、$fileにindex.htmlが入ってしまいます。

そこで「編集する」ボタンを押した場合、つまり$in{edit}がtrueの場合は
上記の$in{file}の値でもヒットする
$file =
$in{file} =~ /file=css/ ? "style.css" :
$in{file} =~ /file=cal/ ? "calendar.html" :
$in{file} =~ /file=com/ ? "comment.html" :
$in{file} =~ /file=tb/ ? "trackback.html" :
"index.html";

を追加して$fileに正しいテンプレートファイルを代入するというのが私の提案です。


記事No: 16621
投稿日: 2021/09/03(Fri) 11:40:48
タイトルRe^3: 逆の現象になりました。
ID情報: teketen
投稿者: てけてん

そうですね。
hirayamaさんの提案の方が、私もおすすめです。

$file =
$in{file} =~ /file=css/ ? "style.css" :
$in{file} =~ /file=cal/ ? "calendar.html" :
$in{file} =~ /file=com/ ? "comment.html" :
$in{file} =~ /file=tb/ ? "trackback.html" :
"index.html";


hirayamaさん、どうも。
かぶっちゃいましたね。


記事No: 16624
投稿日: 2021/09/04(Sat) 03:33:34
タイトルRe^4: 逆の現象になりました。
ID情報: ichieda
投稿者: yuji
URLhttps://www.kent-web.com/blog/cafe.html

おはようございます。

てけてんさん、hirayamaさん、ありがとうございます。

まず、

my $file =
$in{file} =~ /base/ ? "index.html":
$in{file} =~ /cal/ ? "calendar.html":
$in{file} =~ /com/ ? "comment.html":
$in{file} =~ /tb/ ? "trackback.html":
$in{file} =~ /css/ ? "style.css":
"index.html";

で試しましたところ、それぞれのファイルを表示はしてくれるのですが、プルダウンで表示させようとするとリアルタイムではなく他のファイルを表示させてからでないと本来のファイルを表示してくれないようです。
しかし、そういうものだと思っておけばなんてことはないので良いと思いました。

次に、hirayamaさんの

$file =
$in{file} =~ /file=css/ ? "style.css" :
$in{file} =~ /file=cal/ ? "calendar.html" :
$in{file} =~ /file=com/ ? "comment.html" :
$in{file} =~ /file=tb/ ? "trackback.html" :
"index.html";

で試しましたところ、やはりいずれもindex.htmlを更新してしまうようでした。
私の設定が悪いのかもしれませんが、とりあえず、てけてんさんの方で使用していこうと思います。

おふたりともご指導ありがとうございます。
今後とも何かありましたら、よろしくお願いします。



記事No: 16625
投稿日: 2021/09/04(Sat) 12:24:08
タイトルRe^5: 逆の現象になりました。
ID情報: hirayama
投稿者: hirayama
URLhttps://shade-search.com/sts/term/term.php

テンプレート編集後「元の画面へ戻る」ボタンを押しても編集していたファイルではなく
本体ファイル選択状態に戻るということですね。

admin/lib/tmpl_mgr.plをすべてもとに戻した上で、
10行目

sub tmpl_mgr {

の下に

if ($in{file} =~ /file=([^&]+)/) { $in{file} = $1; }

を追加してください。もし$in{file}が
index.cgi?tmpl_mgr=1&file=css&sid=07def64addb2c3d29558d7be3aa6eb7f
のような値だったら、$in{file}そのものの値を css に入れ替える処理です。

そして admin/index.cgiの178行目辺りに

<input type="hidden" name="file" value="$in{file}">

を追加してみてください。


記事No: 16628
投稿日: 2021/09/05(Sun) 13:32:46
タイトルRe^6: 逆の現象になりました。
ID情報: ichieda
投稿者: yuji
URLhttps://www.kent-web.com/blog/cafe.html

ご指導ありがとうございます。

修正後
https://www.adsys.jp/bg/test2/admin/index.cgi

を実行すると、以下のとおりエラーが返されます。

Software error:
syntax error at index.cgi line 181, near ") {"
Global symbol "$msg" requires explicit package name (did you forget to declare "my $msg"?) at index.cgi line 187.
Execution of index.cgi aborted due to compilation errors.
For help, please send mail to the webmaster ([no address given]), giving this error message and the time and date of the error.

私の設定ミスかもしれないですが。。。


記事No: 16629
投稿日: 2021/09/05(Sun) 15:28:05
タイトルRe^7: 逆の現象になりました。
ID情報: hirayama
投稿者: hirayama
URLhttps://shade-search.com/sts/term/term.php

index.cgiの編集後のsub echo_msg は
以下のようになります。

sub echo_msg {
my ($msg,$mode,$sbtn) = @_;

header("処理完了");
menu_btn();
print <<EOM;
<div id="body">
<div id="main">
<div class="ta-c">
<form action="$cf{index_cgi}" method="post">
<input type="hidden" name="sid" value="$in{sid}">
<input type="hidden" name="file" value="$in{file}">
<input type="hidden" name="$mode" value="1">
EOM

if ($in{cate} ne '') {
print qq|<input type="hidden" name="cate" value="$in{cate}">\n|;
}

print <<EOM;
<div class="msg-box">
<p style="margin-bottom:2.5em"><img src="$cf{htmlurl}/tool/tick.png" alt="" class="icon"> <b>$msg</b></p>
<input type="submit" value="元の画面へ戻る" class="bigbtn">
</div>
</form>
</div>
</div>
</div>
EOM
footer();
}


記事No: 16630
投稿日: 2021/09/06(Mon) 03:53:29
タイトルRe^8: 逆の現象になりました。
ID情報: ichieda
投稿者: yuji
URLhttps://www.kent-web.com/blog/cafe.html

hirayamaさん、ありがとうございます!

おかげでばっちり動いております。

助かりました。

また、何かありましたら、どうぞよろしくお願いします。


[検索ページ]