Subversion Repositories qbpwcf-lib(archive)

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
819 liveuser 1
#!/bin/php
2
<?php
3
 
4
#使用命名空間qbpwcf
5
namespace qbpwcf;
6
 
7
#assets dir
8
$assetsDir="assets of zerossl::csr_20241126";
9
 
10
#取得csr的內容
11
#函式說明:
12
#依據行號分隔抓取檔案的內容,結果會回傳一個陣列
13
#回傳的變數說明:
14
#$result["status"],執行是否成功,"true"代表成功;"fasle"代表失敗.
15
#$result["error"],錯誤訊息提示.
16
#$result["warning"],警告訊息.
17
#$result["function"],當前執行的函數名稱.
18
#$result["fileContent"],爲檔案的內容陣列.
19
#$result["lineCount"],爲檔案內容總共的行數.
20
#$result["fullContent"],為檔案的完整內容.
21
#$result["base64data"],為檔案的base64內容.
22
#$result["mimeType"],為檔案的mime type.
23
#必填參數:
24
#$conf["filePositionAndName"],字串,爲檔案的位置以及名稱.
25
$conf["filePositionAndName"]=$assetsDir."/test.qbpwcf.org.csr";
26
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
27
$conf["fileArgu"]=__FILE__;
28
#可省略參數:
29
#$conf["web"],是要取得網路上的檔案則為"true";反之預設為"false".
30
$conf["web"]="false";
31
#$conf["createIfnotExist"],字串,預設為"false"代表檔案不存在也不需要建立;反之為"true".
32
#$conf["createIfnotExist"]="false";
33
#參考資料:
34
#file(),取得檔案內容的行數.
35
#file=>http:#php.net/manual/en/function.file.php
36
#rtrim(),剔除透過file()取得每行內容結尾的換行符號.
37
#filesize=>http://php.net/manual/en/function.filesize.php
38
#參考資料:
39
#無.
40
#備註:
41
#無.
42
$getFileContent=fileAccess::getFileContent($conf);
43
unset($conf);
44
 
45
#如果執行失敗
46
if($getFileContent["status"]==="false"){
47
 
48
	#函式說明:
49
	#撰寫log
50
	#回傳結果:
51
	#$result["status"],狀態,"true"或"false".
52
	#$result["error"],錯誤訊息陣列.
53
	#$result["function"],當前函式的名稱.
54
	#$result["argu"],使用的參數.
55
	#必填參數:
56
	#$conf["path"],字串,log檔案的路徑與名稱.
57
	$conf["path"]=$logFile;
58
	#$conf["content"],any,要寫的內容,若內容不為字串則會用var_dump的格式寫入.
59
	$conf["content"]=$getFileContent;
60
	#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
61
	$conf["fileArgu"]=__FILE__;
62
	#可省略參數:
63
	#$conf["rewrite"],預設為"false",接續寫入;反之"true"代表重新寫入.
64
	#$conf["rewrite"]="false";
65
	#參考資料:
66
	#無.
67
	#備註:
68
	#無.
69
	$record=logs::record($conf);
70
	unset($conf);
71
 
72
	#如果寫log失敗
73
	if($record["status"]==="false"){
74
 
75
		#印出結果
76
		var_dump($record);
77
 
78
		}#if end
79
 
80
	#結束執行,回傳錯誤代碼1
81
	exit(1);
82
 
83
	}#if end
84
 
85
#函式說明:
86
#產生certificate sign request.
87
#回傳結果:
88
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
89
#$reuslt["error"],執行不正常結束的錯訊息陣列.
90
#$result["function"],當前執行的函式名稱.
91
#$result["argu"],所使用的參數.
92
#必填參數:
93
#$conf["certificate_domains"],字串,要簽署的doamin名稱.
94
$conf["certificate_domains"]="test.qbpwcf.org";
95
#$conf["certificate_csr"],字串,簽署的資訊.
96
$conf["certificate_csr"]=$getFileContent["fullContent"];
97
#$conf["fileArgu"],字串,變數__FILE__的內容.
98
$conf["fileArgu"]=__FILE__;
99
#可省略參數:
100
#$conf["apiDomain"],字串,提供服務的domain,預設為 self::getApiInfo()["doamin"].
101
#$conf["apiDomain"]=self::getApiInfo()["doamin"];
102
#$conf["path"],字串,提供服務的path,預設為 self::getApiInfo()["csrPath"].
103
#$conf["path"]=self::getApiInfo()["csrPath"];
104
#$conf["key"],字串,api key,預設為 self::getApiInfo()["apiKey"].
105
#$conf["key"]=self::getApiInfo()["apiKey"];
106
#參考資料:
107
#無.
108
#備註:
109
#無.
110
$csr=zerossl::csr($conf);
111
unset($conf);
112
 
113
#如果執行失敗
114
if($csr["status"]==="false"){
115
 
116
	#函式說明:
117
	#撰寫log
118
	#回傳結果:
119
	#$result["status"],狀態,"true"或"false".
120
	#$result["error"],錯誤訊息陣列.
121
	#$result["function"],當前函式的名稱.
122
	#$result["argu"],使用的參數.
123
	#必填參數:
124
	#$conf["path"],字串,log檔案的路徑與名稱.
125
	$conf["path"]=$logFile;
126
	#$conf["content"],any,要寫的內容,若內容不為字串則會用var_dump的格式寫入.
127
	$conf["content"]=$csr;
128
	#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
129
	$conf["fileArgu"]=__FILE__;
130
	#可省略參數:
131
	#$conf["rewrite"],預設為"false",接續寫入;反之"true"代表重新寫入.
132
	#$conf["rewrite"]="false";
133
	#參考資料:
134
	#無.
135
	#備註:
136
	#無.
137
	$record=logs::record($conf);
138
	unset($conf);
139
 
140
	#如果寫log失敗
141
	if($record["status"]==="false"){
142
 
143
		#印出結果
144
		var_dump($record);
145
 
146
		}#if end
147
 
148
	#結束執行,回傳錯誤代碼1
149
	exit(1);
150
 
151
	}#if end
152
 
153
#debug
154
var_dump($csr);