2011年2月18日金曜日

phpでul liの入れ子構造を出力する。

phpでul liの入れ子構造を出力

準備する配列
--------------------------------------------

&Array
(
    [home] => 
    [cabinet] => 
    [document] => 
    [キャビネット] => 
    [ドク] => Array
        (
            [まっぱ] => 
        )

)
  1. //--------------------------------------------------------------------  
  2. // Key=>val 形式配列を HTML <li>にする  
  3. //--------------------------------------------------------------------  
  4. $ECHOS.='<ul >';  
  5. $ECHOS.=array2list($keyarray);  
  6. $ECHOS.='</ul>';  
  7. echo $ECHOS;  
  8.   
  9. function array2list($ary){  
  10.   
  11.  foreach ($ary as $key => $val) {  
  12.   $ECHOS.='<li>'.$key;  
  13.   if(is_array($val)){  
  14.    $ECHOS.='<ul>';  
  15.    $ECHOS.=array2list($val);  
  16.    $ECHOS.='</ul>'."\n";  
  17.   }  
  18.   $ECHOS.='</li>'."\n";  
  19.  }  
  20.  return $ECHOS;  
  21. }  
  • Home
  • cabinet
  • document
  • キャビネット
  • ドク
      • まっぱ
邪道??ですか^^?


作ったあとで、このようなページを見つけたんですが。。
http://soft.fpso.jp/develop/php/entry_2790.html

VersionControl_SVN 再帰リスト 大嘘

VersionControl_SVN 再帰的フォルダリストの取得の説明を検索すると、
マニュアルの日本語訳?が出てくるけど、
そのコード
「リポジトリ内の現在のファイル一覧を再帰的に取得する」
  1. require_once 'VersionControl/SVN.php';  
  2.   
  3. // エラー処理を設定します -- 常にこのようにしておきましょう!  
  4. $svnstack = &PEAR_ErrorStack::singleton('VersionControl_SVN');  
  5.   
  6. // 実行時オプションを設定します  
  7. $options = array('fetchmode' => VERSIONCONTROL_SVN_FETCHMODE_RAW);  
  8.   
  9. // 方法その 1: オーバーヘッドを最小にする  
  10. // 必要なサブコマンドを個別に指定して svn オブジェクトを作成します  
  11. $svn = VersionControl_SVN::factory(array('list''log''blame'), $options);  
  12.   
  13. // 必要なスイッチや引数を定義します  
  14. $switches = array('username' => 'user''password' => 'pass');  
  15. $args = array('svn://svn.example.com/repos/TestProject');  
  16.   
  17. print_r($svn->list->run($args$switches));  
  18.   
  19. // 上の出力からファイルを取り出し、だれが何をしたのかを調べます  
  20. $args = array('svn://svn.example.com/repos/TestProject/trunk/index.php');  
  21.   
  22. echo "<pre>" . $svn->blame->run($args) . "</pre>";  
  23.   
  24. // 方法その 2: 使用できるすべてのコマンドを支配する  
  25. // 全サブコマンドを読み込む - オーバーヘッドが大きくなりますが、これが便利な場合もあるでしょう。  
  26. $svn = VersionControl_SVN::factory('__ALL__'$options);  
  27.   
  28. // さあ、必要なコマンドはなんでも実行できます ...  
  29. $svn->cat->run($args$switches);  
  30. $svn->info->run($args$switches);  
  31. // ... などなど。  
これじゃ、できません!!
できないソースを単純に訳しただけのページの多いこと多いこと、
まあ、悪いことじゃないけど、実際にやろうとする人は惑わされます
  1. $switches = array('username' => 'user''password' => 'pass','R' => true);  
にします。

2011年2月16日水曜日

文書管理システム 調査 比較

 






名称

URL

機能

価格

Oracle UCM 1

http://www.nsxpres.com/oracle_ucm/onebox.html


  • バージョン管理

  • 全文検索、キーワード検索

  • 承認ワークフロー

  • 保存期間管理

  • 仮想ドキュメント(フォリオ)機能

  • WebDAV機能

5,000,000~

 

 

 

 

 

 

 

 

 

VersionControl_SVN 日本語フォルダ作成に成功

ホストモンスター shared
にて

pear VersionControl_SVNを使って、SVN クライアント的テスト。

svn 日本語フォルダの作成表示
サーバーのlocaleの問題
setlocale(LC_ALL, 'ja_JP.UTF-8');で解決!!(^^)v
問題は
SVN.php
640行:$this->args[$k] = escapeshellarg($args[$k]);
escapeshellarg
がパス中の日本語を削除してました。

  1. setlocale(LC_ALL, 'ja_JP.UTF-8');  
  2. $args=array("file:///home/public_html/svnroot/trunk/どきゅめんと");  
  3. $switches = array('m' => 'Let\'s make a hole here ...''username' => 'user''password' => 'psss');  
  4. $svn = VersionControl_SVN::factory(array('mkdir'), $options);  
  5. if ($output = $svn->mkdir->run($args$switches)) {  
  6.      print_r($output);  
  7.  } else {  
  8.      if (count($errs = $svnstack->getErrors())) {  
  9.          foreach ($errs as $err) {  
  10.              echo '  
  11. '.$err['message']."  
  12. \n";  
  13.              echo "Command used: " . $err['params']['cmd'];  
  14.          }  
  15.      }  
  16.  }  

2011年2月15日火曜日

HTML TABLE  俺の 基本スタイル

スタイルのメモです。
  1. table {  
  2.     width630px;  
  3.     border1px #999999 solid;  
  4.     border-collapsecollapse;  
  5.     border-spacing0;  
  6. }  
  7.   
  8. th {  
  9.     padding1px;  
  10.     border#999999 solid;  
  11.     border-width0 0 1px 1px;  
  12.     background#F7F5AF;  
  13.     font-weightbold;  
  14.     text-aligncenter;  
  15. }  
  16. td {  
  17.     padding2px;  
  18.     border1px #999999 solid;  
  19.     border-width0 0 1px 1px;  
  20.     text-alignleft;  
  21. }  


REMOTE_USER
REMOTE_USER_NAME
MAX_ACCESS_CNT
MAX_ACCESS_DATE
REMOTE_ADDR
AD12343
TANAKA TATUYA
9
2011/02/15 16:40:13
127.0.0.1
AD123430
YAMADA TAKASI
5
2011/02/14 19:36:59
127.0.0.1
AD123431
TAKAHASI HIDEKI
6
2011/02/15 10:23:57
127.0.0.1
AD123432
AKB48
5
2011/02/15 16:26:43
127.0.0.1

2011年2月14日月曜日

ASP.NET C# 環境変数の表示

ちょくちょく必要なのでメモです
  1. protected void Page_Load(object sender, EventArgs e)  
  2.     {  
  3.          for(int i=0;i<Request.ServerVariables.AllKeys.Length;i++){  
  4.             SERVER+="\n\n" + Request.ServerVariables.AllKeys[i]  
  5.         +" \t\t"   
  6.         + Request.ServerVariables[Request.ServerVariables.AllKeys[i]];  
  7.         }  
  8.         Label1.Text = DataTableShow(SERVER);  
  9.   
  10.     }  
  11.     private string DataTableShow(string dt)  
  12.     {  
  13.         string html = "";  
  14.         html += "\n" + "";           
  15.     String[] dtrow = dt.Split(new string[] { "\n\n" }, StringSplitOptions.None);           
  16.     for (int i = 0; i < dtrow.Length; i++)  
  17.         {  
  18.             String[] dtcol = dtrow[i].Split(new string[] { "\t\t" }, StringSplitOptions.None);  
  19.             html += "\n" + "";             for (int ci = 0; ci < dtcol.Length; ci++)  
  20.             {  
  21.                 html += "\n" + "";             }             html += "\n" + "  
  22. ";         }         html += "\n" + "<table border="1"><tbody><tr><td>";                 html += dtcol[ci];                 html += "\n" + "</td></tr></tbody></table>";  
  23.         return html;  
  24.     }  

2011年2月13日日曜日

ホストモンスターにサブバージョンをインストール

ホストモンスター シェルアクセスの許可をとる。
IDカードを送れというので、免許証を携帯カメラで撮ってメールする。
英語のIDカードを送れというので、
日本人だから、免許証しかないとメールすると、
許可しましたと着た。
参考(^^)
hello
I'm japanese
I have no personal Id card any in english
better version drivers license ok?
or I can not use SSH??
how do i do?

ログイン SSH接続
http://www.jitaku-server.net/ssh_crypto.html
  1. [@@@]mkdir src  
  2. [@@@]cd src  
  3. [@@@]wget http://www.axint.net/apache/apr/apr-1.4.2.tar.gz  
  4. [@@@]cd apr-1.4.2  
  5. [@@@]./configure --prefix=$HOME  
  6. [@@@]make  
  7. [@@@]make install  
  8. [@@@]cd src  
  9. //1.3系でいいの??  
  10. [@@@]wget http://www.axint.net/apache/apr/apr-util-1.3.10.tar.gz  
  11. [@@@]tar -xzf apr-util-1.3.10.tar.gz  
  12. [@@@]cd cd apr-util-1.3.10  
  13. [@@@]./configure --prefix=$HOME --with-apr=$HOME  
  14. [@@@]make  
  15. [@@@]make install  
  16. [@@@]cd  
  17. [@@@]cd src  
  18. [@@@]wget http://subversion.tigris.org/downloads/subversion-1.6.15.tar.gz  
  19.   
  20. [@@@]tar -xzf subversion-1.6.15.tar.gz  
  21. //subversion インストールの前にSQLiteを入れる 1.6.15にはすでに入ってる?!  
  22. //[@@@]wget http://www.sqlite.org/sqlite-amalgamation-3.6.16.tar.gz  
  23. //[@@@]tar -xzvf sqlite-amalgamation-3.6.16.tar.gz  
  24. //[@@@]cd sqlite-3.6.16  
  25. //[@@@]mkdir ~/src/subversion-1.6.15/sqlite-amalgamation  
  26. [@@@]cd ~/src/subversion-1.6.3  
  27.   
  28. //[@@@]./configure --prefix=$HOME --without-berkeley-db --with-zlib=/usr --with-ssl  
  29. //上make失敗 したでOK 64bit cpu??   
  30. [@@@]./configure --prefix=$HOME --without-berkeley-db --with-zlib=/usr --with-ssl --with-expat=builtin --enable-shared  
  31.   
  32. [@@@]make  
  33. [@@@]make install  
make install で なにかapache系のエラーで終了したが、binには一通り入った??

versionControl_SVN
/php/VersionControl のSVN.php $svn_pathを修正

2011年2月10日木曜日

MySQL 複合キーの auto_increment

キー毎にインクリメントする
MyISAM 指定が必要です

  1. create table xuserinc(userid varchar(10),accnt int auto_increment,ac varchar(10)  
  2. ,primary key(userid,accnt)) ENGINE =MyISAM;  

2011年2月9日水曜日

Subversion アクセス制限のヒント?

http://wiki.livedoor.jp/syo1976/d/AuthzSVNAccessFile

とりあえずブックマーク

Javascript window.event の共通化

eventオブジェクトを返す関数。

元はhttp://p2b.jp/index.php?UID=1149066600

  1. function windowEvent(){  
  2.   if(window.event) return window.event;  
  3.   var caller = arguments.callee.caller;  
  4.   while(caller){  
  5.     var ob = caller.arguments[0];  
  6.     if(ob && ob.constructor == MouseEvent) return ob;  
  7.     caller = caller.caller;  
  8.   }  
  9.   return null;  
  10. }