Subversion Repositories php-qbpwcf

Rev

Rev 104 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 104 Rev 226
Line 2... Line 2...
2
<?php
2
<?php
3
 
3
 
4
/*
4
/*
5
 
5
 
6
	QBPWCF, Quick Build PHP website Component base on Fedora Linux.
6
	QBPWCF, Quick Build PHP website Component base on Fedora Linux.
7
    Copyright (C) 2015~2025 Min-Jhin,Chen
7
    Copyright (C) 2014~2025 MIN ZHI, CHEN
8
 
8
 
9
    This file is part of QBPWCF.
9
    This file is part of QBPWCF.
10
 
10
 
11
    QBPWCF is free software: you can redistribute it and/or modify
11
    QBPWCF is free software: you can redistribute it and/or modify
12
    it under the terms of the GNU General Public License as published by
12
    it under the terms of the GNU General Public License as published by
Line 56... Line 56...
56
	#結束執行,回傳shell 1.
56
	#結束執行,回傳shell 1.
57
	exit(1);
57
	exit(1);
58
 
58
 
59
	}#if end
59
	}#if end
60
 
60
 
61
#設置 include path 
61
#設置 include path
62
set_include_path($output[0].PATH_SEPARATOR.get_include_path());
62
set_include_path($output[0].PATH_SEPARATOR.get_include_path());
63
 
63
 
64
#匯入套件
64
#匯入套件
65
require_once("allInOne.php");
65
require_once("allInOne.php");
66
 
66
 
Line 142... Line 142...
142
	#參考資料:
142
	#參考資料:
143
	#無.
143
	#無.
144
	#備註:
144
	#備註:
145
	#無.
145
	#無.
146
	$record=logs::record($conf);
146
	$record=logs::record($conf);
147
	
147
 
148
	#如果執行失敗
148
	#如果執行失敗
149
	if($record["status"]==="false"){
149
	if($record["status"]==="false"){
150
	
150
 
151
		#印出結果
151
		#印出結果
152
		var_dump($record);
152
		var_dump($record);
153
		
153
 
154
		}#if end
154
		}#if end
155
 
155
 
156
	#異常結束執行
156
	#異常結束執行
157
	exit(1);
157
	exit(1);
158
 
158
 
159
	}#if end
159
	}#if end
160
	
160
 
161
#函式說明:
161
#函式說明:
162
#使用 linux 的 uuid 指令來產生 uuid 字串
162
#使用 linux 的 uuid 指令來產生 uuid 字串
163
#回傳結果:
163
#回傳結果:
164
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
164
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
165
#$result["error"],錯誤訊息.
165
#$result["error"],錯誤訊息.
Line 197... Line 197...
197
	#參考資料:
197
	#參考資料:
198
	#無.
198
	#無.
199
	#備註:
199
	#備註:
200
	#無.
200
	#無.
201
	$record=logs::record($conf);
201
	$record=logs::record($conf);
202
	
202
 
203
	#如果執行失敗
203
	#如果執行失敗
204
	if($record["status"]==="false"){
204
	if($record["status"]==="false"){
205
	
205
 
206
		#印出結果
206
		#印出結果
207
		var_dump($record);
207
		var_dump($record);
208
	
208
 
209
		}#if end
209
		}#if end
210
		
210
 
211
	#異常結束執行
211
	#異常結束執行
212
	exit(1);
212
	exit(1);
213
 
213
 
214
	}#if end
214
	}#if end
215
 
215
 
Line 314... Line 314...
314
#如果有設置參數
314
#如果有設置參數
315
if(count($parseArgu["content"])>0){
315
if(count($parseArgu["content"])>0){
316
 
316
 
317
	#如果有 rootPath 參數
317
	#如果有 rootPath 參數
318
	if(isset($parseArgu["content"]["rootPath"])){
318
	if(isset($parseArgu["content"]["rootPath"])){
319
	
319
 
320
		#如果有 rootPath 參數存在
320
		#如果有 rootPath 參數存在
321
		if(isset($parseArgu["content"]["rootPath"][0])){
321
		if(isset($parseArgu["content"]["rootPath"][0])){
322
		
322
 
323
			#更新套件的安裝位置
323
			#更新套件的安裝位置
324
			$libOfRootPath=$parseArgu["content"]["rootPath"][0];
324
			$libOfRootPath=$parseArgu["content"]["rootPath"][0];
325
			
325
 
326
			#如果路徑不為 "/" 結束
326
			#如果路徑不為 "/" 結束
327
			if($libOfRootPath[strlen($libOfRootPath)-1]!=="/"){
327
			if($libOfRootPath[strlen($libOfRootPath)-1]!=="/"){
328
			
328
 
329
				#補上 "/"
329
				#補上 "/"
330
				$libOfRootPath=$libOfRootPath."/";
330
				$libOfRootPath=$libOfRootPath."/";
331
			
331
 
332
				}#if end
332
				}#if end
333
		
333
 
334
			}#if end
334
			}#if end
335
	
335
 
336
		}#if enf
336
		}#if enf
337
 
337
 
338
	#如果有 name 參數
338
	#如果有 name 參數
339
	if(isset($parseArgu["content"]["name"])){
339
	if(isset($parseArgu["content"]["name"])){
340
	
340
 
341
		#如果有 name 參數存在
341
		#如果有 name 參數存在
342
		if(isset($parseArgu["content"]["name"][0])){
342
		if(isset($parseArgu["content"]["name"][0])){
343
		
343
 
344
			#更新套件的資料夾名稱
344
			#更新套件的資料夾名稱
345
			$name=$parseArgu["content"]["name"][0];
345
			$name=$parseArgu["content"]["name"][0];
346
		
346
 
347
			}#if end
347
			}#if end
348
	
348
 
349
		}#if end
349
		}#if end
350
		
350
 
351
	#如果有 mode 參數
351
	#如果有 mode 參數
352
	if(isset($parseArgu["content"]["mode"])){
352
	if(isset($parseArgu["content"]["mode"])){
353
	
353
 
354
		#如果有 mode 參數存在
354
		#如果有 mode 參數存在
355
		if(isset($parseArgu["content"]["mode"][0])){
355
		if(isset($parseArgu["content"]["mode"][0])){
356
		
356
 
357
			#更新運作模式
357
			#更新運作模式
358
			$mode=$parseArgu["content"]["mode"][0];
358
			$mode=$parseArgu["content"]["mode"][0];
359
		
359
 
360
			}#if end
360
			}#if end
361
	
361
 
362
		}#if end
362
		}#if end
363
		
363
 
364
	#如果有 ip 參數
364
	#如果有 ip 參數
365
	if(isset($parseArgu["content"]["ip"])){
365
	if(isset($parseArgu["content"]["ip"])){
366
	
366
 
367
		#如果有 ip 參數存在
367
		#如果有 ip 參數存在
368
		if(isset($parseArgu["content"]["ip"][0])){
368
		if(isset($parseArgu["content"]["ip"][0])){
369
		
369
 
370
			#更新ip
370
			#更新ip
371
			$ip=$parseArgu["content"]["ip"][0];
371
			$ip=$parseArgu["content"]["ip"][0];
372
		
372
 
373
			}#if end
373
			}#if end
374
	
374
 
375
		}#if end
375
		}#if end
376
		
376
 
377
	#如果有 getIpUrl 參數
377
	#如果有 getIpUrl 參數
378
	if(isset($parseArgu["content"]["getIpUrl"])){
378
	if(isset($parseArgu["content"]["getIpUrl"])){
379
	
379
 
380
		#如果有 getIpUrl 參數存在
380
		#如果有 getIpUrl 參數存在
381
		if(isset($parseArgu["content"]["getIpUrl"][0])){
381
		if(isset($parseArgu["content"]["getIpUrl"][0])){
382
		
382
 
383
			#更新 getIpUrl
383
			#更新 getIpUrl
384
			$getIpUrl=$parseArgu["content"]["getIpUrl"][0];
384
			$getIpUrl=$parseArgu["content"]["getIpUrl"][0];
385
		
385
 
386
			}#if end
386
			}#if end
387
	
387
 
388
		}#if end
388
		}#if end
389
		
389
 
390
	#如果有 configUrl 參數
390
	#如果有 configUrl 參數
391
	if(isset($parseArgu["content"]["configUrl"])){
391
	if(isset($parseArgu["content"]["configUrl"])){
392
	
392
 
393
		#如果有 configUrl 參數存在
393
		#如果有 configUrl 參數存在
394
		if(isset($parseArgu["content"]["configUrl"][0])){
394
		if(isset($parseArgu["content"]["configUrl"][0])){
395
		
395
 
396
			#更新 configUrl
396
			#更新 configUrl
397
			$configUrl=$parseArgu["content"]["configUrl"][0];
397
			$configUrl=$parseArgu["content"]["configUrl"][0];
398
		
398
 
399
			}#if end
399
			}#if end
400
	
400
 
401
		}#if end
401
		}#if end
402
		
402
 
403
	#如果有 dbAcct 參數
403
	#如果有 dbAcct 參數
404
	if(isset($parseArgu["content"]["dbAcct"])){
404
	if(isset($parseArgu["content"]["dbAcct"])){
405
	
405
 
406
		#如果有 dbAcct 參數存在
406
		#如果有 dbAcct 參數存在
407
		if(isset($parseArgu["content"]["dbAcct"][0])){
407
		if(isset($parseArgu["content"]["dbAcct"][0])){
408
		
408
 
409
			#更新 dbAcct
409
			#更新 dbAcct
410
			$dbAcct=$parseArgu["content"]["dbAcct"][0];
410
			$dbAcct=$parseArgu["content"]["dbAcct"][0];
411
		
411
 
412
			}#if end
412
			}#if end
413
	
413
 
414
		}#if end
414
		}#if end
415
		
415
 
416
	#如果有 dbPass 參數
416
	#如果有 dbPass 參數
417
	if(isset($parseArgu["content"]["dbPass"])){
417
	if(isset($parseArgu["content"]["dbPass"])){
418
	
418
 
419
		#如果有 dbPass 參數存在
419
		#如果有 dbPass 參數存在
420
		if(isset($parseArgu["content"]["dbPass"][0])){
420
		if(isset($parseArgu["content"]["dbPass"][0])){
421
		
421
 
422
			#更新 dbPass
422
			#更新 dbPass
423
			$dbPass=$parseArgu["content"]["dbPass"][0];
423
			$dbPass=$parseArgu["content"]["dbPass"][0];
424
		
424
 
425
			}#if end
425
			}#if end
426
	
426
 
427
		}#if end
427
		}#if end
428
		
428
 
429
	#如果有 dbName 參數
429
	#如果有 dbName 參數
430
	if(isset($parseArgu["content"]["dbName"])){
430
	if(isset($parseArgu["content"]["dbName"])){
431
	
431
 
432
		#如果有 dbName 參數存在
432
		#如果有 dbName 參數存在
433
		if(isset($parseArgu["content"]["dbName"][0])){
433
		if(isset($parseArgu["content"]["dbName"][0])){
434
		
434
 
435
			#更新 dbName
435
			#更新 dbName
436
			$dbName=$parseArgu["content"]["dbName"][0];
436
			$dbName=$parseArgu["content"]["dbName"][0];
437
		
437
 
438
			}#if end
438
			}#if end
439
	
439
 
440
		}#if end
440
		}#if end
441
		
441
 
442
	#如果有 dbAddr 參數
442
	#如果有 dbAddr 參數
443
	if(isset($parseArgu["content"]["dbAddr"])){
443
	if(isset($parseArgu["content"]["dbAddr"])){
444
	
444
 
445
		#如果有 dbAddr 參數存在
445
		#如果有 dbAddr 參數存在
446
		if(isset($parseArgu["content"]["dbAddr"][0])){
446
		if(isset($parseArgu["content"]["dbAddr"][0])){
447
		
447
 
448
			#更新 dbAddr
448
			#更新 dbAddr
449
			$dbAddr=$parseArgu["content"]["dbAddr"][0];
449
			$dbAddr=$parseArgu["content"]["dbAddr"][0];
450
		
450
 
451
			}#if end
451
			}#if end
452
	
452
 
453
		}#if end
453
		}#if end
454
		
454
 
455
	#如果有 dbPort 參數
455
	#如果有 dbPort 參數
456
	if(isset($parseArgu["content"]["dbPort"])){
456
	if(isset($parseArgu["content"]["dbPort"])){
457
	
457
 
458
		#如果有 dbPort 參數存在
458
		#如果有 dbPort 參數存在
459
		if(isset($parseArgu["content"]["dbPort"][0])){
459
		if(isset($parseArgu["content"]["dbPort"][0])){
460
		
460
 
461
			#更新 dbPort
461
			#更新 dbPort
462
			$dbPort=$parseArgu["content"]["dbPort"][0];
462
			$dbPort=$parseArgu["content"]["dbPort"][0];
463
		
463
 
464
			}#if end
464
			}#if end
465
	
465
 
466
		}#if end
466
		}#if end
467
				
467
 
468
	#如果有 sshAddrAndPort 參數
468
	#如果有 sshAddrAndPort 參數
469
	if(isset($parseArgu["content"]["sshAddrAndPort"])){
469
	if(isset($parseArgu["content"]["sshAddrAndPort"])){
470
	
470
 
471
		#如果有 sshAddrAndPort 參數存在
471
		#如果有 sshAddrAndPort 參數存在
472
		if(isset($parseArgu["content"]["sshAddrAndPort"][0])){
472
		if(isset($parseArgu["content"]["sshAddrAndPort"][0])){
473
		
473
 
474
			#新增 sshAddrAndPort
474
			#新增 sshAddrAndPort
475
			$sshAddrAndPort[]=$parseArgu["content"]["sshAddrAndPort"][0];
475
			$sshAddrAndPort[]=$parseArgu["content"]["sshAddrAndPort"][0];
476
		
476
 
477
			}#if end
477
			}#if end
478
	
478
 
479
		}#if end
479
		}#if end
480
		
480
 
481
	#如果有 headless 參數
481
	#如果有 headless 參數
482
	if(isset($parseArgu["content"]["headless"])){
482
	if(isset($parseArgu["content"]["headless"])){
483
	
483
 
484
		#如果有 headless 參數存在
484
		#如果有 headless 參數存在
485
		if(isset($parseArgu["content"]["headless"][0])){
485
		if(isset($parseArgu["content"]["headless"][0])){
486
		
486
 
487
			#更新 headless
487
			#更新 headless
488
			$headless=$parseArgu["content"]["headless"][0];
488
			$headless=$parseArgu["content"]["headless"][0];
489
		
489
 
490
			}#if end
490
			}#if end
491
	
491
 
492
		}#if end
492
		}#if end
493
	
493
 
494
	#如果有 whiteIp 參數
494
	#如果有 whiteIp 參數
495
	if(isset($parseArgu["content"]["whiteIp"])){
495
	if(isset($parseArgu["content"]["whiteIp"])){
496
	
496
 
497
		#針對每個白名單ip
497
		#針對每個白名單ip
498
		foreach($parseArgu["content"]["whiteIp"] as $ip){
498
		foreach($parseArgu["content"]["whiteIp"] as $ip){
499
		
499
 
500
			#儲存起來
500
			#儲存起來
501
			$whiteIp[]=$ip;
501
			$whiteIp[]=$ip;
502
		
502
 
503
			}#foreach end
503
			}#foreach end
504
	
504
 
505
		}#if end
505
		}#if end
506
 
506
 
507
	}#if end
507
	}#if end
508
 
508
 
509
#判斷 $mode
509
#判斷 $mode
510
switch($mode){
510
switch($mode){
511
 
511
 
512
	#如果是 "cp" mode
512
	#如果是 "cp" mode
513
	case "cp":
513
	case "cp":
514
	
514
 
515
	#如果是 "rpm" mode
515
	#如果是 "rpm" mode
516
	case "rpm":
516
	case "rpm":
517
	
517
 
518
		#函式說明:
518
		#函式說明:
519
		#建立資料夾,若要建立的資料夾所屬路徑不存在,則會自動嘗試建立,建立後的資料夾也可指定權限,要設定權限,必須為資料夾的擁有者.
519
		#建立資料夾,若要建立的資料夾所屬路徑不存在,則會自動嘗試建立,建立後的資料夾也可指定權限,要設定權限,必須為資料夾的擁有者.
520
		#回傳結果:
520
		#回傳結果:
521
		#$result["status"],"true"爲建立成功,"false"爲建立失敗.
521
		#$result["status"],"true"爲建立成功,"false"爲建立失敗.
522
		#$result["error"],錯誤訊息陣列
522
		#$result["error"],錯誤訊息陣列
Line 564... Line 564...
564
			#參考資料:
564
			#參考資料:
565
			#無.
565
			#無.
566
			#備註:
566
			#備註:
567
			#無.
567
			#無.
568
			$record=logs::record($conf);
568
			$record=logs::record($conf);
569
			
569
 
570
			#如果執行失敗
570
			#如果執行失敗
571
			if($record["status"]==="false"){
571
			if($record["status"]==="false"){
572
			
572
 
573
				#印出結果
573
				#印出結果
574
				var_dump($record);
574
				var_dump($record);
575
			
575
 
576
				}#if end
576
				}#if end
577
				
577
 
578
			#異常結束執行
578
			#異常結束執行
579
			exit(1);
579
			exit(1);
580
 
580
 
581
			}#if end
581
			}#if end
582
	
582
 
583
		#複製 etc
583
		#複製 etc
584
		#函式說明:
584
		#函式說明:
585
		#複製檔案、資料夾.
585
		#複製檔案、資料夾.
586
		#回傳結果:
586
		#回傳結果:
587
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
587
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 604... Line 604...
604
		#無.
604
		#無.
605
		#備註:
605
		#備註:
606
		#僅能在命令列環境下運行
606
		#僅能在命令列環境下運行
607
		$cp=cmd::cp($conf);
607
		$cp=cmd::cp($conf);
608
		unset($conf);
608
		unset($conf);
609
		
609
 
610
		#如果執行失敗
610
		#如果執行失敗
611
		if($cp["status"]==="false"){
611
		if($cp["status"]==="false"){
612
		
612
 
613
			#函式說明:
613
			#函式說明:
614
			#撰寫log
614
			#撰寫log
615
			#回傳結果:
615
			#回傳結果:
616
			#$result["status"],狀態,"true"或"false".
616
			#$result["status"],狀態,"true"或"false".
617
			#$result["error"],錯誤訊息陣列.
617
			#$result["error"],錯誤訊息陣列.
Line 630... Line 630...
630
			#參考資料:
630
			#參考資料:
631
			#無.
631
			#無.
632
			#備註:
632
			#備註:
633
			#無.
633
			#無.
634
			$record=logs::record($conf);
634
			$record=logs::record($conf);
635
			
635
 
636
			#如果執行失敗
636
			#如果執行失敗
637
			if($record["status"]==="false"){
637
			if($record["status"]==="false"){
638
			
638
 
639
				#印出結果
639
				#印出結果
640
				var_dump($record);
640
				var_dump($record);
641
				
641
 
642
				}#if end
642
				}#if end
643
		
643
 
644
			#異常結束執行
644
			#異常結束執行
645
			exit(1);
645
			exit(1);
646
		
646
 
647
			}#if end
647
			}#if end
648
	
648
 
649
		#複製 usr
649
		#複製 usr
650
		#函式說明:
650
		#函式說明:
651
		#複製檔案、資料夾.
651
		#複製檔案、資料夾.
652
		#回傳結果:
652
		#回傳結果:
653
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
653
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 670... Line 670...
670
		#無.
670
		#無.
671
		#備註:
671
		#備註:
672
		#僅能在命令列環境下運行
672
		#僅能在命令列環境下運行
673
		$cp=cmd::cp($conf);
673
		$cp=cmd::cp($conf);
674
		unset($conf);
674
		unset($conf);
675
		
675
 
676
		#如果執行失敗
676
		#如果執行失敗
677
		if($cp["status"]==="false"){
677
		if($cp["status"]==="false"){
678
		
678
 
679
			#函式說明:
679
			#函式說明:
680
			#撰寫log
680
			#撰寫log
681
			#回傳結果:
681
			#回傳結果:
682
			#$result["status"],狀態,"true"或"false".
682
			#$result["status"],狀態,"true"或"false".
683
			#$result["error"],錯誤訊息陣列.
683
			#$result["error"],錯誤訊息陣列.
Line 696... Line 696...
696
			#參考資料:
696
			#參考資料:
697
			#無.
697
			#無.
698
			#備註:
698
			#備註:
699
			#無.
699
			#無.
700
			$record=logs::record($conf);
700
			$record=logs::record($conf);
701
			
701
 
702
			#如果執行失敗
702
			#如果執行失敗
703
			if($record["status"]==="false"){
703
			if($record["status"]==="false"){
704
			
704
 
705
				#印出結果
705
				#印出結果
706
				var_dump($record);
706
				var_dump($record);
707
				
707
 
708
				}#if end
708
				}#if end
709
		
709
 
710
			#異常結束執行
710
			#異常結束執行
711
			exit(1);
711
			exit(1);
712
		
712
 
713
			}#if end
713
			}#if end
714
			
714
 
715
		#複製 var
715
		#複製 var
716
		#函式說明:
716
		#函式說明:
717
		#複製檔案、資料夾.
717
		#複製檔案、資料夾.
718
		#回傳結果:
718
		#回傳結果:
719
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
719
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 736... Line 736...
736
		#無.
736
		#無.
737
		#備註:
737
		#備註:
738
		#僅能在命令列環境下運行
738
		#僅能在命令列環境下運行
739
		$cp=cmd::cp($conf);
739
		$cp=cmd::cp($conf);
740
		unset($conf);
740
		unset($conf);
741
		
741
 
742
		#如果執行失敗
742
		#如果執行失敗
743
		if($cp["status"]==="false"){
743
		if($cp["status"]==="false"){
744
		
744
 
745
			#函式說明:
745
			#函式說明:
746
			#撰寫log
746
			#撰寫log
747
			#回傳結果:
747
			#回傳結果:
748
			#$result["status"],狀態,"true"或"false".
748
			#$result["status"],狀態,"true"或"false".
749
			#$result["error"],錯誤訊息陣列.
749
			#$result["error"],錯誤訊息陣列.
Line 762... Line 762...
762
			#參考資料:
762
			#參考資料:
763
			#無.
763
			#無.
764
			#備註:
764
			#備註:
765
			#無.
765
			#無.
766
			$record=logs::record($conf);
766
			$record=logs::record($conf);
767
			
767
 
768
			#如果執行失敗
768
			#如果執行失敗
769
			if($record["status"]==="false"){
769
			if($record["status"]==="false"){
770
			
770
 
771
				#印出結果
771
				#印出結果
772
				var_dump($record);
772
				var_dump($record);
773
				
773
 
774
				}#if end
774
				}#if end
775
		
775
 
776
			#異常結束執行
776
			#異常結束執行
777
			exit(1);
777
			exit(1);
778
		
778
 
779
			}#if end
779
			}#if end
780
		
780
 
781
		break;
781
		break;
782
		
782
 
783
	#如果是 "link" mode
783
	#如果是 "link" mode
784
	case "link":
784
	case "link":
785
	
785
 
786
		#link /etc/qbpwcf
786
		#link /etc/qbpwcf
787
		#函式說明:
787
		#函式說明:
788
		#建立軟連結.
788
		#建立軟連結.
789
		#回傳結果:
789
		#回傳結果:
790
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
790
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 807... Line 807...
807
		#無.
807
		#無.
808
		#備註:
808
		#備註:
809
		#無.
809
		#無.
810
		$createLink=fileAccess::createLink($conf);
810
		$createLink=fileAccess::createLink($conf);
811
		unset($conf);
811
		unset($conf);
812
	
812
 
813
		#如果執行失敗
813
		#如果執行失敗
814
		if($createLink["status"]==="false"){
814
		if($createLink["status"]==="false"){
815
 
815
 
816
			#函式說明:
816
			#函式說明:
817
			#撰寫log
817
			#撰寫log
Line 833... Line 833...
833
			#參考資料:
833
			#參考資料:
834
			#無.
834
			#無.
835
			#備註:
835
			#備註:
836
			#無.
836
			#無.
837
			$record=logs::record($conf);
837
			$record=logs::record($conf);
838
			
838
 
839
			#如果執行失敗
839
			#如果執行失敗
840
			if($record["status"]==="false"){
840
			if($record["status"]==="false"){
841
			
841
 
842
				#印出結果
842
				#印出結果
843
				var_dump($record);
843
				var_dump($record);
844
				
844
 
845
				}#if end
845
				}#if end
846
				
846
 
847
			#異常結束執行
847
			#異常結束執行
848
			exit(1);
848
			exit(1);
849
 
849
 
850
			}#if end
850
			}#if end
851
	
851
 
852
		#link etc/systemd/system 底下的所有內容
852
		#link etc/systemd/system 底下的所有內容
853
		#函式說明:
853
		#函式說明:
854
		#針對特定目錄下的內容建立軟連結.
854
		#針對特定目錄下的內容建立軟連結.
855
		#回傳結果:
855
		#回傳結果:
856
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
856
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 899... Line 899...
899
			#參考資料:
899
			#參考資料:
900
			#無.
900
			#無.
901
			#備註:
901
			#備註:
902
			#無.
902
			#無.
903
			$record=logs::record($conf);
903
			$record=logs::record($conf);
904
			
904
 
905
			#如果執行失敗
905
			#如果執行失敗
906
			if($record["status"]==="false"){
906
			if($record["status"]==="false"){
907
			
907
 
908
				#印出結果
908
				#印出結果
909
				var_dump($record);
909
				var_dump($record);
910
				
910
 
911
				}#if end
911
				}#if end
912
				
912
 
913
			#異常結束執行
913
			#異常結束執行
914
			exit(1);
914
			exit(1);
915
 
915
 
916
			}#if end
916
			}#if end
917
	
917
 
918
		#link usr/bin 底下的所有內容
918
		#link usr/bin 底下的所有內容
919
		#函式說明:
919
		#函式說明:
920
		#針對特定目錄下的內容建立軟連結.
920
		#針對特定目錄下的內容建立軟連結.
921
		#回傳結果:
921
		#回傳結果:
922
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
922
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 965... Line 965...
965
			#參考資料:
965
			#參考資料:
966
			#無.
966
			#無.
967
			#備註:
967
			#備註:
968
			#無.
968
			#無.
969
			$record=logs::record($conf);
969
			$record=logs::record($conf);
970
			
970
 
971
			#如果執行失敗
971
			#如果執行失敗
972
			if($record["status"]==="false"){
972
			if($record["status"]==="false"){
973
			
973
 
974
				#印出結果
974
				#印出結果
975
				var_dump($record);
975
				var_dump($record);
976
				
976
 
977
				}#if end
977
				}#if end
978
				
978
 
979
			#異常結束執行
979
			#異常結束執行
980
			exit(1);
980
			exit(1);
981
 
981
 
982
			}#if end
982
			}#if end
983
	
983
 
984
		#link usr/bin/libexec 底下的所有內容
984
		#link usr/bin/libexec 底下的所有內容
985
		#函式說明:
985
		#函式說明:
986
		#針對特定目錄下的內容建立軟連結.
986
		#針對特定目錄下的內容建立軟連結.
987
		#回傳結果:
987
		#回傳結果:
988
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
988
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 1031... Line 1031...
1031
			#參考資料:
1031
			#參考資料:
1032
			#無.
1032
			#無.
1033
			#備註:
1033
			#備註:
1034
			#無.
1034
			#無.
1035
			$record=logs::record($conf);
1035
			$record=logs::record($conf);
1036
			
1036
 
1037
			#如果執行失敗
1037
			#如果執行失敗
1038
			if($record["status"]==="false"){
1038
			if($record["status"]==="false"){
1039
			
1039
 
1040
				#印出結果
1040
				#印出結果
1041
				var_dump($record);
1041
				var_dump($record);
1042
				
1042
 
1043
				}#if end
1043
				}#if end
1044
				
1044
 
1045
			#異常結束執行
1045
			#異常結束執行
1046
			exit(1);
1046
			exit(1);
1047
 
1047
 
1048
			}#if end
1048
			}#if end
1049
	
1049
 
1050
		break;
1050
		break;
1051
		
1051
 
1052
	default:
1052
	default:
1053
	
1053
 
1054
		#函式說明:
1054
		#函式說明:
1055
		#撰寫log
1055
		#撰寫log
1056
		#回傳結果:
1056
		#回傳結果:
1057
		#$result["status"],狀態,"true"或"false".
1057
		#$result["status"],狀態,"true"或"false".
1058
		#$result["error"],錯誤訊息陣列.
1058
		#$result["error"],錯誤訊息陣列.
Line 1071... Line 1071...
1071
		#參考資料:
1071
		#參考資料:
1072
		#無.
1072
		#無.
1073
		#備註:
1073
		#備註:
1074
		#無.
1074
		#無.
1075
		$record=logs::record($conf);
1075
		$record=logs::record($conf);
1076
		
1076
 
1077
		#如果執行失敗
1077
		#如果執行失敗
1078
		if($record["status"]==="false"){
1078
		if($record["status"]==="false"){
1079
		
1079
 
1080
			#印出結果
1080
			#印出結果
1081
			var_dump($record);
1081
			var_dump($record);
1082
			
1082
 
1083
			}#if end
1083
			}#if end
1084
			
1084
 
1085
		#異常結束執行
1085
		#異常結束執行
1086
		exit(1);
1086
		exit(1);
1087
		
1087
 
1088
	}#switch end
1088
	}#switch end
1089
 
1089
 
1090
#如果要使用不自動輸出內容的 allInOneForCI.php 檔案
1090
#如果要使用不自動輸出內容的 allInOneForCI.php 檔案
1091
if($headless==="true"){
1091
if($headless==="true"){
1092
 
1092
 
Line 1141... Line 1141...
1141
		#參考資料:
1141
		#參考資料:
1142
		#無.
1142
		#無.
1143
		#備註:
1143
		#備註:
1144
		#無.
1144
		#無.
1145
		$record=logs::record($conf);
1145
		$record=logs::record($conf);
1146
		
1146
 
1147
		#如果執行失敗
1147
		#如果執行失敗
1148
		if($record["status"]==="false"){
1148
		if($record["status"]==="false"){
1149
		
1149
 
1150
			#印出結果
1150
			#印出結果
1151
			var_dump($record);
1151
			var_dump($record);
1152
			
1152
 
1153
			}#if end
1153
			}#if end
1154
			
1154
 
1155
		#異常結束執行
1155
		#異常結束執行
1156
		exit(1);
1156
		exit(1);
1157
 
1157
 
1158
		}#if end
1158
		}#if end
1159
 
1159
 
1160
	}#if end
1160
	}#if end
1161
 
1161
 
1162
#讓 "qbpwcf/usr/bin" 底下的所有檔案為可執行. 
1162
#讓 "qbpwcf/usr/bin" 底下的所有檔案為可執行.
1163
#函式說明:
1163
#函式說明:
1164
#使用 linux 的 chmod 指令來修改目標檔案或目錄的權限.
1164
#使用 linux 的 chmod 指令來修改目標檔案或目錄的權限.
1165
#回傳結果:
1165
#回傳結果:
1166
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1166
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1167
#$result["error"],錯誤訊息.
1167
#$result["error"],錯誤訊息.
Line 1204... Line 1204...
1204
	#參考資料:
1204
	#參考資料:
1205
	#無.
1205
	#無.
1206
	#備註:
1206
	#備註:
1207
	#無.
1207
	#無.
1208
	$record=logs::record($conf);
1208
	$record=logs::record($conf);
1209
	
1209
 
1210
	#如果執行失敗
1210
	#如果執行失敗
1211
	if($record["status"]==="false"){
1211
	if($record["status"]==="false"){
1212
	
1212
 
1213
		#印出結果
1213
		#印出結果
1214
		var_dump($record);
1214
		var_dump($record);
1215
		
1215
 
1216
		}#if end
1216
		}#if end
1217
		
1217
 
1218
	#異常結束執行
1218
	#異常結束執行
1219
	exit(1);
1219
	exit(1);
1220
 
1220
 
1221
	}#if end
1221
	}#if end
1222
 
1222
 
Line 1289... Line 1289...
1289
	#參考資料:
1289
	#參考資料:
1290
	#無.
1290
	#無.
1291
	#備註:
1291
	#備註:
1292
	#無.
1292
	#無.
1293
	$record=logs::record($conf);
1293
	$record=logs::record($conf);
1294
	
1294
 
1295
	#如果執行失敗
1295
	#如果執行失敗
1296
	if($record["status"]==="false"){
1296
	if($record["status"]==="false"){
1297
	
1297
 
1298
		#印出結果
1298
		#印出結果
1299
		var_dump($record);
1299
		var_dump($record);
1300
		
1300
 
1301
		}#if end
1301
		}#if end
1302
		
1302
 
1303
	#異常結束執行
1303
	#異常結束執行
1304
	exit(1);
1304
	exit(1);
1305
 
1305
 
1306
	}#if end
1306
	}#if end
1307
	
1307
 
1308
#讓 "etc/qbpwcf/config.php" 可以被大家使用.
1308
#讓 "etc/qbpwcf/config.php" 可以被大家使用.
1309
#函式說明:
1309
#函式說明:
1310
#使用 linux 的 chmod 指令來修改目標檔案或目錄的權限.
1310
#使用 linux 的 chmod 指令來修改目標檔案或目錄的權限.
1311
#回傳結果:
1311
#回傳結果:
1312
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1312
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 1350... Line 1350...
1350
	#參考資料:
1350
	#參考資料:
1351
	#無.
1351
	#無.
1352
	#備註:
1352
	#備註:
1353
	#無.
1353
	#無.
1354
	$record=logs::record($conf);
1354
	$record=logs::record($conf);
1355
	
1355
 
1356
	#如果執行失敗
1356
	#如果執行失敗
1357
	if($record["status"]==="false"){
1357
	if($record["status"]==="false"){
1358
	
1358
 
1359
		#印出結果
1359
		#印出結果
1360
		var_dump($record);
1360
		var_dump($record);
1361
	
1361
 
1362
		}#if end
1362
		}#if end
1363
		
1363
 
1364
	#異常結束執行
1364
	#異常結束執行
1365
	exit(1);
1365
	exit(1);
1366
 
1366
 
1367
	}#if end
1367
	}#if end
1368
 
1368
 
Line 1433... Line 1433...
1433
	#參考資料:
1433
	#參考資料:
1434
	#無.
1434
	#無.
1435
	#備註:
1435
	#備註:
1436
	#無.
1436
	#無.
1437
	$record=logs::record($conf);
1437
	$record=logs::record($conf);
1438
	
1438
 
1439
	#如果執行失敗
1439
	#如果執行失敗
1440
	if($record["status"]==="false"){
1440
	if($record["status"]==="false"){
1441
	
1441
 
1442
		#印出結果
1442
		#印出結果
1443
		var_dump($record);
1443
		var_dump($record);
1444
		
1444
 
1445
		}#if end
1445
		}#if end
1446
		
1446
 
1447
	#異常結束執行
1447
	#異常結束執行
1448
	exit(1);
1448
	exit(1);
1449
 
1449
 
1450
	}#if end
1450
	}#if end
1451
 
1451
 
Line 1503... Line 1503...
1503
	#參考資料:
1503
	#參考資料:
1504
	#無.
1504
	#無.
1505
	#備註:
1505
	#備註:
1506
	#無.
1506
	#無.
1507
	$record=logs::record($conf);
1507
	$record=logs::record($conf);
1508
	
1508
 
1509
	#如果執行失敗
1509
	#如果執行失敗
1510
	if($record["status"]==="false"){
1510
	if($record["status"]==="false"){
1511
	
1511
 
1512
		#印出結果
1512
		#印出結果
1513
		var_dump($record);
1513
		var_dump($record);
1514
		
1514
 
1515
		}#if end
1515
		}#if end
1516
		
1516
 
1517
	#異常結束執行
1517
	#異常結束執行
1518
	exit(1);
1518
	exit(1);
1519
 
1519
 
1520
	}#if end
1520
	}#if end
1521
 
1521
 
Line 1564... Line 1564...
1564
	#參考資料:
1564
	#參考資料:
1565
	#無.
1565
	#無.
1566
	#備註:
1566
	#備註:
1567
	#無.
1567
	#無.
1568
	$record=logs::record($conf);
1568
	$record=logs::record($conf);
1569
	
1569
 
1570
	#如果執行失敗
1570
	#如果執行失敗
1571
	if($record["status"]==="false"){
1571
	if($record["status"]==="false"){
1572
	
1572
 
1573
		#印出結果
1573
		#印出結果
1574
		var_dump($record);
1574
		var_dump($record);
1575
	
1575
 
1576
		}#if end
1576
		}#if end
1577
		
1577
 
1578
	#異常結束執行
1578
	#異常結束執行
1579
	exit(1);
1579
	exit(1);
1580
 
1580
 
1581
	}#if end
1581
	}#if end
1582
 
1582
 
Line 1606... Line 1606...
1606
	$conf["fileArgu"]=__FILE__;
1606
	$conf["fileArgu"]=__FILE__;
1607
	#可省略參數:
1607
	#可省略參數:
1608
	#$conf["fileName"],字串,爲要編輯的檔案名稱,預設為隨機產生的檔案名稱.
1608
	#$conf["fileName"],字串,爲要編輯的檔案名稱,預設為隨機產生的檔案名稱.
1609
	$conf["fileName"]=$defaultSshdConfigAddr;
1609
	$conf["fileName"]=$defaultSshdConfigAddr;
1610
	#$conf["inputString"],字串,爲要寫入到裏面的內容,若要每筆資料寫入後換行,則可以在字串內容後面加上 \r\n 即可,預設為"".
1610
	#$conf["inputString"],字串,爲要寫入到裏面的內容,若要每筆資料寫入後換行,則可以在字串內容後面加上 \r\n 即可,預設為"".
1611
	#$conf["inputString"]=$testToWrite;	
1611
	#$conf["inputString"]=$testToWrite;
1612
	#$conf["writeMethod"],字串,爲檔案撰寫的方式,可省略,是複寫'a'還是,重新寫入'w',預設爲'w',重新寫入.
1612
	#$conf["writeMethod"],字串,爲檔案撰寫的方式,可省略,是複寫'a'還是,重新寫入'w',預設爲'w',重新寫入.
1613
	#$conf["writeMethod"]="a";
1613
	#$conf["writeMethod"]="a";
1614
	#$conf["checkRepeat"],字串,"true"代表建立檔案之前要先檢查檔案是否存在,若存在則在原名稱後面加上從(1)開始的編號.
1614
	#$conf["checkRepeat"],字串,"true"代表建立檔案之前要先檢查檔案是否存在,若存在則在原名稱後面加上從(1)開始的編號.
1615
	#$conf["checkRepeat"]="";
1615
	#$conf["checkRepeat"]="";
1616
	#$conf["filenameExtensionStartPoint"],字串,檔案的副檔名是從倒數第幾個小數點(dot)開始,預設為"1",最後一個小數點,必須與$conf["checkRepeat"]搭配才會生效.
1616
	#$conf["filenameExtensionStartPoint"],字串,檔案的副檔名是從倒數第幾個小數點(dot)開始,預設為"1",最後一個小數點,必須與$conf["checkRepeat"]搭配才會生效.
Line 1626... Line 1626...
1626
	$writeTextIntoFile=fileAccess::writeTextIntoFile($conf);
1626
	$writeTextIntoFile=fileAccess::writeTextIntoFile($conf);
1627
	unset($conf);
1627
	unset($conf);
1628
 
1628
 
1629
	#如果執行失敗
1629
	#如果執行失敗
1630
	if($writeTextIntoFile["status"]==="false"){
1630
	if($writeTextIntoFile["status"]==="false"){
1631
	
1631
 
1632
		#印出結果
1632
		#印出結果
1633
		var_dump($writeTextIntoFile);
1633
		var_dump($writeTextIntoFile);
1634
		
1634
 
1635
		#結束執行
1635
		#結束執行
1636
		exit;
1636
		exit;
1637
	
1637
 
1638
		}#if end
1638
		}#if end
1639
 
1639
 
1640
	#要覆寫的內容
1640
	#要覆寫的內容
1641
	$overWriteWith=array("<?php".PHP_EOL);
1641
	$overWriteWith=array("<?php".PHP_EOL);
1642
 
1642
 
1643
	#debug
1643
	#debug
1644
	#$overWriteWith[]="\$reportOnly=\"true\";";
1644
	#$overWriteWith[]="\$reportOnly=\"true\";";
1645
	
1645
 
1646
	#get some verbose info
1646
	#get some verbose info
1647
	$overWriteWith[]="\$verbose=\"true\";";
1647
	$overWriteWith[]="\$verbose=\"true\";";
1648
 
1648
 
1649
	#針對每個為了確保ssh服務有運行的設定
1649
	#針對每個為了確保ssh服務有運行的設定
1650
	foreach($sshAddrAndPort as $ipAndPort){
1650
	foreach($sshAddrAndPort as $ipAndPort){
1651
 
1651
 
1652
		#串接設定
1652
		#串接設定
1653
		$overWriteWith[]="\$ipAndPort=\"".$ipAndPort."\";";
1653
		$overWriteWith[]="\$ipAndPort=\"".$ipAndPort."\";";
1654
 
1654
 
1655
		}#foreach end
1655
		}#foreach end
1656
		
1656
 
1657
	#要覆寫的內容
1657
	#要覆寫的內容
1658
	$overWriteWith[]=PHP_EOL."?>";
1658
	$overWriteWith[]=PHP_EOL."?>";
1659
 
1659
 
1660
	#函式說明:
1660
	#函式說明:
1661
	#更新檔案的內容.
1661
	#更新檔案的內容.
Line 1685... Line 1685...
1685
	$updateFile=fileAccess::updateFile($conf);
1685
	$updateFile=fileAccess::updateFile($conf);
1686
	unset($conf);
1686
	unset($conf);
1687
 
1687
 
1688
	#如果執行失敗
1688
	#如果執行失敗
1689
	if($updateFile["status"]==="false"){
1689
	if($updateFile["status"]==="false"){
1690
	
1690
 
1691
		#印出結果
1691
		#印出結果
1692
		var_dump($updateFile);
1692
		var_dump($updateFile);
1693
		
1693
 
1694
		#結束執行
1694
		#結束執行
1695
		exit;
1695
		exit;
1696
	
1696
 
1697
		}#if end
1697
		}#if end
1698
 
1698
 
1699
	}#if end
1699
	}#if end
1700
 
1700
 
1701
#移除 etc/systemd/system 底下服務設定檔的執行權限
1701
#移除 etc/systemd/system 底下服務設定檔的執行權限
Line 1745... Line 1745...
1745
	#參考資料:
1745
	#參考資料:
1746
	#無.
1746
	#無.
1747
	#備註:
1747
	#備註:
1748
	#無.
1748
	#無.
1749
	$record=logs::record($conf);
1749
	$record=logs::record($conf);
1750
	
1750
 
1751
	#如果執行失敗
1751
	#如果執行失敗
1752
	if($record["status"]==="false"){
1752
	if($record["status"]==="false"){
1753
	
1753
 
1754
		#印出結果
1754
		#印出結果
1755
		var_dump($record);
1755
		var_dump($record);
1756
	
1756
 
1757
		}#if end
1757
		}#if end
1758
		
1758
 
1759
	#異常結束執行
1759
	#異常結束執行
1760
	exit(1);
1760
	exit(1);
1761
 
1761
 
1762
	}#if end
1762
	}#if end
1763
 
1763
 
Line 1795... Line 1795...
1795
	#備註:
1795
	#備註:
1796
	#函數file_exists檢查的路徑為檔案系統的路徑
1796
	#函數file_exists檢查的路徑為檔案系統的路徑
1797
	#$result["varName"][$i]結果未實作
1797
	#$result["varName"][$i]結果未實作
1798
	$checkMultiFileExist=fileAccess::checkMultiFileExist($conf);
1798
	$checkMultiFileExist=fileAccess::checkMultiFileExist($conf);
1799
	unset($conf);
1799
	unset($conf);
1800
	
1800
 
1801
	#如果執行失敗
1801
	#如果執行失敗
1802
	if($checkMultiFileExist["status"]==="false"){
1802
	if($checkMultiFileExist["status"]==="false"){
1803
	
1803
 
1804
		#函式說明:
1804
		#函式說明:
1805
		#撰寫log
1805
		#撰寫log
1806
		#回傳結果:
1806
		#回傳結果:
1807
		#$result["status"],狀態,"true"或"false".
1807
		#$result["status"],狀態,"true"或"false".
1808
		#$result["error"],錯誤訊息陣列.
1808
		#$result["error"],錯誤訊息陣列.
Line 1821... Line 1821...
1821
		#參考資料:
1821
		#參考資料:
1822
		#無.
1822
		#無.
1823
		#備註:
1823
		#備註:
1824
		#無.
1824
		#無.
1825
		$record=logs::record($conf);
1825
		$record=logs::record($conf);
1826
		
1826
 
1827
		#如果執行失敗
1827
		#如果執行失敗
1828
		if($record["status"]==="false"){
1828
		if($record["status"]==="false"){
1829
		
1829
 
1830
			#印出結果
1830
			#印出結果
1831
			var_dump($record);
1831
			var_dump($record);
1832
			
1832
 
1833
			}#if end
1833
			}#if end
1834
			
1834
 
1835
		#異常結束執行
1835
		#異常結束執行
1836
		exit(1);
1836
		exit(1);
1837
 
1837
 
1838
		}#if end
1838
		}#if end
1839
		
1839
 
1840
	#如果存在
1840
	#如果存在
1841
	if($checkMultiFileExist["allExist"]==="true"){
1841
	if($checkMultiFileExist["allExist"]==="true"){
1842
	
1842
 
1843
		#啟動服務的關鍵字
1843
		#啟動服務的關鍵字
1844
		$serviceStartKeyWord="ExecStart=/usr/bin/ipBlockerd.php";
1844
		$serviceStartKeyWord="ExecStart=/usr/bin/ipBlockerd.php";
1845
		
1845
 
1846
		#重新啟動服務的關鍵字
1846
		#重新啟動服務的關鍵字
1847
		$serviceRestartKeyWord="ExecReload=killall ipBlockerd.php; sleep 10; ipBlockerd.php";
1847
		$serviceRestartKeyWord="ExecReload=killall ipBlockerd.php; sleep 10; ipBlockerd.php";
1848
		
1848
 
1849
		#函式說明:
1849
		#函式說明:
1850
		#將一維陣列轉換為用特定符號間隔的字串,ex:array("1","2","3") to "a;b;c;".
1850
		#將一維陣列轉換為用特定符號間隔的字串,ex:array("1","2","3") to "a;b;c;".
1851
		#回傳的結果:
1851
		#回傳的結果:
1852
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1852
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1853
		#$result["function"],當前執行的function名稱
1853
		#$result["function"],當前執行的function名稱
Line 1868... Line 1868...
1868
		#無.
1868
		#無.
1869
		#備註:
1869
		#備註:
1870
		#無.
1870
		#無.
1871
		$arrayToString=arrays::arrayToString($conf);
1871
		$arrayToString=arrays::arrayToString($conf);
1872
		unset($conf);
1872
		unset($conf);
1873
	
1873
 
1874
		#如果執行出錯
1874
		#如果執行出錯
1875
		if($arrayToString["status"]==="false"){
1875
		if($arrayToString["status"]==="false"){
1876
	
1876
 
1877
			#函式說明:
1877
			#函式說明:
1878
			#撰寫log
1878
			#撰寫log
1879
			#回傳結果:
1879
			#回傳結果:
1880
			#$result["status"],狀態,"true"或"false".
1880
			#$result["status"],狀態,"true"或"false".
1881
			#$result["error"],錯誤訊息陣列.
1881
			#$result["error"],錯誤訊息陣列.
Line 1894... Line 1894...
1894
			#參考資料:
1894
			#參考資料:
1895
			#無.
1895
			#無.
1896
			#備註:
1896
			#備註:
1897
			#無.
1897
			#無.
1898
			$record=logs::record($conf);
1898
			$record=logs::record($conf);
1899
			
1899
 
1900
			#如果執行失敗
1900
			#如果執行失敗
1901
			if($record["status"]==="false"){
1901
			if($record["status"]==="false"){
1902
			
1902
 
1903
				#印出結果
1903
				#印出結果
1904
				var_dump($record);
1904
				var_dump($record);
1905
				
1905
 
1906
				}#if end
1906
				}#if end
1907
				
1907
 
1908
			#異常結束執行
1908
			#異常結束執行
1909
			exit(1);
1909
			exit(1);
1910
 
1910
 
1911
			}#if end
1911
			}#if end
1912
 
1912
 
1913
		#啟動服務的新內容
1913
		#啟動服務的新內容
1914
		$serviceStartNewContent=$serviceStartKeyWord.$arrayToString["content"];
1914
		$serviceStartNewContent=$serviceStartKeyWord.$arrayToString["content"];
1915
 
1915
 
1916
		#重新啟動服務的新內容
1916
		#重新啟動服務的新內容
1917
		$serviceRestartNewContent=$serviceRestartKeyWord.$arrayToString["content"];
1917
		$serviceRestartNewContent=$serviceRestartKeyWord.$arrayToString["content"];
1918
	
1918
 
1919
		#設置白名單ip
1919
		#設置白名單ip
1920
		#函式說明:
1920
		#函式說明:
1921
		#更新檔案的內容.
1921
		#更新檔案的內容.
1922
		#回傳結果:
1922
		#回傳結果:
1923
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1923
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 1944... Line 1944...
1944
		#無.
1944
		#無.
1945
		#備註:
1945
		#備註:
1946
		#無.
1946
		#無.
1947
		$updateFile=fileAccess::updateFile($conf);
1947
		$updateFile=fileAccess::updateFile($conf);
1948
		unset($conf);
1948
		unset($conf);
1949
	
1949
 
1950
		#如果執行出錯
1950
		#如果執行出錯
1951
		if($updateFile["status"]==="false"){
1951
		if($updateFile["status"]==="false"){
1952
	
1952
 
1953
			#函式說明:
1953
			#函式說明:
1954
			#撰寫log
1954
			#撰寫log
1955
			#回傳結果:
1955
			#回傳結果:
1956
			#$result["status"],狀態,"true"或"false".
1956
			#$result["status"],狀態,"true"或"false".
1957
			#$result["error"],錯誤訊息陣列.
1957
			#$result["error"],錯誤訊息陣列.
Line 1970... Line 1970...
1970
			#參考資料:
1970
			#參考資料:
1971
			#無.
1971
			#無.
1972
			#備註:
1972
			#備註:
1973
			#無.
1973
			#無.
1974
			$record=logs::record($conf);
1974
			$record=logs::record($conf);
1975
			
1975
 
1976
			#如果執行失敗
1976
			#如果執行失敗
1977
			if($record["status"]==="false"){
1977
			if($record["status"]==="false"){
1978
			
1978
 
1979
				#印出結果
1979
				#印出結果
1980
				var_dump($record);
1980
				var_dump($record);
1981
				
1981
 
1982
				}#if end
1982
				}#if end
1983
				
1983
 
1984
			#異常結束執行
1984
			#異常結束執行
1985
			exit(1);
1985
			exit(1);
1986
 
1986
 
1987
			}#if end
1987
			}#if end
1988
	
1988
 
1989
		}#if end
1989
		}#if end
1990
 
1990
 
1991
	}#if end
1991
	}#if end
1992
 
1992
 
1993
#函式說明:
1993
#函式說明:
Line 2062... Line 2062...
2062
	#參考資料:
2062
	#參考資料:
2063
	#無.
2063
	#無.
2064
	#備註:
2064
	#備註:
2065
	#無.
2065
	#無.
2066
	$record=logs::record($conf);
2066
	$record=logs::record($conf);
2067
	
2067
 
2068
	#如果執行失敗
2068
	#如果執行失敗
2069
	if($record["status"]==="false"){
2069
	if($record["status"]==="false"){
2070
	
2070
 
2071
		#印出結果
2071
		#印出結果
2072
		var_dump($record);
2072
		var_dump($record);
2073
	
2073
 
2074
		}#if end
2074
		}#if end
2075
		
2075
 
2076
	#異常結束執行
2076
	#異常結束執行
2077
	exit(1);
2077
	exit(1);
2078
 
2078
 
2079
	}#if end
2079
	}#if end
2080
 
2080
 
Line 2088... Line 2088...
2088
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2088
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2089
	#$result["error"],錯誤訊息.
2089
	#$result["error"],錯誤訊息.
2090
	#$result["function"],當前執行的函式名稱.
2090
	#$result["function"],當前執行的函式名稱.
2091
	#$result["argu"],所使用的參數.
2091
	#$result["argu"],所使用的參數.
2092
	#$result["content"],執行的結果.
2092
	#$result["content"],執行的結果.
2093
	#$result["content"]["srerviceInfo"]["on"],"true",代表運行中,"false",代表無運行. 
2093
	#$result["content"]["srerviceInfo"]["on"],"true",代表運行中,"false",代表無運行.
2094
	#$result["content"]["srerviceInfo"]["auto"],"true",代表自動啟動,"false",代表不自動啟動. 
2094
	#$result["content"]["srerviceInfo"]["auto"],"true",代表自動啟動,"false",代表不自動啟動.
2095
	#必填參數:
2095
	#必填參數:
2096
	#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
2096
	#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
2097
	$conf["fileArgu"]=__FILE__;
2097
	$conf["fileArgu"]=__FILE__;
2098
	#$conf["name"],字串,服務名稱.
2098
	#$conf["name"],字串,服務名稱.
2099
	$conf["name"]="daemon-reload";
2099
	$conf["name"]="daemon-reload";
Line 2136... Line 2136...
2136
		#參考資料:
2136
		#參考資料:
2137
		#無.
2137
		#無.
2138
		#備註:
2138
		#備註:
2139
		#無.
2139
		#無.
2140
		$record=logs::record($conf);
2140
		$record=logs::record($conf);
2141
		
2141
 
2142
		#如果執行失敗
2142
		#如果執行失敗
2143
		if($record["status"]==="false"){
2143
		if($record["status"]==="false"){
2144
		
2144
 
2145
			#印出結果
2145
			#印出結果
2146
			var_dump($record);
2146
			var_dump($record);
2147
		
2147
 
2148
			}#if end
2148
			}#if end
2149
			
2149
 
2150
		#異常結束執行
2150
		#異常結束執行
2151
		exit(1);
2151
		exit(1);
2152
 
2152
 
2153
		}#if end
2153
		}#if end
2154
 
2154
 
Line 2203... Line 2203...
2203
		#參考資料:
2203
		#參考資料:
2204
		#無.
2204
		#無.
2205
		#備註:
2205
		#備註:
2206
		#無.
2206
		#無.
2207
		$record=logs::record($conf);
2207
		$record=logs::record($conf);
2208
		
2208
 
2209
		#如果執行失敗
2209
		#如果執行失敗
2210
		if($record["status"]==="false"){
2210
		if($record["status"]==="false"){
2211
		
2211
 
2212
			#印出結果
2212
			#印出結果
2213
			var_dump($record);
2213
			var_dump($record);
2214
		
2214
 
2215
			}#if end
2215
			}#if end
2216
			
2216
 
2217
		#異常結束執行
2217
		#異常結束執行
2218
		exit(1);
2218
		exit(1);
2219
 
2219
 
2220
		}#if end
2220
		}#if end
2221
		
2221
 
2222
	#針對每個服務
2222
	#針對每個服務
2223
	foreach($getList["content"] as $fileInfo){
2223
	foreach($getList["content"] as $fileInfo){
2224
 
2224
 
2225
		#取得服務的名稱
2225
		#取得服務的名稱
2226
		$serviceName=$fileInfo["name"];
2226
		$serviceName=$fileInfo["name"];
Line 2231... Line 2231...
2231
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2231
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2232
		#$result["error"],錯誤訊息.
2232
		#$result["error"],錯誤訊息.
2233
		#$result["function"],當前執行的函式名稱.
2233
		#$result["function"],當前執行的函式名稱.
2234
		#$result["argu"],所使用的參數.
2234
		#$result["argu"],所使用的參數.
2235
		#$result["content"],執行的結果.
2235
		#$result["content"],執行的結果.
2236
		#$result["content"]["srerviceInfo"]["on"],"true",代表運行中,"false",代表無運行. 
2236
		#$result["content"]["srerviceInfo"]["on"],"true",代表運行中,"false",代表無運行.
2237
		#$result["content"]["srerviceInfo"]["auto"],"true",代表自動啟動,"false",代表不自動啟動. 
2237
		#$result["content"]["srerviceInfo"]["auto"],"true",代表自動啟動,"false",代表不自動啟動.
2238
		#必填參數:
2238
		#必填參數:
2239
		#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
2239
		#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
2240
		$conf["fileArgu"]=__FILE__;
2240
		$conf["fileArgu"]=__FILE__;
2241
		#$conf["name"],字串,服務名稱.
2241
		#$conf["name"],字串,服務名稱.
2242
		$conf["name"]=$serviceName;
2242
		$conf["name"]=$serviceName;
Line 2279... Line 2279...
2279
			#參考資料:
2279
			#參考資料:
2280
			#無.
2280
			#無.
2281
			#備註:
2281
			#備註:
2282
			#無.
2282
			#無.
2283
			$record=logs::record($conf);
2283
			$record=logs::record($conf);
2284
			
2284
 
2285
			#如果執行失敗
2285
			#如果執行失敗
2286
			if($record["status"]==="false"){
2286
			if($record["status"]==="false"){
2287
			
2287
 
2288
				#印出結果
2288
				#印出結果
2289
				var_dump($record);
2289
				var_dump($record);
2290
			
2290
 
2291
				}#if end
2291
				}#if end
2292
				
2292
 
2293
			#異常結束執行
2293
			#異常結束執行
2294
			exit(1);
2294
			exit(1);
2295
 
2295
 
2296
			}#if end
2296
			}#if end
2297
			
2297
 
2298
		#函式說明:
2298
		#函式說明:
2299
		#執行 systemd 程序來管理服務.
2299
		#執行 systemd 程序來管理服務.
2300
		#回傳結果:
2300
		#回傳結果:
2301
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2301
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2302
		#$result["error"],錯誤訊息.
2302
		#$result["error"],錯誤訊息.
2303
		#$result["function"],當前執行的函式名稱.
2303
		#$result["function"],當前執行的函式名稱.
2304
		#$result["argu"],所使用的參數.
2304
		#$result["argu"],所使用的參數.
2305
		#$result["content"],執行的結果.
2305
		#$result["content"],執行的結果.
2306
		#$result["content"]["srerviceInfo"]["on"],"true",代表運行中,"false",代表無運行. 
2306
		#$result["content"]["srerviceInfo"]["on"],"true",代表運行中,"false",代表無運行.
2307
		#$result["content"]["srerviceInfo"]["auto"],"true",代表自動啟動,"false",代表不自動啟動. 
2307
		#$result["content"]["srerviceInfo"]["auto"],"true",代表自動啟動,"false",代表不自動啟動.
2308
		#必填參數:
2308
		#必填參數:
2309
		#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
2309
		#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
2310
		$conf["fileArgu"]=__FILE__;
2310
		$conf["fileArgu"]=__FILE__;
2311
		#$conf["name"],字串,服務名稱.
2311
		#$conf["name"],字串,服務名稱.
2312
		$conf["name"]=$serviceName;
2312
		$conf["name"]=$serviceName;
Line 2349... Line 2349...
2349
			#參考資料:
2349
			#參考資料:
2350
			#無.
2350
			#無.
2351
			#備註:
2351
			#備註:
2352
			#無.
2352
			#無.
2353
			$record=logs::record($conf);
2353
			$record=logs::record($conf);
2354
			
2354
 
2355
			#如果執行失敗
2355
			#如果執行失敗
2356
			if($record["status"]==="false"){
2356
			if($record["status"]==="false"){
2357
			
2357
 
2358
				#印出結果
2358
				#印出結果
2359
				var_dump($record);
2359
				var_dump($record);
2360
			
2360
 
2361
				}#if end
2361
				}#if end
2362
				
2362
 
2363
			#異常結束執行
2363
			#異常結束執行
2364
			exit(1);
2364
			exit(1);
2365
 
2365
 
2366
			}#if end
2366
			}#if end
2367
 
2367
 
2368
		}#foreach end
2368
		}#foreach end
2369
 
2369
 
2370
	}#if end
2370
	}#if end
2371
 
2371
 
2372
?>
-
 
2373
2372
?>
-
 
2373