Archives 6月 2014

スタイルシートを相対パスで書きだす

 <?php $dir = get_template_directory_uri() ; //テーマディレクトリ?>

<?php //wp関数とは同じ括りに入れられないらしい。syntaxErrになる
 $pos = strpos((string)$dir , '/' ,8 );
 $sdir= substr($dir, $pos, strlen($dir)-$pos);
?>

<link rel="stylesheet" href="<?=$sdir ?>/style.css" type="text/css" />
<!--ついでにこれも-->
 <link href="<?=$sdir ?>/favicon.gif" rel="shortcut icon">

ACCESS DB import エラー

CSVファイルをテーブルにインポートするソース

DoCmd.TransferText acImportDelim, , "amajpcsv", msg, True

以下のコードに置いて数万件のレコードがはじめの数十件しかインポートできない。
テーブル定義は、先頭フィールドがテキスト。
インポートできるデータの数十件は数字で入っているようだ。

どうやら、一つのフィールドに数字と文字が混ざっているとダメらしい。
データを並べ替えて文字データを先頭に持ってきたら全部読みこまれた。
並べ替えるのは大変なので、これでイケルようなのでやってみたらすんなり成功。

まず、メニューの「外部データの取込」「インポート」でテキストファイルを指定して、
インポートウィザードで起動します。そこで「設定」をクリックして
「インポート定義」を開きます。そこで、各フィールドのデータ型を指定します。
「保存」をクリックして定義名を付けて保存します。

TransferTextメソッドの第2引数に上で付けた定義名を指定します。

DoCmd.TransferText acImportDelim, "Jpデータ_インポート定義", "amajpcsv", msg, True

リンク画像を拡大表示&移動可能にする

zoomy2

<script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/prototype.js"></script>
<script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/scriptaculous.js?load=effects,dragdrop"></script>
<script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/effects.js"></script>
<script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/dragdrop.js"></script>
<script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/zoomy.js"></script>

<script type="text/javascript">
Event.observe(window,"load",function() {

$$("div.entry-content a").each(function(element){
new Zoomy(element, { draggable: true });
});
});
</script>


/* thumbnails grid */
.zoomy, .zoomy2 { float:left; width:100%; }
.zoomy li, .zoomy2 li { list-style:none; float:left; display:inline; margin-right:5px; margin-bottom:5px; width:150px; height:100px;  }
.zoomy a, .zoomy2 a { text-decoration:none; display:block; width:150px; height:100px; }


/* ..... ZOOMY */
#zoomy { position:absolute; overflow:hidden; background:#000000; padding:0px; border:1px solid #FFFFFF; text-align:center; color:#fff; line-height:0; }
#zoomy img { margin:5px; }
#zoomy p { position:relative; margin:10px 5px 5px 5px; line-height:100%; text-align:left  }

#close { position:absolute; right:5px; width:12px; height:12px; background:url(close.gif) no-repeat; cursor:pointer;} 


基本的に”prototype.js”はjQeryとは競合するので、もし共存させたければこの記事を参考に
「jQueryとprototype.js共存させる為にする事」

タグに付けられたIDにClassを追加する

body内にないとダメらしい。うまく行かなかったらあちこち移動してみる。
prototype.jsがほしいのでどっかから参照する。

<script src="/js/prototype.js" type="text/javascript"></script>


<script>// <![CDATA[

 var element4=document.getElementById("menu-item-71") 
 element4.addClassName("shake");  //クラス shakeを追加

element4.removeClassName("menu-item-object-page"); //menu-item-object-pageクラスを除去
// ]]></script>

スライスされたファイルを名変しフォルダに入れるvbscript

Option Explicit
Dim objFileSys, strScriptPath , str_path
Dim strFilePath, objFile,str_from ,str_to
Dim i , FileName, picName, picNo, newName

Set objFileSys = CreateObject(“Scripting.FileSystemObject”)

strScriptPath = Replace(WScript.ScriptFullName,WScript.ScriptName,””)
picName = “gochiso0”
picNo = “01”

If Not objFileSys.FolderExists(“.\page” & picNo) Then
str_path = objFileSys.CreateFolder(“.\page” & picNo) & “\” ‘フォルダ作成
else
str_path =”.\page” & picNo & “\”
end if

for i=1 to 4

if i > 2 then
FileName = picName & picNo & “_r2_c” & i-2 & “.png”
newName = picName & picNo & “_1_” & i-2 & “-2.png”

str_from = strScriptPath & FileName ‘古いパスと名前
str_to = str_path & newName ‘新しいパスと名前

else
FileName = picName & picNo & “_r1_c” & i & “.png”
newName = picName & picNo & “_1_” & i & “-1.png”

str_from = strScriptPath & FileName ‘古いパスと名前
str_to = str_path & newName ‘新しいパスと名前

end if

Call objFileSys.MoveFile(str_from, str_to)’ファイル名を変更して移動する

next

Set objFile = Nothing
Set objFileSys = Nothing

Windows server2008特定IPからの通信を遮断

手順:
 ローカルセキュリティー・ポリシー で「IP セキュリティポリシー」スナップインを開く。

 ※まずは、「ブロック」というポリシーと、「対象になるIPを指定する場所」を作成します。

 左ペインの「IPセキュリティポリシー」を右クリックし「IPフィルタ一覧とフォルダ操作の管理」を開きます。

 「フィルタ操作の管理」タブの方を選択します。
 「追加」ボタンをクリックします(追加ウィザードを使用に☑があることを確認してね)

 ウィザードが走り出したら、「次へ」をクリックします。
 まずは、「名前」から。
 ここの名前は「ブロック」にします。(なんでもいいですが、この方がわかりやすい)

 「次へ」をクリックします。

 フィルタ操作の挙動を設定しろと言われるので

   「ブロック(L)」

 を選択して、「次へ」をクリックします。
 「完了」をクリックして終わります。

これで、先ほどの「フィルタ操作の管理」タブの中に「ブロック」という項目ができているはずです。

次にやることは、対象となるIPアドレス(IPアドレスやレンジ、名前)を登録する場所を作ります。

「IPフィルタ一覧の管理」タブの方をクリックします。
「追加」ボタンをクリックします。

名前」を入れろと言われるので、わかりやすい名前を付けます。
今回は「10.254.0.11」にしてみました。(このIPからの通信を遮断するということで)
説明欄はお好きに使ってください。

「追加」ボタンをクリックします(追加ウィザードを使用に☑が入っていることを確認)

 ウィザードが走るので「次へ」をクリックします。
 ミラー化の☑が入っていることを確認して、「次へ」をクリックします。

 IPトラフィック発信元の指定です。
   発信元アドレス → このコンピュータのIPアドレス にします。
   「次へ」をクリックします。

 IPトラフィックの宛先アドレスの指定です。(ここは選択肢から好きなものを!)
   今回は特定のIPからの通信を遮断なので、「特定のIPアドレス」を選択して
   IPアドレスを入力します。 10.254.0.11

 IPプロトコルの指定です。
   ぜ~~ぶ止めたいので「任意」を選択しておきます。「次へ」をクリックします。

 「完了」をクリックします。

IPフィルタ一覧に戻ると、下段の「IPフィルタ」の欄に先ほど作ったものが見えるはずです。
「OK」をクリックして閉じます。

 IPフィルタ一覧とフィルタ操作の管理画面を「閉じる」をクリックして閉じます。

さぁ続いてポリシーの作成と有効化に移ります。

左ペインの「IPセキュリティポリシー」を右クリックし「IPセキュリティポリシーの作成」をクリックします。ウィザードが走ります。「次へ」をクリックします。
このポリシーに名前を付けます。

今回は「10.254.0.11-遮断」にしてみました。「次へ」をクリックします。

規定の応答規則をアクティブにするに☑を外して「次へ」をクリックします。

「プロパティを編集する」に☑が入っていることを確認して「完了」をクリックします。

今作った「10.254.0.11-遮断」のプロパティ画面になります。
(□ <動的> 既定の応答 ・・・チェックが外れているのを確認してください)

「追加」ボタンをクリックします。(追加ウィザードを使用に☑が入っているか確認)

追加ウィザードが走ります。「次へ」をクリックします。

トンネルエンドポイント
    「指定しない」を選択した状態で「次へ」をクリックします。

ネットワークの種類  
    「ローカルエリアネットワーク(LAN)(L)」を選択します(ここは皆様の環境次第ね)
    「次へ」をクリックします。

IPフィルタ一覧から、先ほど作った「10.254.0.11-遮断」を選択して「次へ」をクリックします。
フィルタ操作の一覧から先ほどの前に作った「ブロック」を選択して「次へ」をクリックします。

「完了」をクリックします。

新しい規則のプロパティ画面になります。一通りタブを見て確認しておいてください。
よければ「OK」をクリックして、プロパティを閉じます。

「10.254.0.11-遮断」のプロパティも「OK」をクリックして閉じます。

※ようやく「準備」ができました。

最後に、今作成したポリシーを「割り当て」ることで有効化します。

ローカルセキュリティー・ポリシーの右ペインに「10.254.0.11-遮断」という名前のポリシーがあるはずです。
「ポリシーの割り当て」欄が「いいえ」になっているはずです。
ここを「はい」にすると、今まで設定してきた 10.254.0.11からの通信の遮断が実施されます。

右ペインの「10.254.0.11-遮断」を右クリックし、コンテキストメニューから「割り当て」を選択します。
ポリシーの割り当て欄が「はい」に変わっていれば、10.254.0.11からの通信は遮断されているはずです。

このようにして、複数のIPアドレスやIPアドレス範囲、DNS名等を使って、Windows server 2008 への通信を遮断することができました。