Subversion Repositories php-qbpwcf

Rev

Rev 83 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
29 liveuser 1
#!/usr/bin/php
2
<?php
3
 
4
/*
5
 
6
本程式說明:
7
 
8
將設定檔變數 $config 寫入到檔案裡面.
9
 
10
*/
11
 
222 liveuser 12
#使用命名空間qbpwcf
13
namespace qbpwcf;
14
 
15
#初始化輸出
16
$output=array();
17
 
18
#取得 lib path
19
exec("php -f ".escapeshellarg(pathinfo(__FILE__)["dirname"]."/../../../../../usr/bin/libexec/folderOfUsrLib.php"),$output,$status);
20
 
21
#如果執行失敗
22
if($status!==0){
23
 
24
	#debug
25
	var_dump(__LINE__,$output);
26
 
27
	#結束執行,回傳shell 1.
28
	exit(1);
29
 
30
	}#if end
31
 
32
#儲存lib path
33
$folderOfUsrLib=$output[0];
34
 
35
#初始化輸出
36
$output=array();
37
 
38
#以該檔案的實際位置的 lib path 為 include path 首位
39
exec("cd ".pathinfo(__FILE__)["dirname"]."/../../../../../usr/".$folderOfUsrLib."/qbpwcf;pwd;",$output,$status);
40
set_include_path($output[0].PATH_SEPARATOR.get_include_path());
41
 
42
#匯入套件
43
require_once("allInOneForCmd.php");
44
 
45
#建議的log位置
46
$logFile=$_SERVER["DOCUMENT_ROOT"].$_SERVER["PHP_SELF"].".log";
47
 
29 liveuser 48
$configFile=".hta_config:server";
49
 
50
#初始化設定值
51
$config=array();
52
 
53
#設定檔的名稱
54
$name="devel.qbpwcf.org";
55
 
56
#初始化儲存domain name的陣列
57
$domainNames=array();
58
$domainNames[]="qbpwcf.org";
59
$domainNames[]=$name;
60
$domainNames[]="dns.qbpwcf.org";
61
$domainNames[]="mail.qbpwcf.org";
62
 
63
#設置 ip 的反解析
64
$config["193.42.43.36"]["dig -x"]=$domainNames;
65
 
66
#給予設定檔好記的名稱
67
$config[$name]=&$config["193.42.43.36"];
68
 
69
#設定檔的名稱
70
$name="contabo.qbpwcf.org";
71
 
72
#初始化儲存domain name的陣列
73
$domainNames=array();
74
$domainNames[]="contabo.qbpwcf.org";
75
$domainNames[]="backup.qbpwcf.org";
76
$domainNames[]="config.qbpwcf.org";
77
$domainNames[]="ip.qbpwcf.org";
78
$domainNames[]="lib.qbpwcf.org";
79
$domainNames[]="nextcloud.qbpwcf.org";
80
 
81
#設置 ip 的反解析
82
$config["149.102.158.38"]["dig -x"]=$domainNames;
83
 
84
#給予設定檔好記的名稱
85
$config[$name]=&$config["149.102.158.38"];
86
 
222 liveuser 87
#函式說明:
88
#建立供 apache 讀取的設定檔案.
89
#回傳結果:
90
#$result["status"],執行是否正常,"true"為正常,"false"為不正常.
91
#$result["error"],錯誤訊息陣列.
92
#$result["function"],當前執行的函數名稱.
93
#$result["content"],定義對應的內容.
94
#必填參數:
95
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
96
$conf["fileArgu"]=__FILE__;
97
#$conf["configFileAddr"],字串,定義檔位置與名稱
98
$conf["configFileAddr"]=$configFile;
99
#$conf["content"],陣列,要儲存的key -> value 陣列.
100
$conf["content"]=$config;
101
#可省略參數:
102
#$conf["web"],是要取得網路上的檔案則為"true";反之則為"false",預設為後者.
103
#$conf["web"]="false";
104
#參考資料:
105
#無.
106
#備註:
107
#檔案內容的格式為多行json編碼然後url編碼然後base64編碼後的內容,每行代表一組定義.每組定義的json格式為php多維陣列所組成.
108
$create=config::create($conf);
109
unset($conf);
29 liveuser 110
 
222 liveuser 111
#如果執行失敗
112
if($create["status"]==="false"){
29 liveuser 113
 
222 liveuser 114
	#函式說明:
115
	#撰寫log
116
	#回傳結果:
117
	#$result["status"],狀態,"true"或"false".
118
	#$result["error"],錯誤訊息陣列.
119
	#$result["function"],當前函式的名稱.
120
	#$result["argu"],使用的參數.
121
	#必填參數:
122
	#$conf["path"],字串,log檔案的路徑與名稱.
123
	$conf["path"]=$logFile;
124
	#$conf["content"],any,要寫的內容,若內容不為字串則會用var_dump的格式寫入.
125
	$conf["content"]=$create;
126
	#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
127
	$conf["fileArgu"]=__FILE__;
128
	#可省略參數:
129
	#$conf["rewrite"],預設為"false",接續寫入;反之"true"代表重新寫入.
130
	#$conf["rewrite"]="false";
131
	#參考資料:
132
	#無.
133
	#備註:
134
	#無.
135
	$record=logs::record($conf);
136
	unset($conf);
137
 
138
	#結束執行
139
	exit(1);
140
 
141
	}#if end
29 liveuser 142
 
143
?>