Subversion Repositories qbpwcf-lib(archive)

Rev

Blame | Last modification | View Log | RSS feed

#!/bin/php
<?php

#使用命名空間qbpwcf
namespace qbpwcf;

#assets dir
$assetsDir="assets of zerossl::csr_20241126";

#取得csr的內容
#函式說明:
#依據行號分隔抓取檔案的內容,結果會回傳一個陣列
#回傳的變數說明:
#$result["status"],執行是否成功,"true"代表成功;"fasle"代表失敗.
#$result["error"],錯誤訊息提示.
#$result["warning"],警告訊息.
#$result["function"],當前執行的函數名稱.
#$result["fileContent"],爲檔案的內容陣列.
#$result["lineCount"],爲檔案內容總共的行數.
#$result["fullContent"],為檔案的完整內容.
#$result["base64data"],為檔案的base64內容.
#$result["mimeType"],為檔案的mime type.
#必填參數:
#$conf["filePositionAndName"],字串,爲檔案的位置以及名稱.
$conf["filePositionAndName"]=$assetsDir."/test.qbpwcf.org.csr";
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
$conf["fileArgu"]=__FILE__;
#可省略參數:
#$conf["web"],是要取得網路上的檔案則為"true";反之預設為"false".
$conf["web"]="false";
#$conf["createIfnotExist"],字串,預設為"false"代表檔案不存在也不需要建立;反之為"true".
#$conf["createIfnotExist"]="false";
#參考資料:
#file(),取得檔案內容的行數.
#file=>http:#php.net/manual/en/function.file.php
#rtrim(),剔除透過file()取得每行內容結尾的換行符號.
#filesize=>http://php.net/manual/en/function.filesize.php
#參考資料:
#無.
#備註:
#無.
$getFileContent=fileAccess::getFileContent($conf);
unset($conf);

#如果執行失敗
if($getFileContent["status"]==="false"){

        #函式說明:
        #撰寫log
        #回傳結果:
        #$result["status"],狀態,"true"或"false".
        #$result["error"],錯誤訊息陣列.
        #$result["function"],當前函式的名稱.
        #$result["argu"],使用的參數.
        #必填參數:
        #$conf["path"],字串,log檔案的路徑與名稱.
        $conf["path"]=$logFile;
        #$conf["content"],any,要寫的內容,若內容不為字串則會用var_dump的格式寫入.
        $conf["content"]=$getFileContent;
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        #可省略參數:
        #$conf["rewrite"],預設為"false",接續寫入;反之"true"代表重新寫入.
        #$conf["rewrite"]="false";
        #參考資料:
        #無.
        #備註:
        #無.
        $record=logs::record($conf);
        unset($conf);
        
        #如果寫log失敗
        if($record["status"]==="false"){
        
                #印出結果
                var_dump($record);
        
                }#if end
        
        #結束執行,回傳錯誤代碼1
        exit(1);

        }#if end

#函式說明:
#產生certificate sign request.
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["argu"],所使用的參數.
#必填參數:
#$conf["certificate_domains"],字串,要簽署的doamin名稱.
$conf["certificate_domains"]="test.qbpwcf.org";
#$conf["certificate_csr"],字串,簽署的資訊.
$conf["certificate_csr"]=$getFileContent["fullContent"];
#$conf["fileArgu"],字串,變數__FILE__的內容.
$conf["fileArgu"]=__FILE__;
#可省略參數:
#$conf["apiDomain"],字串,提供服務的domain,預設為 self::getApiInfo()["doamin"].
#$conf["apiDomain"]=self::getApiInfo()["doamin"];
#$conf["path"],字串,提供服務的path,預設為 self::getApiInfo()["csrPath"].
#$conf["path"]=self::getApiInfo()["csrPath"];
#$conf["key"],字串,api key,預設為 self::getApiInfo()["apiKey"].
#$conf["key"]=self::getApiInfo()["apiKey"];
#參考資料:
#無.
#備註:
#無.
$csr=zerossl::csr($conf);
unset($conf);

#如果執行失敗
if($csr["status"]==="false"){

        #函式說明:
        #撰寫log
        #回傳結果:
        #$result["status"],狀態,"true"或"false".
        #$result["error"],錯誤訊息陣列.
        #$result["function"],當前函式的名稱.
        #$result["argu"],使用的參數.
        #必填參數:
        #$conf["path"],字串,log檔案的路徑與名稱.
        $conf["path"]=$logFile;
        #$conf["content"],any,要寫的內容,若內容不為字串則會用var_dump的格式寫入.
        $conf["content"]=$csr;
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        #可省略參數:
        #$conf["rewrite"],預設為"false",接續寫入;反之"true"代表重新寫入.
        #$conf["rewrite"]="false";
        #參考資料:
        #無.
        #備註:
        #無.
        $record=logs::record($conf);
        unset($conf);
        
        #如果寫log失敗
        if($record["status"]==="false"){
        
                #印出結果
                var_dump($record);
        
                }#if end
        
        #結束執行,回傳錯誤代碼1
        exit(1);

        }#if end
        
#debug
var_dump($csr);