エントリー

カテゴリー「CGI・Perl」の検索結果は以下のとおりです。

増税の思わぬ影響

消費税が5%から8%になりました。

ただ、これで厄介な点が…
10%までの繋ぎなのか、運送会社の配送料が1円単位に。 orz

例えば、静岡から北海道までだと
旧:1260
新:1296 と言う事に。

この端数が面倒という事で「1円単位で四捨五入してくれる?」とのお話が。

送料が一括のところなら
最初から送料として四捨五入した値を放り込むだけで済むんだけど…
ここは商品に重量がある為、本数で送料を変更する処理を。

以前は重くなる度に210円ずつの加算。
なので、if文で注文数に応じて0~3を変数に格納。

加算送料 = 加算分 * 210
送料 = 送料 + 加算送料 って感じで処理してました。
まぁ、沖縄だけちょっと特殊な処理が必要だったけど。

ただ、今回は加算される金額が216円。
これに「1円単位で四捨五入」となると、ちょっと内容が複雑に。

四捨五入後の送料が210円上がる場合と220円上がるケースが。 orz

そんな訳で…
結局、送料を1円単位で計算。
最終的な送料を四捨五入する事に。

これは電子科上がりとしては懐かしいプログラム。 (*>v<)

1円単位で四捨五入する場合…
送料 = 送料 + 5
送料 = 送料 / 10
送料を整数化
送料 = 送料 * 10 ってヤツ。

ただ、CGIの場合… ちょっと面倒なんだよねぇ。

use POSIX;
で、ceil(切り上げ)・floor(切り捨て)関数を使うのが無難でしょうねぇ。

ちなみに…
宣言を忘れて関数が使えず ?(゚_。)?(。_゚)? になってたのは内緒の話。 d(゚・゚*) シー

KENTとつくる ワンランク上のPerl/CGIプログラミング

webliberty 画像投稿数変更

テストで問題無かったので、変更箇所を自分用メモも兼ねて。
ちなみに、行番号は目安です。 ※エディタの折り返し機能を使ったので

私はアップ画像数9まで増やしましたが、下記の内容は6になってます。
増やす分だけ数字や追加行が増えます。
当然の事ですが… 自己責任でお願いします。 orz

またソースの長い行は適当に改行しています。
まぁ… 実際作業する場合は、ソースの方をコピペすると思いますけど(苦笑

変更ファイル【1/3】 lib > webliberty > App > Admin.pm

変更前 612,618,643,939,947,985,998,3216,3245,3266foreach (1 .. 5) {
変更後 612,618,643,939,947,985,998,3216,3245,3266foreach (1 .. 6) {

追加 3175,7265 FORM_EXT6 => '',
追加 3335 FORM_EXT6 => $ext{'6'},


変更ファイル【2/3】 lib > webliberty > App > Diary.pm

変更前 433 my($form_file1, $form_file2, $form_file3, $form_file4, $form_file5) = split(/<>/, $file_ins->get_string);
変更後 433 my($form_file1, $form_file2, $form_file3, $form_file4, $form_file5, $form_file6) = split(/<>/, $file_ins->get_string);

変更前 441 my($check1, $check2, $check3, $check4, $check5);
変更後 441 my($check1, $check2, $check3, $check4, $check5, $check6);

追加 458 if ($self->{query}->{delfile6}) {
 $check6 = ' checked="checked"';
 }

追加 470 if ($form_file6) {
 $form_file6 = "<input type=\"checkbox\" name=\"delfile6\" id=\"delfile6_checkbox\" value=\"on\"$check6 />
<label for=\"delfile6_checkbox\">$form_file6を削除</label>";
 }

追加 580 FORM_FILE6 => $form_file6,

変更前 990 my($article_file1, $article_file2, $article_file3, $article_file4, $article_file5) = split(/<>/, $file_ins->get_string);
変更後 990 my($article_file1, $article_file2, $article_file3, $article_file4, $article_file5, $article_file6)
= split(/<>/, $file_ins->get_string);

変更前 991 my($article_file1_start, $article_file1_end, $article_file2_start, $article_file2_end,
$article_file3_start, $article_file3_end, $article_file4_start, $article_file4_end, $article_file5_start, $article_file5_end);
変更後 991 my($article_file1_start, $article_file1_end, $article_file2_start, $article_file2_end,
$article_file3_start, $article_file3_end, $article_file4_start, $article_file4_end, $article_file5_start, $article_file5_end
, $article_file6_start, $article_file6_end);

変更前 1006 if ($article_file1 or $article_file2 or $article_file3 or $article_file4 or $article_file5) {
変更後 1006 if ($article_file1 or $article_file2 or $article_file3 or $article_file4 or $article_file5 or $article_file6) {

変更前 1010 foreach ($article_file1, $article_file2, $article_file3, $article_file4, $article_file5) {
変更後 1010 foreach ($article_file1, $article_file2, $article_file3, $article_file4, $article_file5, $article_file6) {

追加 1136 if (!$article_file6) {
 $article_file6_start = '<!--';
 $article_file6_end = '-->';
 }

追加 1400 ARTICLE_FILE6 => $article_file6,
 ARTICLE_FILE6_START => $article_file6_start,
 ARTICLE_FILE6_END => $article_file6_end,


変更ファイル【3/3】 skin > admin_form.html

追加 18 <input type="hidden" name="ext6" value="${FORM_EXT6}" />
追加 54 <dt>ファイル6</dt>
 <dd><input type="file" name="file6" size="30" />${FORM_FILE6}</dd>

TEST

画像UP数を変更してみたのでテスト。
ファイル 4260-1.gif
カウンター用gif画像を使ってみました。


ファイル 4260-2.gif
2


ファイル 4260-3.gif
3.


ファイル 4260-4.gif
4.


ファイル 4260-5.gif
5.


ファイル 4260-6.gif
6.


ファイル 4260-7.gif
7.


ファイル 4260-8.gif
8.


ファイル 4260-9.gif
9.

ちゃんと文字も入ったかな?

伊豆のイベントblog、始めました。

タイトルは「伊豆・伊東情報館 Blog-2」だけど(苦笑
http://izuito.net/_cgi/blog2/diary.cgi

使用している「Web Diary Professional」
入力時に日付や時間も指定できるので、
これを利用すれば、イベントを時系列にまとめる事ができるかな?と。

以前から思っていたんだけど、
新たにCGIを設置してパーミッションを変更して…
更にプラグインを入れて…
設置後はイベント情報を入力しなきゃいけないし。
そんな感じで単にめんどくさがってたんだけど、ようやく重い腰を上げました(苦笑

特に花火大会が集中する8月は避けたかったし。 (*>v<)

まぁ、既に利用しているシステムなので、「使用する」という点では、特に問題無いんだけど…
「使用する」と「運用する」は別問題だからねぇ。

ちなみに…
プラグインの設定を面倒臭がって、1stのCGIをそのまま放り込んだ結果、
タグやページ機能で不具合が出たのは内緒の話。 d(゚・゚*) シー

単にイベント内容をまとめるだけでも面倒だっていうのに…
また自分の首を絞める事をやった気がします。 orz

久し振りにCGI修正

もう、何年前だろ?
当サイトでは、アフィリエイトにA8.netを利用しています。

どさくさに紛れてペタリ。 ◇◇ヽ(゚-゚ )


まぁ、たいして稼げてません(キリッ
一生懸命やってないってのもあるだろうけど…

本当の狙いは、アフィを理由に商品画像を拝借。
ガンプラのページみたいに、画像をまとめる事が目的だったので。
まぁ「あわよくば」って下心はあったけど。 (*>v<)

で、参加当初、商品数が圧倒的に多かったのは「R」
なので、紹介したい商品・自分が欲しい商品をペタペタ貼っていたんだけど…
どうも履歴を見ると、やたらとキャンセルが目立つんだよねぇ。
「R」って、そんなにキャンセル簡単にできたっけ? ?(゚_。)?(。_゚)? と、疑念がチラホラ。

そんな時、A8に「A」も登場。
その後、徐々に「A」の方へ切り替えてきました。
が、ここで少々問題が。

当日記は「Web Diary Professional(以下、WDP)」を使用しています。
http://www.web-liberty.net/
過去にも書いたけど、こんな高機能なモノが無料で使えるなんてねぇ。 感謝、感謝。 orz

で「A」が吐き出す、アフィ用のソースはtableタグ。
WDPのソースを全てチェックした訳じゃないので、あくまで推測だけど…
通常、記事の内容をpタグで囲むんだけど、
tableタグが入ると、直前でpタグを閉じてしまっている感じ。

なので、その後のデザインが乱れる事に。
その解決は、管理画面で
環境設定>投稿記事の表示設定>空行を段落に変換 を「変換する」に設定。
これで改行した部分が、それぞれpタグで括られ、デザインの乱れは解決できました。

個人的には、いちいちpタグで括られるのも欝陶しいんだけど…
まぁ、仕方無いです。

が、ここで新たな問題。
WDPでは(設定によるけど)記事を投稿した際にHTMLを出力。
なので、表示方法を変更しても過去に吐き出したHTMLは古いまま。

それを更新する機能として「サイト再構築」ってのがあるんだけど、
回線の都合なのか、サバ側の都合なのか…
「すべてを構築」を実行すると、確実にエラーが発生。 う~む。

一応、50ページ単位で構築する機能もあるんだけど
無駄に情報を垂れ流している当日記は既に記事件数が3000以上。
50ページ単位で構築すると60回以上のクリックが(苦笑
さすがに、これは面倒だ。 ('A`)

そんな訳で、この部分を修正する事に。

対象ファイルは「lib\webliberty\App\Admin.pm」

2674行付近 ※既に数字は50を250に変更済

$to = $from + 250 - 1;

6476行付近 ※既に数字は50を250に変更済

if ($self->{config}->{html_archive_mode}) {
 foreach (0 .. int(($max_no - 1) / 250)) {
  my $from = $_ * 250 + 1;
  my $to;
  if ($_ == int(($max_no - 1) / 250)) {
   $to = $from + ($max_no - 1) % 250;
  } else {
   $to = $from + 250 - 1;
  }

ファイル 3299-1.jpg
これで構築単位を
50ページから250ページにできました。

最初500ページ単位にしたんだけどエラーに。
で、その半分の250で試してみるとOK。

ブラウザ越しに伝わる感じも
250で結構、悲鳴を上げてる感じ。
まぁ、単純に作業が1/5になったので良しとします(苦笑

もちろん、毎度の事ながら…
改造はあくまで自己責任でお願いします。 orz

CGIの不具合修正

ようやく完了。 く(`・ω・´)

たぶん、大丈夫。
本来「たぶん」じゃ困るんだけど…
正直、ブラウザが乱立し過ぎてフォローしきれないです。 orz

不具合は、昨日入った注文。
購入数に全角文字が使用された為、計算結果が0に。
商品金額が0になってしまい、送料のみを請求する感じに。

慌てて、店舗様に電話。
お客様と話をしてもらい、何とかトラブルは避けられました。

il||li _| ̄|○ il||li ご迷惑をおかけしました。

で、トラブル発生時。
既に晩酌タイム中だったのでCGIは放置。
飲酒状態でCGIを弄るのは非常に危険なので(苦笑

寝ると忘れる性格なので、フリーソフトの付箋で「CGI修正」
目立つよう、背景色を真っ赤にして就寝。

起床後、早速修正開始です。

以前、商品の金額を全角で入力された事があり、その時も同様の事態に。
com的には全角文字は数字として扱わないからね。

なので、ime-modeを指定して全角文字を入れられないように。
更にコピペ等で全角文字を入れられた場合を想定して半角文字への置換処理。
小数点やマイナスの値を入れられた場合の処理などなど。

私の環境では、普通に計算されているんだけど…
こういう事態が発生した以上、何かしら方法があるのでしょう。
今じゃゲーム機ですらネット接続できる時代だしね。

なので、商品金額をチェックする部分を追加。
同様な事が他の店舗様でも起こりうるので、全てのCGIを修正。

il||li _| ̄|○ il||li ようやく完了しました。

各店舗様ごとに設定が異なる事もあるけど、
基本的にCGIをコピーして、それぞれの店舗様用に設置。
なので、基本部分に問題があると全て修正する必要が。

理想は設定部分を各店舗様用に設置。
大元の処理は共有するのが良いんだろうけど…
そんなシステムを1人で作れるなら、とっくに大手に採用されている訳で(苦笑

金も技術も無いので、時間と手間を犠牲にするしか無いです。 o...rz

Web Diary Professional 記事番号入力による編集作業

当家のblogは、無料CGIである「Web Diary Professional」を利用しています。
http://www.web-liberty.net/
こんなに高機能なのに無料で使えるなんて、本当… 素敵な時代だわぁ。 +゚*。:゚+(人*´∀`)+゚:。*゚+.

まぁ、昔から高機能なフリーソフトを提供してくれる方はおりました。 ひっくるめて感謝。 orz
自分も提供する側になりたいんだけど… 何分、勉強不足なので無理ぽです。
せいぜい、需要が微妙なPDFを作るのが関の山です。

≧∇≦ブハハハハハ、、、   はあぁ。。。

で、当サイトに設置したのが2006年3月。
ドメイン設置等により2007年2月にまるごと引越。 現在に至ります。
ファイル 2572-1.jpg
特に内容も特定のジャンルに統一している訳でもなく…
ただ、好き勝手に書き殴っているだけなので
内容はともかく、投稿した記事の数だけは一丁前な当日記。
今、書いてる分で2572件目になります。 orz

で、これだけ(無駄に)多いと…
一番、大変なのは過去記事の編集。

まぁ、滅多に過去記事を編集する必要なんて無いんだけど、
たまに過去に貼ったURLが変更・無効になっていたりして…
それを見てしまった以上、放置する訳にもいかず。

でも検索後に表示される、
書き出したhtmlには「削除」「編集」の機能は無く…
管理画面から入り、
右画像のようにリストボックスから
編集したい記事がありそうなページを選択。
徐々に誤差を小さくしていく方法しかありませんでした。
※もしくはカレンダを操作して年月日指定で表示させるか

この作業が地味にダルいので
記事番号を入力して該当記事を編集できるように加工しました。

まぁ…
直接、URLを入力・編集でも可能なんだけどさ。


CGIを設置したフォルダから、skinフォルダ内admin_edit.htmlを編集。
 <input type="reset" value="リセット" />
の次の行に
 記事番号で編集:<input type="text" name="edit" size="6">
を追加。 ※sizeの値は任意。

アップ後、管理画面>記事編集と進むと

ファイル 2572-2.jpg

のように表示され、記事番号を入力>編集するをクリックで番号指定で編集できるようになりました。
こりゃ、楽ちん。 ヽ(´▽`)/

記事数が多く、過去記事の編集で苦労されてる方は自己責任で(←ここ重要)お試しあれ。
まぁ、威張る程の事じゃないんだけどね。 λ..........トボトボ

古い「お気に入り」を見て…

私の場合… 病的な「リセット癖」から数年に一回、お気に入りを一掃する事に。
つか「ここも、あそこも」と登録していくと、ついつい肥大化しちゃうんだよねぇ。
で、いざ必要になった時に困る。と。

一応、カテゴリ別にフォルダを用意して整頓はしてるんだけどねぇ(苦笑

一掃と言っても、単に削除しちゃうと後になって困る事になるから、
専用のフォルダを作って中身をゴッソリ移動させてます。
お気に入り内の各ファイルなんて、中身は大したデータ量じゃないし。

で、昨日…
作業の流れから、ついつい古い「お気に入り」内を調べる事に。
伊豆関連のサイトを次々チェックしてみると…

il||li _| ̄|○ il||li かなりのサイトが、お亡くなりになってました。

まぁ、URLが変更になっただけかもだけどね。

以前、バイトでホームページを作る作業もしてたんだけど
その時は「サイ○メーカー」なる特殊なソフト(?)を使用。
基本、HP作成用のCGIで、それをサバに設置。
そのCGIを利用して、各ページのデザイン等を指定。
訪問者に対して、指定したデザインを吐き出すという代物。
ちなみに製造元は○ャープ。

とにかく、自由度が低くて嫌いだったんだけど雇い主の指定だったからねぇ。
たぶん、大人の事情があったのでしょう(苦笑

で、久しぶりに過去に作った各サイトを巡ってみたんだけど…

il||li _| ̄|○ il||li 見事に全滅してました。

まぁ、あの仕様じゃ仕方無いね。
直接CGIの方をいじくれば、多少は融通も利くんだけど…
そこまで出来る人が、あえてこのソフトを使うとは思えないし(苦笑

そのまま作業は脱線し、今度は以前バイトしていた干物屋さんの評価ページへ。
つい最近の評価もあったけど… 相変わらずのようで(苦笑

過去にも書いたけど、あそこの致命的なミスはメールの振り分け設定。
設定を面倒臭がって「はじく」設定をせず、「通す」設定のみなんだよね。
だから、お客様のメールも全て「迷惑メール」扱い。

普通に注文して、何の変更も無い時は普通に取引できるんだけど
変更をお願いした場合、そのメールがゴミ箱行きとなり内容が伝わらない。

お願いした方としては、返事が来ない&結局は無視となり、当然の如く御立腹。
散々、注意したんだけどなぁ。

一応、他人のパソコンだから細かい設定部分を勝手に変更する訳にもいかないしねぇ。
なので、私が担当してた頃は、いつも暇があればゴミ箱フォルダ内を漁ってましたよ(苦笑
実際、意外と多かったし。
まぁ、あそこは「発送しました」メールすら送らないので、それ以前の問題なんだけどね。

他にも
旧勤め先(東京)のサイトが無駄にflash使っていたり、ロールオーバさせてたり。
いっそ、サクッと作ってCDでも送ってやろうかとも思ったけど…
なんか未練がましく思われても嫌なので、やめときます(苦笑

で、密かにニヤッとしたのが、旧勤め先(伊東)のサイト。
データベースを作りたいって事で雇われたんだけど、物件の扱いが全て連番。
なので「土地」「建物」別にアルファベットを冠して分類。
「特選」なる、一押し(?)物件にも別のアルファベットを付け、3種類に区別したんだけど…
その方法は、今も引き継がれてました(苦笑

本当は「特選」にも「土地」「建物」が混じってるから、4種類にすべきなんだけど…
「特選」ってのは、これも大人の事情により変化(降格・昇格)する事は無いらしいです。

大人って難しいねぇ。 (;´Д`)y─┛~~

HP・TOPに最新記事一覧の設置に成功。

http://izuito.net/ の中央下部に設置しました。

先日、急に仕事が飛び込んできて…
あ~したい、こ~したいとメモ紙(企画書?)が。
あんまり詳しく書くとクライアント&雇い主の悪口になるので書けないけど(苦笑

最近はホームページと言っても
ブログをホームページ風に使ってるサイトもあって、
色々と参考にするのは構わないんだけど、混ぜられると困るんだよねぇ。 orz

で、その中に…
ブログを更新するとTOPページに反映みたいな文言が。

そんな事、できるのか?

ブログを使ってるサイトなら標準装備だけど…
まぁ、TOPページを手動で更新してくれるってなら簡単だけどさ(苦笑

○○.cgi?△△=□□で、直接呼び出せるかな?と、CGIのソースを見たけど…
機能が小分けされていて、どのファイルで何が出来るのかチンプンカンプン。

il||li _| ̄|○ il||li もっと勉強しておくんだった。。。

で、大量のpmファイルとニラメッコしていても埒が明きそうになかったので、公式サイトを必死に調査。
その結果… CGIの機能として基本装備されていました。 orz

無料なのにスゲ~
正直、そこまで期待していなかったというか… そこまでサポートされているとは思いませんでした。
改めて、作者様に感謝です。 orz

で、私と同じように困ってる人&自分用メモとして…
・管理画面で環境設定へ
・JSファイル書き出しの設定へ
・題名一覧(タイトルのみ)または最新記事(全文)の書き出しをONにする
・件数などを調整して設定

・呼び出すホームページで…
 ・題名一覧 src="./○○/data/title.js" charset="utf-8"
 ・最新記事 src="./○○/data/text.js" charset="utf-8"
を、scriptタグで呼び出す。

散々悩んだのにアッサリ解決。
で、成功した瞬間、張っていた緊張が解け… 一気に酔いが回って… *o_ _)oバタッ と。

あ、仕事中にアルコールを飲んでた訳じゃないです。
あくまで、晩酌タイム中に自分のサイトを実験台にして動作確認してただけです。 (m9゚Д゚)

まぁ… 日によっちゃ飲む事もあるけどね。 ≧∇≦ブハハハハハ

ジオターゲティングを設置してみた罠。

まぁ、右上で派手に動いてるヤツです。
前々から他人様のブログで気になってはいたんだけど…
先日、間違ってクリックしてしまい
表示された画面を見て「アクセス者を都道府県別にカウントするもの」と判明。

il||li _| ̄|○ il||li ずっと天気予報だと思ってました。

個人的にアクセス数なんて「どうでもいい派」なんだけど… 都道府県別にカウントって機能が面白そう。
そんな訳で設置してみました。
ただ、設置してしまうと数値が気になるのは人情。

先程、確認してみると… il||li _| ̄|○ il||li 24人って(苦笑

静岡9、青森・宮城・栃木・埼玉・千葉・新潟・愛知・和歌山(JISコード順)計8県が1、その他7
どういう形式でアクセス数をカウントしてるのか不明だけど
場合によっちゃ、静岡の9は全部私かもね。 ≧∇≦ブハハハハハ

地図の全部に色が塗られる日は来るのかしら?

で、本題はコレの設置方法。 結構、悩まされました。
当日記は、フッタ部分に表示されているサイトでフリーで配布されているCGIを使用。
とても便利で、使い勝手も良く申し分無いんだけど…
細かいファイルをたくさん呼び出す感じで、
どのファイルがどの部分を担当しているのか、いまいちピンと来ない。

もちろん、私の勉強不足が原因です。 製作者・配布先様には感謝しておりますです。 orz

で、skin内 navigation.htmlを編集。
新しいカテゴリの作り方が解らないので、プロフィール内へ。

 <!--SKIN_PROFILE_FOOT_START-->
 </ul>
の下に発行されたタグを貼付。

そのままだと表示位置が左寄せになってしまうので、divにclassを新しく用意。
common.cssを編集して、新しいclassにwidth、font-size、text-align、margin-topを設定。
ブラウザをリロードすると… 表示された。 ヽ(´▽`)/ ワーイ

となっていたのが昨日。

本日「お姉チャンポン」の記事を書き、一応17才以上という事なので
ゲーム画像は、所謂「続きを読む」って方法で隠す事に。
で、ちゃんと画像が貼れてるか確認をしていたら…

右上の賑やかなヤツが消えている。 Σ(`ロ´ノ)ノ
あれれ?と、思いながらスクロールをしていくと画面下部に移動していた。
しかも左に寄ってしまい、他のメニューと重なって表示。 これは何とかしなければ。

公式サイトを一生懸命読んだけど、特に解決方法が書かれて無い(私が探すの下手なだけかもだけど)
正直、滅多に「続きを読む」なんて使わないし、黙殺しようかなぁ~とも思ったけど…
気付いちゃったのに無視ってのもねぇ。

そんな訳で必死こいて検索した結果、下記ページに解決方法のヒントがありました。
 たま日記様 http://tama.mjax.net/archives/145.html

たま日記様に書かれている通り、common.css内、ヘッダ定義前に
div#container .新しいclass名 {
 position: absolute;
 left: -200px;
 top: 0px;
}
を追加。

昨日作成したclassにposition: static;を設定。
一度、表示を場所を画面外に隠して、information(navigation)内なら表示位置を戻すって感じですね。
これでTOPには表示されるけど、各記事を個別表示させた場合は隠れるようになりました。 ヽ(´▽`)/

やっぱり、全ファイルを印刷するなりして、全体的な流れを勉強しておいた方が良いのかなぁ。

ユーティリティ

- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

ページ

  • ページが登録されていません。

新着エントリー

新着コメント

Re:初のスキルLV.10武将 の続き 2
2014/09/24 from DSHata(管理人)
Re:伊東市の鳥
2014/05/16 from DSHata(管理人)
Re:【訃報】
2014/04/26 from DSHata(管理人)
Re:4147 根岸兎角
2014/01/19 from DSHata(管理人)
Re:娘、散財開始
2014/01/08 from DSHata(管理人)

過去ログ