| Line 123... |
Line 123... |
| 123 |
#$conf["changeOwner"]="";
|
123 |
#$conf["changeOwner"]="";
|
| 124 |
#$conf["changePermission"],字串,要將socket檔案的權限設為多少.ex: "0666"(所有帳戶都有存取的權限) 或 "0660"(僅有擁有者與群組帳戶有存取的權限) 或 "0600"(只有擁有者有權限執行).
|
124 |
#$conf["changePermission"],字串,要將socket檔案的權限設為多少.ex: "0666"(所有帳戶都有存取的權限) 或 "0660"(僅有擁有者與群組帳戶有存取的權限) 或 "0600"(只有擁有者有權限執行).
|
| 125 |
#$conf["changePermission"]="";
|
125 |
#$conf["changePermission"]="";
|
| 126 |
#$conf["sessionTimeout"],字串,當連線結束後於下一次連線間隔多久就算session timeout,server端會將記錄移除,client端需要重新拿取id,預設為300秒.
|
126 |
#$conf["sessionTimeout"],字串,當連線結束後於下一次連線間隔多久就算session timeout,server端會將記錄移除,client端需要重新拿取id,預設為300秒.
|
| 127 |
#$conf["sessionTimeout"]="300";
|
127 |
#$conf["sessionTimeout"]="300";
|
| 128 |
#$conf["addOnProcessFunc"],字串陣列,增加用於處理 json request 的函式名稱,給予的參數為array("request"=>收到的json訊息,"sock"=>用戶的socket,"clientCache"=>給予所有用戶的cache),若收到的不是json而是"quit"則代表用戶要結束連線;若收到的是$shutdownStr則代表要結束本函式.回傳的內容必須為陣列,例如 $res["continue"]="true"代表要繼續執行下一個addOnProcessFunc;"false"代表代表到此為止. $res["content"]="replaced content";代表要將收到的訊息取代成"replaced content". 最少要有回傳 $res["status"]數值"true"代表執行正常;"false"代表執行不正常.
|
128 |
#$conf["addOnProcessFunc"],字串陣列,增加用於處理 json request 的函式名稱,給予的參數為array("id"=>用於識別用戶的id,"request"=>收到的json訊息,"sock"=>用戶的socket,"clientCache"=>給予所有用戶的cache),若收到的不是json而是"quit"則代表用戶要結束連線;若收到的是$shutdownStr則代表要結束本函式.回傳的內容必須為陣列,例如 $res["continue"]="true"代表要繼續執行下一個addOnProcessFunc;"false"代表代表到此為止. $res["content"]="replaced content";代表要將收到的訊息取代成"replaced content". 最少要有回傳 $res["status"]數值"true"代表執行正常;"false"代表執行不正常.
|
| 129 |
#$conf["addOnProcessFunc"]=array();
|
129 |
#$conf["addOnProcessFunc"]=array();
|
| 130 |
#$conf["funcToRunWhenIdle"],字串陣列,當沒有事件產生時,要執行的函式名稱,給予參數為array("client"=>所有用戶,"clientCache"=>$result["serverCache"]["clientSide"]["addOnProcessFunc"][$funcToRunWhenIdle],"serverCache"=>$result["serverCache"]["serverSide"]["funcToRunWhenIdle"][$funcToRunWhenIdle]).
|
130 |
#$conf["funcToRunWhenIdle"],字串陣列,當沒有事件產生時,要執行的函式名稱,給予參數為array("client"=>所有用戶,"clientCache"=>$result["serverCache"]["clientSide"]["addOnProcessFunc"][$funcToRunWhenIdle],"serverCache"=>$result["serverCache"]["serverSide"]["funcToRunWhenIdle"][$funcToRunWhenIdle]).
|
| 131 |
#$conf["funcToRunWhenIdle"]=array();
|
131 |
#$conf["funcToRunWhenIdle"]=array();
|
| 132 |
#$conf["paramsForFuncToRunWhenIdle"],2維陣列,每個元素代表指定給予funcToRunWhenIdle參數中的指定元素的參數.
|
132 |
#$conf["paramsForFuncToRunWhenIdle"],2維陣列,每個元素代表指定給予funcToRunWhenIdle參數中的指定元素的參數.
|
| 133 |
#$conf["paramsForFuncToRunWhenIdle"]=array();
|
133 |
#$conf["paramsForFuncToRunWhenIdle"]=array();
|
| Line 640... |
Line 640... |
| 640 |
|
640 |
|
| 641 |
#回傳結果
|
641 |
#回傳結果
|
| 642 |
return $result;
|
642 |
return $result;
|
| 643 |
|
643 |
|
| 644 |
}#if end
|
644 |
}#if end
|
| - |
|
645 |
|
| - |
|
646 |
#改變shutdownStr檔案的擁有者
|
| - |
|
647 |
#函式說明:
|
| - |
|
648 |
#使用 linux 的 chown 指令來修改目標檔案或目錄的擁有者跟群組擁有者資訊.
|
| - |
|
649 |
#回傳結果:
|
| - |
|
650 |
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
|
| - |
|
651 |
#$result["error"],錯誤訊息.
|
| - |
|
652 |
#$result["function"],當前執行的函式名稱.
|
| - |
|
653 |
#$result["cmd"],執行的指令.
|
| - |
|
654 |
#$result["content"],執行的結果陣列,如果參數 "recursive" 跟 "excludeSelf" 都有設定的話,就會回傳該結果.
|
| - |
|
655 |
#必填參數:
|
| - |
|
656 |
#$conf["owner"],字串,要變哪個使用者擁有.
|
| - |
|
657 |
$conf["cmd::chown"]["owner"]=explode(".",$conf["changeOwner"])[0];
|
| - |
|
658 |
#$conf["target"],字串,需要變更擁有者、 群組的目標.
|
| - |
|
659 |
$conf["cmd::chown"]["target"]=$conf["shutdownStrAddr"];
|
| - |
|
660 |
#可省略參數:
|
| - |
|
661 |
#$conf["group"],字串,要變成什麼群組擁有,預設跟"owner"一樣.
|
| - |
|
662 |
$conf["cmd::chown"]["group"]=explode(".",$conf["changeOwner"])[1];
|
| - |
|
663 |
#$conf["recursive"],字串,"true"代表目標目錄底下的內容都要套用,預設為"false".
|
| - |
|
664 |
#$conf["recursive"]="true";
|
| - |
|
665 |
#$conf["excludeSelf"],字串,預設為"false"代表不處理;若為"true"則會排除目標自己(資料夾).
|
| - |
|
666 |
#$conf["excludeSelf"]="true";
|
| - |
|
667 |
#參考資料:
|
| - |
|
668 |
#無.
|
| - |
|
669 |
#備註:
|
| - |
|
670 |
#無.
|
| - |
|
671 |
$chown=cmd::chown($conf["cmd::chown"]);
|
| - |
|
672 |
unset($conf["cmd::chown"]);
|
| - |
|
673 |
|
| - |
|
674 |
#如果改變檔案擁有者限失敗
|
| - |
|
675 |
if($chown===false){
|
| - |
|
676 |
|
| - |
|
677 |
#設置執行失敗
|
| - |
|
678 |
$result["status"]="false";
|
| - |
|
679 |
|
| - |
|
680 |
#設置錯誤訊息
|
| - |
|
681 |
$result["error"][]="改變 ".$conf["sock"]." 檔案的擁有資訊為 ".explode(".",$conf["changeOwner"])[0]." 失敗,通常只有系統帳戶才能變更之.";
|
| - |
|
682 |
|
| - |
|
683 |
#印出錯誤訊息
|
| - |
|
684 |
echo print_r($result,true);
|
| - |
|
685 |
|
| - |
|
686 |
#回傳結果
|
| - |
|
687 |
return $result;
|
| - |
|
688 |
|
| - |
|
689 |
}#if end
|
| 645 |
|
690 |
|
| 646 |
}#if end
|
691 |
}#if end
|
| 647 |
|
692 |
|
| 648 |
#如果有設置 $conf["changePermission"]
|
693 |
#如果有設置 $conf["changePermission"]
|
| 649 |
if(isset($conf["changePermission"])){
|
694 |
if(isset($conf["changePermission"])){
|
| Line 664... |
Line 709... |
| 664 |
#可省略參數:
|
709 |
#可省略參數:
|
| 665 |
#$conf["recursive"],字串,"true"代表目標目錄底下的內容都要套用,預設為"false".
|
710 |
#$conf["recursive"],字串,"true"代表目標目錄底下的內容都要套用,預設為"false".
|
| 666 |
#$conf["recursive"]="true";
|
711 |
#$conf["recursive"]="true";
|
| 667 |
#$conf["excludeSelf"],字串,預設為"false"代表不處理;若為"true"則會排除目標自己(資料夾).
|
712 |
#$conf["excludeSelf"],字串,預設為"false"代表不處理;若為"true"則會排除目標自己(資料夾).
|
| 668 |
#$conf["excludeSelf"]="true";
|
713 |
#$conf["excludeSelf"]="true";
|
| - |
|
714 |
#參考資料:
|
| - |
|
715 |
#無.
|
| - |
|
716 |
#備註:
|
| - |
|
717 |
#無.
|
| - |
|
718 |
$chmod=cmd::chmod($conf["cmd::chmod"]);
|
| - |
|
719 |
unset($conf["cmd::chmod"]);
|
| - |
|
720 |
|
| - |
|
721 |
#如果變更檔案權限失敗
|
| - |
|
722 |
if($chmod["status"]==="false"){
|
| - |
|
723 |
|
| - |
|
724 |
#設置執行失敗
|
| - |
|
725 |
$result["status"]="false";
|
| - |
|
726 |
|
| - |
|
727 |
#設置錯誤訊息
|
| - |
|
728 |
$result["error"]=$chmod;
|
| - |
|
729 |
|
| - |
|
730 |
#印出錯誤訊息
|
| - |
|
731 |
echo print_r($result,true);
|
| - |
|
732 |
|
| - |
|
733 |
#回傳結果
|
| - |
|
734 |
return $result;
|
| - |
|
735 |
|
| - |
|
736 |
}#if end
|
| - |
|
737 |
|
| - |
|
738 |
#改變 shutdownStr 的權限
|
| - |
|
739 |
#函式說明:
|
| - |
|
740 |
#使用 linux 的 chmod 指令來修改目標檔案或目錄的權限.
|
| - |
|
741 |
#回傳結果:
|
| - |
|
742 |
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
|
| - |
|
743 |
#$result["error"],錯誤訊息.
|
| - |
|
744 |
#$result["function"],當前執行的函式名稱.
|
| - |
|
745 |
#$result["cmd"],執行的指令.
|
| - |
|
746 |
#$result["content"],執行的結果陣列,如果參數 "recursive" 跟 "excludeSelf" 都有設定的話,就會回傳該結果.
|
| - |
|
747 |
#必填參數:
|
| - |
|
748 |
#$conf["mode"],字串,要變成什麼權限.
|
| - |
|
749 |
$conf["cmd::chmod"]["mode"]=$conf["changePermission"];
|
| - |
|
750 |
#$conf["target"],字串,需要變更權限的目標.
|
| - |
|
751 |
$conf["cmd::chmod"]["target"]=$conf["shutdownStrAddr"];
|
| - |
|
752 |
#可省略參數:
|
| - |
|
753 |
#$conf["recursive"],字串,"true"代表目標目錄底下的內容都要套用,預設為"false".
|
| - |
|
754 |
#$conf["recursive"]="true";
|
| - |
|
755 |
#$conf["excludeSelf"],字串,預設為"false"代表不處理;若為"true"則會排除目標自己(資料夾).
|
| - |
|
756 |
#$conf["excludeSelf"]="true";
|
| 669 |
#參考資料:
|
757 |
#參考資料:
|
| 670 |
#無.
|
758 |
#無.
|
| 671 |
#備註:
|
759 |
#備註:
|
| 672 |
#無.
|
760 |
#無.
|
| 673 |
$chmod=cmd::chmod($conf["cmd::chmod"]);
|
761 |
$chmod=cmd::chmod($conf["cmd::chmod"]);
|