root/trunk/install/perl/envpolicyupdate.pl

リビジョン 94, 1.4 kB (コミッタ: sorshi, コミット時期: 14 年 前)

SQLite採用

Line 
1 #!/usr/bin/perl
2 #
3 # Anime recording system foltia
4 # http://www.dcc-jpl.com/soft/foltia/
5 #
6 #
7 # envpolicyupdate.pl
8 #
9 # 環境ポリシー利用時に.htpasswdを再編する。
10 #
11 #
12 # DCC-JPL Japan/foltia project
13 #
14 #
15
16 use DBI;
17 use DBD::Pg;
18 use DBD::SQLite;
19
20 $path = $0;
21 $path =~ s/envpolicyupdate.pl$//i;
22 if ($path ne "./"){
23 push( @INC, "$path");
24 }
25
26 require "foltialib.pl";
27
28 # 環境ポリシーを使っているかPHPコンフィグファイル解析
29 $returnparam = getphpstyleconfig("useenvironmentpolicy");
30 eval "$returnparam\n";
31
32 if ($useenvironmentpolicy == 1){
33 $returnparam = getphpstyleconfig("environmentpolicytoken");
34 eval "$returnparam\n";
35
36     $dbh = DBI->connect($DSN,$DBUser,$DBPass) ||die $DBI::error;;
37
38     $envph = $dbh->prepare($stmt{'envpolicyupdate.1'});
39         $envph->execute();
40
41 #なければつくる
42 unless (-e "$toolpath/.htpasswd"){
43         $oserr = `touch $toolpath/.htpasswd`;
44 }else{
45         $oserr = `mv $toolpath/.htpasswd $toolpath/htpasswd_foltia_old`;
46         $oserr = `touch $toolpath/.htpasswd`;
47 }
48
49 while (@ref = $envph->fetchrow_array ){
50
51 if ($ref[0] == 0){
52 #ユーザクラス
53 #0:特権管理者
54 #1:管理者:予約削除、ファイル削除が出来る
55 #2:利用者:EPG追加、予約追加が出来る
56 #3:ビュアー:ファイルダウンロードが出来る
57 #4:ゲスト:インターフェイスが見れる
58
59         $htpasswd = "$ref[2]";
60 }else{
61         $htpasswd = "$ref[2]"."$environmentpolicytoken";
62 }
63
64 $oserr = `htpasswd -b $toolpath/.htpasswd $ref[1] $htpasswd`;
65
66
67 }#end while
68 &writelog("envpolicyupdate htpasswd updated.");
69
70 }#endif
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。
track feed