• ベストアンサー

日記CGIの改造(ログを逆順に表示)

日記CGIをちょっと改造してイベント告知CGIとして利用したいと考えています。配布サイトに掲示板などのサポートが無かったのでこちらで質問させてください。 元となるCGIはOlive Designさんの「Simple Olive Diary2」です。 http://www.olive-design.com/~cgi/simple_diary2.html 日記の場合、新しいものが一番上に来ますが、イベント告知の場合、先に書き込んだもの(今あっているもの)が一番上のほうが良いですよね。 で、それをどうにかしようと少ない知識を絞って考えたのですが、うまくいきません。 表示する方ではソートしている感じではないので、ログを逆順に保存しようかと考えました。 サブルーチン「regist」の下から3行目 unshift (@log,"$newdata"); を push (@log,"$newdata"); としてみましたが、変化無しです。 他にも何か変える必要があるのでしょうか? 宜しくお願いします。

  • Perl
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • fu_u_ka_i
  • ベストアンサー率51% (15/29)
回答No.2

表示ロジックで小細工するなら、 while ($rt=<IN>){ の箇所を @wk=<IN>; for $rt (reverse(@wk)){ に変えてください。 記録ルーチンで小細工するなら、 変更された箇所の少し上にある最大記録数を超えたログの自動削除も 直さないとダメでしょうね。 従来が、先頭側に新、後方に旧データを保存する関係で、整理の対象を 最大記録件数を超えた後ろ全てとしているので。 (全部のロジックを読んでないので、他にもあるかも・・です)

master-3rd
質問者

お礼

ありがとうございます。表示ロジックを細工する方でやってみましたが、ばっちり出来ました。

その他の回答 (1)

noname#126728
noname#126728
回答No.1

似たような改造をするときにreverse関数というものを使いました。 お使いのCGIの文が解読できるスキルがないので自分の使ったのをそのまま書きますと、 open(DAT,"<bbs.log"); @alldat=<DAT>; @reversedat=(reverse(@alldat)); みたいな感じになっています。

master-3rd
質問者

お礼

再度書き込みします。 とりあえず、表示部分に仕込んでみました。 open(IN,"$logfile") ; @alldat=<IN>; @reversedat=(reverse(@alldat)); #while ($rt=<@reversedat>){ こうすると、多分なのですが、半角空白でログを区切ってしまっているようで、何も表示しない行(記録)がいくつも出てきてしまいます。 何か解決方法はありますか?お願いします。

master-3rd
質問者

補足

返答ありがとうございます。これは、どこで利用したら良いのでしょうか? 表示部分?それとも書き込み部分? 書き込みだと、書き込むたびに逆になってしまうから意味が無いですよね?(この考えあってます?)

関連するQ&A

  • CGIで日記を書きたい オススメについて

    こんにちは。 CGIで自分のサイトに日記を設置したいのですが、どなたか無料で オススメはないでしょうか?shiromukuさんの日記のようなデザイン がいいのですが、どうも気に入るのがありません。 最低限欲しいのは、 ●画像がアップできる ●過去ログが見れる ●カレンダーの表示 です。 どなたかオススメ教えてください!

    • ベストアンサー
    • CGI
  • デザインカスタマイズ可能なカレンダーつき日記CGIを探しています

    以下の仕様のような日記CGIを探しています。 ・スキンやテンプレート、スタイルシートなどでデザインのカスタマイズが可能 ・カレンダーか月別ログがサイドに表示可能 ・画像の投稿(原寸)が可能。 いろいろ探してみましたが殆どどれかがかけてしまっていて困っています。 CGIの書き出し部分でデザインが調整できる範囲なら多少は可能です。 ブログ系のツールも試しましたがmyMQLが使用できないため、cgiかphpで探しています。 アドバイス頂けたらと思います。

    • 締切済み
    • CGI
  • なぜHP訪問者がわかるのでしょうか?(きっこさんの日記)

    こんばんは。 1ケ月ほど前からふとしたきっかけで「きっこさんの日記」を読むようになりました。 先日よんでますと 閲覧者が 「沖縄県警さま」「糸満市役所さま」「宜野湾市役所さま」とがが来てると書いてあったのですがそれも裏口からわざと入ってるなんて書いてあるのですがIPアドレスというものだけでそういったことがわかるのでしょうか? http://www3.diary.ne.jp/logdisp.cgi?user=338790&log=20060319 自分もいろいろサイトを見てますがそういのわかると怖いなぁと思って知っておきたくなって質問しました。 どうぞお願いします。

  • レンタルの日記で以下の条件に合うもの

    ホームページの日記として使える、以下の条件に合うサービスを探しています。 1.CGIでない(自分のホームページからのリンクを貼るだけでよい)もの。 2.画像がアップできるもの。 3.過去ログが無制限に保存できる(いつでも過去の日記が読める)もの。 4.デザインがかわいいもの。 5.掲示板のようなものではなく、自分が日記を書く→人が読むというタイプのもの。 できればカレンダーが表示されると嬉しいです。 有料でもいいので、教えていただけると助かります。

  • CGI設置方法について

    スケジュールが管理できるCGIを作りたいと思っているのですが、http://www.olive-design.com/~cgi/にアクセスしてファイルをダウンロードしたのですが、↓の説明がよくわかりません 設置方法 ダウンロードしたウェブアクセスファイルを以下の設置例を参考に設置してください。 public_html / index.html          +-- schedule /              +-- schedule.cgi[755]              +-- jcode.pl [644]              +-- schedule.dat[666] /[ログ書き込み用空ファイル]              +-- img / *.gif ダウンロードしたファイルをどのように設置すればいいのかが、わかりません。ホームページを作るのは中級者ですが、CGIに関しては超超ド素人です。こんな私にでもわかるような説明をお願いします。

  • あのレンタル日記サイト・・・!!ついでにお勧めも・・・

    CGIBOYのレンタル日記 (http://diary2.cgiboy.com/0/sample/index.cgi?d=2&y=2003&m=7) とほぼ同じデザインで、CGIBOYとはカレンダーと更新履歴の位置が逆、バナーの位置が違うレンタル日記のサイトがあったのですが、URLがわからなくなってしまいました。 どなたかご存知ありませんか? ついでと言ってはなんですが、カレンダーつきで履歴<タイトル>が(できれば1月分)見ることができ、画像もUPできる(もっと欲を言えば長く保存され、更新は60~90日に1回になっても削除されないような・・・)レンタル日記サイト、またはみなさんのお勧めのサイトがありましたら教えてください。 よろしくお願いします。

  • デザインが自由に変更でき「古い順番」から並べることができる日記

    いつもお世話になっております。 表題どおりのほかに ●未来の日記も表示更新できる ●1ページ目に表示する日記の数を自由に変更できる ●著作権表示は義務だが、リンクや報告は義務ではない ●個人でなくて企業でも、直接営利が発生しないならフリーで利用できる CGIプログラムを探しております。 日記としてではなく、イベント情報告知ボードとして使いたいので 日付が古い順番から並んでいないと都合が悪いのです・・・ また、途中で新たなイベントを追加しても 古い順番に並ぶように、あくまでも日記プログラムでないと都合が悪いのです。 掲示板やゲストブックだとやっぱり新しいのが上に来てしまいますもんね。 ↓こちらが、ほぼ条件は満たしているのですが http://www.heartlogic.jp/wikka/ImageDiary 日付が古い順番に表示するのは不可能だそうです。 無理ならこれまでどおりエディタでHTMLを更新するしかないのか・・と思っていますが(--;) シェアウェアは無理ですが 「こういったプログラムが載っている本」でも構いません。 (本代なら会社に請求できるので) ただ、プログラマではないので1から作るのはとても無理です。簡単な改造ならできます。 色々条件が多くて申し訳ないですが ご存知の方教えていただけたらひじょ~~~に助かります。 よろしくお願いします。

    • 締切済み
    • CGI
  • CGIの中でSSIが出来ないので直接呼び出したいのですが...

    データベースCGIを改造中です。 左にデータベース内のジャンルをリスト表示し、右側にリスト一覧・データ詳細を表示するようにしたいと思っています。 ジャンル一覧にはそのジャンルのレコード数をSSIで表記しています。 リスト表示はsearch.cgiで管理、レコード数表示はcount.cgiで表示させるようにしています。また、レコード数表示のcount.cgiはジャンル数確認以外にも利用しています。 リストを表示する手前に置くジャンル一覧ページはhtmlで作っています。レコード部分は<!--#include virtual="./count.cgi?mode=genre&genre=1" -->と言うような書き方をしています。 リスト表示のsearch.cgiをデザインを統一する為スキンを利用する形で作成しようとしています。しかし、上で使ったジャンル一覧ページをそのまま利用しようとしたのですが、SSIを利用したレコード数の表示が出来ません。 そこで、CGIの中でSSI的なものを表示させたいと思うのですが、どのようにしたら良いでしょうか? ふと考えたのは「count.cgiからジャンル数をチェックする部分を抜き取りそれをsearch.cgiのサブルーチンとして動作させ、そのサブルーチンを動作させるようにスキン部分にどうにかコードを書込みする」 と言うものですが、この「スキン部分にどうにかコードを書込みする」の部分がさっぱりです。 sub count部分は、「リスト取得」→$in{'genre'} == $genreだったら$ken++ →結果表示、としています。 頭がこんがらがって考えがまとまってないです。 どう考えればば良いでしょうか?

    • 締切済み
    • CGI
  • UUHPについて教えて下さい。

    ホームページのアップロードをするのにUUHPというサーバーを使わせていただくことにしました。 それで、日記などのCGIをアップしたんですが、 上に宣伝みたいなものがついてしまします。 宣伝は何も出ないと書いてあったのですが、 どういうことだかわかりますか?? http://ee.uuhp.com/~surprise/cgi-bin/bbs/apeboard_plus.cgi http://ee.uuhp.com/~surprise/cgi-bin/diary/apeboard_plus.cgi などです。 わかる方いらっしゃたら教えて下さい。 よろしくお願いします。

  • 政党の広報掲示板は公選法違反なのですか?

    有名な阿久根市の竹原市長がご自身のブログで県内某候補者さんを名指ししたうえで 「●●●●の選挙看板はあからさまな公職選挙法違反」 http://www5.diary.ne.jp/search.cgi?user=521727&cmd=show&num=2008020851202411385&log=2017780976&word=%8F%AC%97%A2 「●●●●の看板が認められるならばどんな選挙看板で許されないものはありえない」 http://www5.diary.ne.jp/search.cgi?user=521727&cmd=show&num=2008011301200177677&log=2014420641&word=%8F%AC%97%A2 「これは公職選挙法違反ではないか。」 http://www5.diary.ne.jp/search.cgi?user=521727&cmd=show&num=2007110141193912180&log=2011900479&word=%8F%AC%97%A2 と指摘されているのですが、本当のところはどうなのでしょうか? こういう看板は全国どこでも見かけるのですが、全部公選法違反なんでしょうか。