チェンジセット 70: trunk/install/php/foltialib.php

差分発生行の前後
無視リスト:
コミット日時:
2008/01/24 18:27:18 (16 年前)
コミッタ:
sorshi
ログメッセージ:

環境ポリシー機能搭載

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • trunk/install/php/foltialib.php

    r67 r70  
    261261function printhtmlpageheader(){ 
    262262 
     263global $useenvironmentpolicy; 
     264 
    263265$serveruri = getserveruri(); 
    264  
    265 print "<p align='left'><font color='#494949'><A HREF = 'http://www.dcc-jpl.com/soft/foltia/' target=\"_blank\">foltia</A> | <A HREF = './index.php'>放映予定</A> | <A HREF = './index.php?mode=new'>新番組</A> | <A HREF = './listreserve.php'>予約一覧</A> | <A HREF = './titlelist.php'>番組一覧</A> | <A HREF = './viewepg.php'>番組表</A> | 録画一覧(<A HREF = './showplaylist.php'>録画順</A>・<A HREF = './showplaylist.php?list=title'>番組順</A>・<A HREF = './showplaylist.php?list=raw'>全</A>) | <A HREF = './showlib.php'>録画ライブラリ</A> |  <A HREF = './folcast.php'>Folcast(RSS)</A>[<a href=\"itpc://$serveruri/folcast.php\">iTunesにFolcastを登録</a>] |</font></p>\n"; 
     266$username = $_SERVER['PHP_AUTH_USER']; 
     267 
     268print "<p align='left'><font color='#494949'><A HREF = 'http://www.dcc-jpl.com/soft/foltia/' target=\"_blank\">foltia</A> | <A HREF = './index.php'>放映予定</A> | <A HREF = './index.php?mode=new'>新番組</A> | <A HREF = './listreserve.php'>予約一覧</A> | <A HREF = './titlelist.php'>番組一覧</A> | <A HREF = './viewepg.php'>番組表</A> | 録画一覧(<A HREF = './showplaylist.php'>録画順</A>・<A HREF = './showplaylist.php?list=title'>番組順</A>・<A HREF = './showplaylist.php?list=raw'>全</A>) | <A HREF = './showlib.php'>録画ライブラリ</A> |  <A HREF = './folcast.php'>Folcast</A>[<a href=\"itpc://$serveruri/folcast.php\">iTunesに登録</a>] | "; 
     269if ($useenvironmentpolicy == 1){ 
     270        print "【 $username 】"; 
     271
     272 
     273print "</font></p>\n"; 
    266274 
    267275} 
     
    529537 
    530538 
    531  
    532  
    533  
    534  
    535  
    536  
    537  
    538  
    539  
    540  
    541  
     539function login($con,$name,$passwd){ 
     540global $environmentpolicytoken; 
     541 
     542//入力内容確認 
     543 if (((mb_ereg('[^0-9a-zA-Z]', $name)) ||(mb_ereg('[^0-9a-zA-Z]', $passwd) ))){ 
     544         
     545        //print "エラー処理\n"; 
     546        //print "<!-- DEBUG name/passwd format error-->"; 
     547        redirectlogin(); 
     548         
     549}else{ 
     550//print "正常処理\n"; 
     551//db検索 
     552escape_string($name); 
     553escape_string($passwd); 
     554 
     555$query = " 
     556SELECT memberid ,userclass,name,passwd1  
     557FROM foltia_envpolicy  
     558WHERE foltia_envpolicy.name  = '$name'   
     559        "; 
     560        $useraccount = m_query($con, $query, "DBクエリに失敗しました"); 
     561        $useraccountrows = pg_num_rows($useraccount); 
     562         
     563        if ($useraccountrows == 1 ){ 
     564                $rowdata = pg_fetch_row($useraccount, 0); 
     565                $memberid = $rowdata[0]; 
     566                $userclass = $rowdata[1]; 
     567                $username =  $rowdata[2]; 
     568                $dbpasswd = $rowdata[3]; 
     569        }else{ 
     570                header("HTTP/1.0 401 Unauthorized"); 
     571                //print "<!-- DEBUG DB record error ($useraccountrows)-->"; 
     572                redirectlogin(); 
     573        }//end if 
     574 
     575 
     576// passwdをdbから取りだし 
     577if ($userclass == 0){ 
     578$dbpasswd = "$dbpasswd"; 
     579}else{ 
     580// db passwdとトークンを連結し 
     581$dbpasswd = "$dbpasswd"."$environmentpolicytoken"; 
     582
     583//それが入力と一致すれば認証 
     584if ($passwd == $dbpasswd) { 
     585//print "認証成功<br>$dbpasswd  $passwd\n"; 
     586}else{ 
     587//print "認証失敗<br>$dbpasswd  $passwd\n"; 
     588                header("HTTP/1.0 401 Unauthorized"); 
     589                //print "<!-- DEBUG passwd unmatch error>"; 
     590                redirectlogin(); 
     591
     592}//end if mb_ereg 
     593}//end function login 
     594 
     595 
     596 
     597 
     598function redirectlogin(){ 
     599 
     600print "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n"; 
     601print "<html><head>\n"; 
     602print "<title>foltia:Invalid login</title>\n"; 
     603print "</head><body>\n"; 
     604print "<h1>Invalid login</h1>"; 
     605print "<p>foltiaヘのアクセスにはログインが必要です。新規アカウント登録は<a href=\"./accountregist.php\">こちらから。</a></p><hr>\n"; 
     606print "<address>foltia by DCC-JPL Japan/foltia Project.  <a href = \"http://www.dcc-jpl.com/soft/foltia/\">http://www.dcc-jpl.com/soft/foltia/</a></address>\n"; 
     607print "</body></html>\n"; 
     608 
     609 
     610 
     611exit; 
     612}//end function redirectlogin 
     613 
     614function getuserclass($con){ 
     615global $useenvironmentpolicy; 
     616$username = $_SERVER['PHP_AUTH_USER']; 
     617 
     618if ($useenvironmentpolicy == 1){ 
     619$query = " 
     620SELECT memberid ,userclass,name,passwd1  
     621FROM foltia_envpolicy  
     622WHERE foltia_envpolicy.name  = '$username'   
     623        "; 
     624                $useraccount = m_query($con, $query, "DBクエリに失敗しました"); 
     625        $useraccountrows = pg_num_rows($useraccount); 
     626         
     627        if ($useraccountrows == 1 ){ 
     628                $rowdata = pg_fetch_row($useraccount, 0); 
     629                //$userclass = $rowdata[1]; 
     630                return ($rowdata[1]); 
     631        }else{ 
     632        return (99);//エラー 
     633        }//end if 
     634         
     635}else{ 
     636        return (0);//環境ポリシー使わないときはつねに特権モード 
     637}//end if 
     638}//end function getuserclass 
     639 
     640 
     641 
     642function getmymemberid($con){ 
     643global $useenvironmentpolicy; 
     644$username = $_SERVER['PHP_AUTH_USER']; 
     645 
     646if ($useenvironmentpolicy == 1){ 
     647$query = " 
     648SELECT memberid ,userclass,name,passwd1  
     649FROM foltia_envpolicy  
     650WHERE foltia_envpolicy.name  = '$username'   
     651        "; 
     652                $useraccount = m_query($con, $query, "DBクエリに失敗しました"); 
     653        $useraccountrows = pg_num_rows($useraccount); 
     654         
     655        if ($useraccountrows == 1 ){ 
     656                $rowdata = pg_fetch_row($useraccount, 0); 
     657                //$userclass = $rowdata[1]; 
     658                return ($rowdata[0]); 
     659        }else{ 
     660        return (-1);//エラー 
     661        }//end if 
     662         
     663}else{ 
     664        return (0);//環境ポリシー使わないときはつねに特権モード 
     665}//end if 
     666}//end function getuserclass 
     667 
     668 
     669function getmemberid2name($con,$memberid){ 
     670global $useenvironmentpolicy; 
     671//$username = $_SERVER['PHP_AUTH_USER']; 
     672 
     673if ($useenvironmentpolicy == 1){ 
     674$query = " 
     675SELECT memberid ,userclass,name,passwd1  
     676FROM foltia_envpolicy  
     677WHERE foltia_envpolicy.memberid  = '$memberid'   
     678        "; 
     679                $useraccount = m_query($con, $query, "DBクエリに失敗しました"); 
     680        $useraccountrows = pg_num_rows($useraccount); 
     681         
     682        if ($useraccountrows == 1 ){ 
     683                $rowdata = pg_fetch_row($useraccount, 0); 
     684                return ($rowdata[2]); 
     685        }else{ 
     686        return ("");//エラー 
     687        }//end if 
     688         
     689}else{ 
     690        return (""); 
     691}//end if 
     692 
     693 
     694 
     695}//end function getmemberid2name 
    542696 
    543697?> 
track feed