Subversion Repositories php-qbpwcf

Rev

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

Rev 350 Rev 368
Line 116... Line 116...
116
	#可省略參數:
116
	#可省略參數:
117
	#$conf["sock"],字串,unix domain socket的路徑與名稱,預設為相對於當前套件的 var/qbpwcf/resource.sock
117
	#$conf["sock"],字串,unix domain socket的路徑與名稱,預設為相對於當前套件的 var/qbpwcf/resource.sock
118
	#$conf["sock"]="";
118
	#$conf["sock"]="";
119
	#$conf["debug"],字串,"true"代表要啟用debug模式;反之預設為"false"不啟用.
119
	#$conf["debug"],字串,"true"代表要啟用debug模式;反之預設為"false"不啟用.
120
	#$conf["debug"]="";
120
	#$conf["debug"]="";
121
	#$conf["addOnProcessFunc"],陣列,收到訊息後,要依順執行的函式,預設為array("\qbpwcf\resource::addOnProcessFunc").
121
	#$conf["addOnProcessFunc"],陣列,收到訊息後,要依順執行的函式,預設為array("\qbpwcf\resource::addOnProcessFunc"),會傳遞的參數為一陣列,每個元素的key與value依序為"id":"識別用戶的id";"last_request_time":"訊號來的時間";"request":"收到的訊息陣列";"socket":"跟用戶互動用socket";"clientCache":id對應用戶的cache;
122
	#$conf["addOnProcessFunc"]=array();
122
	#$conf["addOnProcessFunc"]=array();
123
	#$conf["funcToRunWhenIdle"],陣列,閒置時要依序執行的函式,預設為array("/qbpwcf/resource::funcToRunWhenIdle");
123
	#$conf["funcToRunWhenIdle"],陣列,閒置時要依序執行的函式,預設為array("/qbpwcf/resource::funcToRunWhenIdle");
124
	#$conf["funcToRunWhenIdle"]=array();
124
	#$conf["funcToRunWhenIdle"]=array();
125
	#$conf["deafaultLifeTime"],字串,資源沒被使用時,預設的存留時間秒數,預設為"300".
125
	#$conf["deafaultLifeTime"],字串,資源沒被使用時,預設的存留時間秒數,預設為"300".
126
	#$conf["deafaultLifeTime"]="300";
126
	#$conf["deafaultLifeTime"]="300";
-
 
127
	#$conf["defaultUserGroup"],字串,unix domain socket的擁有者與群組為何,預設為"root.".webUser.
-
 
128
	#$ocnf["defaultUserGroup"]="root.".webUser;
-
 
129
	#$conf["defaultPermission"],字串,unix domain socket的權限設定,預設為"0660",代表擁有者與其群組有讀寫的權限.
-
 
130
	#$conf["defaultPermission"]="0660";
127
	#參考資料:
131
	#參考資料:
128
	#無.
132
	#無.
129
	#備註:
133
	#備註:
130
	#僅能在命令列環境下運行.
134
	#僅能在命令列環境下運行.
131
	*/
135
	*/
Line 228... Line 232...
228
		#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
232
		#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
229
		#$conf["canNotBeEmpty"]=array();
233
		#$conf["canNotBeEmpty"]=array();
230
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
234
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
231
		#$conf["canBeEmpty"]=array();
235
		#$conf["canBeEmpty"]=array();
232
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
236
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
233
		$conf["variableCheck::checkArguments"]["skipableVariableCanNotBeEmpty"]=array("sock","deafaultLifeTime");
237
		$conf["variableCheck::checkArguments"]["skipableVariableCanNotBeEmpty"]=array("sock","deafaultLifeTime","defaultUserGroup","defaultPermission");
234
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
238
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
235
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("sock","deafaultLifeTime");
239
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("sock","deafaultLifeTime","defaultUserGroup","defaultPermission");
236
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
240
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
237
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string");
241
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string","string");
238
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
242
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
239
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array($sock,"300");
243
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array($sock,"300","root.".webUser,"0660");
240
		#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
244
		#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
241
		#$conf["disallowAllSkipableVarIsEmpty"]="";
245
		#$conf["disallowAllSkipableVarIsEmpty"]="";
242
		#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
246
		#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
243
		#$conf["disallowAllSkipableVarIsEmptyArray"]="";
247
		#$conf["disallowAllSkipableVarIsEmptyArray"]="";
244
		#$conf["disallowAllSkipableVarNotExist"],字串,是否不允許每個可省略參數都不存在,預設為"false"代表允許,反之為"true".
248
		#$conf["disallowAllSkipableVarNotExist"],字串,是否不允許每個可省略參數都不存在,預設為"false"代表允許,反之為"true".
Line 291... Line 295...
291
		$conf["sock::unixDomainSockServer"]["sock"]=$conf["sock"];
295
		$conf["sock::unixDomainSockServer"]["sock"]=$conf["sock"];
292
		#$conf["fileArgu"],字串,變數__FILE__的內容.
296
		#$conf["fileArgu"],字串,變數__FILE__的內容.
293
		$conf["sock::unixDomainSockServer"]["fileArgu"]=__FILE__;
297
		$conf["sock::unixDomainSockServer"]["fileArgu"]=__FILE__;
294
		#可省略參數:
298
		#可省略參數:
295
		#$conf["changeOwner"],字串,要將socket檔案的擁有着權限進行修改."user.group"代表擁有者帳號為user,群組為group.
299
		#$conf["changeOwner"],字串,要將socket檔案的擁有着權限進行修改."user.group"代表擁有者帳號為user,群組為group.
296
		#$conf["changeOwner"]="";
300
		$conf["sock::unixDomainSockServer"]["changeOwner"]=$conf["defaultUserGroup"];
297
		#$conf["changePermission"],字串,要將socket檔案的權限設為多少.ex: "0666"(所有帳戶都有存取的權限) 或 "0660"(僅有擁有者與群組帳戶有存取的權限) 或 "0600"(只有擁有者有權限執行).
301
		#$conf["changePermission"],字串,要將socket檔案的權限設為多少.ex: "0666"(所有帳戶都有存取的權限) 或 "0660"(僅有擁有者與群組帳戶有存取的權限) 或 "0600"(只有擁有者有權限執行).
298
		#$conf["changePermission"]="";
302
		$conf["sock::unixDomainSockServer"]["changePermission"]=$conf["defaultPermission"];
299
		#$conf["sessionTimeout"],字串,當連線結束後於下一次連線間隔多久就算session timeout,server端會將記錄移除,client端需要重新拿取id,預設為300秒.
303
		#$conf["sessionTimeout"],字串,當連線結束後於下一次連線間隔多久就算session timeout,server端會將記錄移除,client端需要重新拿取id,預設為300秒.
300
		#$conf["sessionTimeout"]="300";
304
		#$conf["sessionTimeout"]="300";
301
		#$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"代表執行不正常.
305
		#$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"代表執行不正常.
302
		$conf["sock::unixDomainSockServer"]["addOnProcessFunc"]=array("\qbpwcf\\resource::addOnProcessFunc");
306
		$conf["sock::unixDomainSockServer"]["addOnProcessFunc"]=array("\qbpwcf\\resource::addOnProcessFunc");
303
		#$conf["funcToRunWhenIdle"],字串陣列,當沒有事件產生時,要執行的函式名稱,給予參數為array("client"=>所有用戶,"clientCache"=>$result["serverCache"]["clientSide"]["addOnProcessFunc"][$funcToRunWhenIdle],"serverCache"=>$result["serverCache"]["serverSide"]["funcToRunWhenIdle"][$funcToRunWhenIdle]).
307
		#$conf["funcToRunWhenIdle"],字串陣列,當沒有事件產生時,要執行的函式名稱,給予參數為array("client"=>所有用戶,"clientCache"=>$result["serverCache"]["clientSide"]["addOnProcessFunc"][$funcToRunWhenIdle],"serverCache"=>$result["serverCache"]["serverSide"]["funcToRunWhenIdle"][$funcToRunWhenIdle]).
Line 347... Line 351...
347
	#$reuslt["error"],執行不正常結束的錯訊息陣列.
351
	#$reuslt["error"],執行不正常結束的錯訊息陣列.
348
	#$result["function"],當前執行的函式名稱.
352
	#$result["function"],當前執行的函式名稱.
349
	#必填參數:
353
	#必填參數:
350
	#$conf["info"],陣列,資料庫資訊.
354
	#$conf["info"],陣列,資料庫資訊.
351
	$conf["info"]=array();
355
	$conf["info"]=array();
352
	#$conf["request"],字串,收到的json訊息,其元素key值有"action"、"condition"、"value"、"type". "action"的數值有read(讀取資源)跟write(寫入資源);"condition"的數值為一陣列,若為空陣列則代表沒有條件,通常是為新增資源,元素的key為"id"者代表目標資源的id;元素的key為"value"者代表目標資源是否相等於"value",且"type"為"php_variable";元素的key為"pid"者代表運行的資源程序pid,且"type"為"proc";"value"為資源,為任意php變數;"type"有php_variable(任何php變數)跟proc(透過指令啟動,透過unix domain socket互動).
356
	#$conf["request"],字串,收到的json訊息,其元素key值有"id":用於識別unix domain client用戶該次訊息的id;"data":array("action","condition","value","type"),"action"的數值有read(讀取資源)跟write(寫入資源);"condition"的數值為一陣列,若為空陣列則代表沒有條件,通常是為新增資源,元素的key為"id"者代表目標資源的id,沒有時不會傳遞該參數;元素的key為"value"者代表目標資源是否相等於"value",且"type"為"php_variable";元素的key為"pid"者代表運行的資源程序pid,且"type"為"proc";"value"為資源,為任意php變數;"type"有php_variable(任何php變數)跟proc(透過指令啟動,透過unix domain socket互動).
353
	$conf["request"]="";
357
	$conf["request"]="";
354
	#$conf["sock"],object,用戶的socket.
358
	#$conf["socket"],object,用戶的socket.
355
	$conf["sock"]=$object;
359
	$conf["socket"]=$object;
356
	#$conf["clientCache"],陣列,給予所有用戶的cache.
360
	#$conf["clientCache"],陣列,給予所有用戶的cache.
357
	$conf["clientCache"]=array();
361
	$conf["clientCache"]=array();
-
 
362
	#$conf["last_req_time"],字串,收到client要求的時間.
-
 
363
	$conf["last_req_time"]="";
358
	#可省略參數:
364
	#可省略參數:
359
	#無.
365
	#無.
360
	#參考資料:
366
	#參考資料:
361
	#無.
367
	#無.
362
	#備註:
368
	#備註:
Line 448... Line 454...
448
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
454
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
449
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
455
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
450
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
456
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
451
		#可省略參數:
457
		#可省略參數:
452
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
458
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
453
		#$conf["mustBeFilledVariableName"]=array();
459
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("request","socket","clientCache","last_req_time");
454
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null、any代表不指定變數形態.其中 resource也包含"resource (closed)".
460
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null、any代表不指定變數形態.其中 resource也包含"resource (closed)".
455
		#$conf["mustBeFilledVariableType"]=array();
461
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("array","resource","array","integer");
456
		#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
462
		#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
457
		#$conf["canBeEmptyString"]="false";
463
		#$conf["canBeEmptyString"]="false";
458
		#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
464
		#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
459
		#$conf["canNotBeEmpty"]=array();
465
		#$conf["canNotBeEmpty"]=array();
460
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
466
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
461
		#$conf["canBeEmpty"]=array();
467
		#$conf["canBeEmpty"]=array();
462
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
468
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
463
		$conf["variableCheck::checkArguments"]["skipableVariableCanNotBeEmpty"]=array("info","request","sock","clientCache");
469
		$conf["variableCheck::checkArguments"]["skipableVariableCanNotBeEmpty"]=array("info");
464
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
470
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
465
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("info","request","sock","clientCache");
471
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("info");
466
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
472
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
467
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array","object","object","array");
473
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array");
468
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
474
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
469
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array($sock);
475
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array($sock);
470
		#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
476
		#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
471
		#$conf["disallowAllSkipableVarIsEmpty"]="";
477
		#$conf["disallowAllSkipableVarIsEmpty"]="";
472
		#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
478
		#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
Line 535... Line 541...
535
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf["request"];
541
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf["request"];
536
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
542
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
537
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
543
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
538
		#可省略參數:
544
		#可省略參數:
539
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
545
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
-
 
546
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("data");
-
 
547
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null、any代表不指定變數形態.其中 resource也包含"resource (closed)".
-
 
548
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("array");
-
 
549
		#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
-
 
550
		#$conf["canBeEmptyString"]="false";
-
 
551
		#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
-
 
552
		#$conf["canNotBeEmpty"]=array();
-
 
553
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
-
 
554
		#$conf["canBeEmpty"]=array();
-
 
555
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
-
 
556
		#$conf["variableCheck::checkArguments"]["skipableVariableCanNotBeEmpty"]=array("action");
-
 
557
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
-
 
558
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("condition","value","type");
-
 
559
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
-
 
560
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array",null,"string");
-
 
561
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
-
 
562
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(array(),null,null);
-
 
563
		#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
-
 
564
		#$conf["disallowAllSkipableVarIsEmpty"]="";
-
 
565
		#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
-
 
566
		#$conf["disallowAllSkipableVarIsEmptyArray"]="";
-
 
567
		#$conf["disallowAllSkipableVarNotExist"],字串,是否不允許每個可省略參數都不存在,預設為"false"代表允許,反之為"true".
-
 
568
		#$conf["disallowAllSkipableVarNotExist"]="";
-
 
569
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
-
 
570
		#$conf["arrayCountEqualCheck"][]=array();
-
 
571
		#參考資料:
-
 
572
		#array_keys=>http://php.net/manual/en/function.array-keys.php
-
 
573
		#備註:
-
 
574
		#無.
-
 
575
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
-
 
576
		unset($conf["variableCheck::checkArguments"]);
-
 
577
		
-
 
578
		#如果執行異常
-
 
579
		if($checkArguments["status"]==="false"){
-
 
580
		
-
 
581
			#設置執行異常識別
-
 
582
			$result["status"]="false";
-
 
583
			
-
 
584
			#設置執行錯誤
-
 
585
			$result["error"]=$checkArguments;
-
 
586
			
-
 
587
			#回傳結果
-
 
588
			return $result;
-
 
589
		
-
 
590
			}#if end
-
 
591
			
-
 
592
		#如果檢查不通過
-
 
593
		if($checkArguments["passed"]==="false"){
-
 
594
		
-
 
595
			#設置執行異常識別
-
 
596
			$result["status"]="false";
-
 
597
			
-
 
598
			#設置執行錯誤
-
 
599
			$result["error"]=$checkArguments;
-
 
600
			
-
 
601
			#回傳結果
-
 
602
			return $result;
-
 
603
		
-
 
604
			}#if end
-
 
605
		
-
 
606
		#檢查參數
-
 
607
		#函式說明:
-
 
608
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
-
 
609
		#回傳結果:
-
 
610
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
-
 
611
		#$result["error"],執行不正常結束的錯訊息陣列.
-
 
612
		#$result["simpleError"],簡單表示的錯誤訊息.
-
 
613
		#$result["function"],當前執行的函式名稱.
-
 
614
		#$result["argu"],設置給予的參數.
-
 
615
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
-
 
616
		#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
-
 
617
		#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
-
 
618
		#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
-
 
619
		#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
-
 
620
		#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
-
 
621
		#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
-
 
622
		#$result["notNeedVar"],字串陣列,多餘的參數名稱.
-
 
623
		#必填參數:
-
 
624
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
-
 
625
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf["request"]["data"];
-
 
626
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
-
 
627
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
-
 
628
		#可省略參數:
-
 
629
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
540
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("action");
630
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("action");
541
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null、any代表不指定變數形態.其中 resource也包含"resource (closed)".
631
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null、any代表不指定變數形態.其中 resource也包含"resource (closed)".
542
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string");
632
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string");
543
		#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
633
		#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
544
		#$conf["canBeEmptyString"]="false";
634
		#$conf["canBeEmptyString"]="false";
Line 595... Line 685...
595
			#回傳結果
685
			#回傳結果
596
			return $result;
686
			return $result;
597
		
687
		
598
			}#if end
688
			}#if end
599
		
689
		
-
 
690
		#取得 request data 的參考
-
 
691
		$rdata=&$conf["request"]["data"];
-
 
692
		
600
		#判斷 action
693
		#判斷 action
601
		switch($conf["request"]["action"]){
694
		switch($rdata["action"]){
602
		
695
		
603
			#如果是要寫入
696
			#如果是要寫入
604
			case "write":
697
			case "write":
605
			
698
			
606
				#如果是空的,亦即沒有條件
699
				#如果是空的,亦即沒有條件
607
				if(empty($conf["request"]["condition"])){
700
				if(empty($rdata["condition"])){
608
				
701
				
609
					#代表要新增資料
702
					#代表要新增資料
610
				
703
				
611
					#判斷類型
704
					#判斷類型
612
					switch($conf["request"]["type"]){
705
					switch($rdata["type"]){
613
					
706
					
614
						#如果是 php 變數
707
						#如果是 php 變數
615
						case "php_variable":
708
						case "php_variable":
616
						
709
						
617
							#產生id
710
							#產生id
Line 651... Line 744...
651
						
744
						
652
							#初始化要設置的列
745
							#初始化要設置的列
653
							$row=array();
746
							$row=array();
654
						
747
						
655
							#設置存放的數值
748
							#設置存放的數值
656
							$row["value"]=$conf["request"]["value"];
749
							$row["value"]=$rdata["value"];
657
						
750
						
658
							#設置形態
751
							#設置形態
659
							$row["type"]=$conf["request"]["type"];
752
							$row["type"]=$rdata["type"];
660
						
753
						
661
							#若無設定 life
754
							#若無設定 life
662
							if(!isset($conf["request"]["life"])){
755
							if(!isset($rdata["life"])){
663
							
756
							
664
								#設置預設的life
757
								#設置預設的life
665
								$row["life"]=time()+$conf["info"]["defaultLifeTime"];
758
								$row["life"]=time()+$conf["info"]["defaultLifeTime"];
666
							
759
							
667
								}#if end
760
								}#if end
Line 683... Line 776...
683
						
776
						
684
						#若是 proc
777
						#若是 proc
685
						case "proc":
778
						case "proc":
686
						
779
						
687
							#取得要運行的程式與參數
780
							#取得要運行的程式與參數
688
							$cmdAndArgu=$conf["request"]["value"];
781
							$cmdAndArgu=$rdata["value"];
689
						
782
						
690
							#函式說明:
783
							#函式說明:
691
							#透過proc來多執行序運作.
784
							#透過proc來多執行序運作.
692
							#回傳結果:
785
							#回傳結果:
693
							#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
786
							#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 815... Line 908...
815
						
908
						
816
							#設置存放的數值
909
							#設置存放的數值
817
							$row["value"]=$value;
910
							$row["value"]=$value;
818
						
911
						
819
							#設置形態
912
							#設置形態
820
							$row["type"]=$conf["request"]["type"];
913
							$row["type"]=$rdata["type"];
821
						
914
						
822
							#新增資料並指定 id
915
							#新增資料並指定 id
823
							$conf["info"]["resource"][$uuid]=$row;
916
							$conf["info"]["resource"][$uuid]=$row;
824
							
917
							
825
							#若無設定 life
918
							#若無設定 life
826
							if(!isset($conf["request"]["life"])){
919
							if(!isset($rdata["life"])){
827
							
920
							
828
								#設置預設的life
921
								#設置預設的life
829
								$row["life"]=time()+$conf["info"]["defaultLifeTime"];
922
								$row["life"]=time()+$conf["info"]["defaultLifeTime"];
830
							
923
							
831
								}#if end
924
								}#if end
Line 844... Line 937...
844
						
937
						
845
						#其他類型
938
						#其他類型
846
						default: 
939
						default: 
847
						
940
						
848
							#設置錯誤訊息
941
							#設置錯誤訊息
849
							$result["error"][]="unsupported type:".$conf["request"]["type"];
942
							$result["error"][]="unsupported type:".$rdata["type"];
850
							
943
							
851
							#設置執行異常
944
							#設置執行異常
852
							$result["status"]="false";
945
							$result["status"]="false";
853
							
946
							
854
							#回傳結果
947
							#回傳結果
Line 860... Line 953...
860
					
953
					
861
				#反之有條件
954
				#反之有條件
862
				else{
955
				else{
863
				
956
				
864
					#針對每個條件
957
					#針對每個條件
865
					foreach($conf["request"]["condition"] as $key => $val){
958
					foreach($rdata["condition"] as $key => $val){
866
					
959
					
867
						#判斷 $key
960
						#判斷 $key
868
						switch($key){
961
						switch($key){
869
						
962
						
870
							#如果條件欄位是 id
963
							#如果條件欄位是 id
Line 878... Line 971...
878
									
971
									
879
										#取得現有資源類型
972
										#取得現有資源類型
880
										$currentType=$conf["info"]["resource"][$idInM]["type"];
973
										$currentType=$conf["info"]["resource"][$idInM]["type"];
881
										
974
										
882
										#如果沒有指定新 type
975
										#如果沒有指定新 type
883
										if(!isset($conf["request"]["type"])){
976
										if(!isset($rdata["type"])){
884
										
977
										
885
											#視為跟現有資源類型一樣
978
											#視為跟現有資源類型一樣
886
											$conf["request"]["type"]=$currentType;
979
											$rdata["type"]=$currentType;
887
										
980
										
888
											}#if end
981
											}#if end
889
										
982
										
890
										#判斷新資源類型
983
										#判斷新資源類型
891
										switch($conf["request"]["type"]){
984
										switch($rdata["type"]){
892
										
985
										
893
											#如果為 "php_variable"
986
											#如果為 "php_variable"
894
											case "php_variable":
987
											case "php_variable":
895
											
988
											
896
												#如果既有資源的類型為 "proc"
989
												#如果既有資源的類型為 "proc"
Line 906... Line 999...
906
											
999
											
907
												#初始化要設置的列
1000
												#初始化要設置的列
908
												$row=array();
1001
												$row=array();
909
											
1002
											
910
												#設置存放的數值
1003
												#設置存放的數值
911
												$row["value"]=$conf["request"]["value"];
1004
												$row["value"]=$rdata["value"];
912
											
1005
											
913
												#設置形態
1006
												#設置形態
914
												$row["type"]=$conf["request"]["type"];
1007
												$row["type"]=$rdata["type"];
915
											
1008
											
916
												#若無設定 life
1009
												#若無設定 life
917
												if(!isset($conf["request"]["life"])){
1010
												if(!isset($rdata["life"])){
918
												
1011
												
919
													#設置預設的life
1012
													#設置預設的life
920
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1013
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
921
												
1014
												
922
													}#if end
1015
													}#if end
Line 940... Line 1033...
940
													proc_close($valInM["process"]);
1033
													proc_close($valInM["process"]);
941
												
1034
												
942
													}#if end
1035
													}#if end
943
													
1036
													
944
												#取得要運行的程式與參數
1037
												#取得要運行的程式與參數
945
												$cmdAndArgu=$conf["request"]["value"];
1038
												$cmdAndArgu=$rdata["value"];
946
						
1039
						
947
												#函式說明:
1040
												#函式說明:
948
												#透過proc來多執行序運作.
1041
												#透過proc來多執行序運作.
949
												#回傳結果:
1042
												#回傳結果:
950
												#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1043
												#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 1037... Line 1130...
1037
											
1130
											
1038
												#設置存放的數值
1131
												#設置存放的數值
1039
												$row["value"]=$value;
1132
												$row["value"]=$value;
1040
											
1133
											
1041
												#設置形態
1134
												#設置形態
1042
												$row["type"]=$conf["request"]["type"];
1135
												$row["type"]=$rdata["type"];
1043
											
1136
											
1044
												#若無設定 life
1137
												#若無設定 life
1045
												if(!isset($conf["request"]["life"])){
1138
												if(!isset($rdata["life"])){
1046
												
1139
												
1047
													#設置預設的life
1140
													#設置預設的life
1048
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1141
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1049
												
1142
												
1050
													}#if end
1143
													}#if end
Line 1057... Line 1150...
1057
											
1150
											
1058
											#其他 type
1151
											#其他 type
1059
											default:
1152
											default:
1060
											
1153
											
1061
												#設置錯誤訊息
1154
												#設置錯誤訊息
1062
												$result["error"][]="unsupported type:".$conf["request"]["type"];
1155
												$result["error"][]="unsupported type:".$rdata["type"];
1063
												
1156
												
1064
												#設置執行異常
1157
												#設置執行異常
1065
												$result["status"]="false";
1158
												$result["status"]="false";
1066
												
1159
												
1067
												#回傳結果
1160
												#回傳結果
Line 1112... Line 1205...
1112
								
1205
								
1113
									#如果找到符合value的資料
1206
									#如果找到符合value的資料
1114
									if($valInM===$val){
1207
									if($valInM===$val){
1115
									
1208
									
1116
										#如果沒有指定新 type
1209
										#如果沒有指定新 type
1117
										if(!isset($conf["request"]["type"])){
1210
										if(!isset($rdata["type"])){
1118
										
1211
										
1119
											#視為跟現有資源類型一樣
1212
											#視為跟現有資源類型一樣
1120
											$conf["request"]["type"]=$currentType;
1213
											$rdata["type"]=$currentType;
1121
										
1214
										
1122
											}#if end
1215
											}#if end
1123
										
1216
										
1124
										#判斷新資源類型
1217
										#判斷新資源類型
1125
										switch($conf["request"]["type"]){
1218
										switch($rdata["type"]){
1126
										
1219
										
1127
											#如果為 "php_variable"
1220
											#如果為 "php_variable"
1128
											case "php_variable":
1221
											case "php_variable":
1129
											
1222
											
1130
												#如果既有資源的類型為 "proc"
1223
												#如果既有資源的類型為 "proc"
Line 1140... Line 1233...
1140
											
1233
											
1141
												#初始化要設置的列
1234
												#初始化要設置的列
1142
												$row=array();
1235
												$row=array();
1143
											
1236
											
1144
												#設置存放的數值
1237
												#設置存放的數值
1145
												$row["value"]=$conf["request"]["value"];
1238
												$row["value"]=$rdata["value"];
1146
											
1239
											
1147
												#設置形態
1240
												#設置形態
1148
												$row["type"]=$conf["request"]["type"];
1241
												$row["type"]=$rdata["type"];
1149
											
1242
											
1150
												#若無設定 life
1243
												#若無設定 life
1151
												if(!isset($conf["request"]["life"])){
1244
												if(!isset($rdata["life"])){
1152
												
1245
												
1153
													#設置預設的life
1246
													#設置預設的life
1154
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1247
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1155
												
1248
												
1156
													}#if end
1249
													}#if end
Line 1174... Line 1267...
1174
													proc_close($valInM["process"]);
1267
													proc_close($valInM["process"]);
1175
												
1268
												
1176
													}#if end
1269
													}#if end
1177
													
1270
													
1178
												#取得要運行的程式與參數
1271
												#取得要運行的程式與參數
1179
												$cmdAndArgu=$conf["request"]["value"];
1272
												$cmdAndArgu=$rdata["value"];
1180
						
1273
						
1181
												#函式說明:
1274
												#函式說明:
1182
												#透過proc來多執行序運作.
1275
												#透過proc來多執行序運作.
1183
												#回傳結果:
1276
												#回傳結果:
1184
												#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1277
												#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 1271... Line 1364...
1271
											
1364
											
1272
												#設置存放的數值
1365
												#設置存放的數值
1273
												$row["value"]=$value;
1366
												$row["value"]=$value;
1274
											
1367
											
1275
												#設置形態
1368
												#設置形態
1276
												$row["type"]=$conf["request"]["type"];
1369
												$row["type"]=$rdata["type"];
1277
											
1370
											
1278
												#若無設定 life
1371
												#若無設定 life
1279
												if(!isset($conf["request"]["life"])){
1372
												if(!isset($rdata["life"])){
1280
												
1373
												
1281
													#設置預設的life
1374
													#設置預設的life
1282
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1375
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1283
												
1376
												
1284
													}#if end
1377
													}#if end
Line 1291... Line 1384...
1291
											
1384
											
1292
											#其他 type
1385
											#其他 type
1293
											default:
1386
											default:
1294
											
1387
											
1295
												#設置錯誤訊息
1388
												#設置錯誤訊息
1296
												$result["error"][]="unsupported type:".$conf["request"]["type"];
1389
												$result["error"][]="unsupported type:".$rdata["type"];
1297
												
1390
												
1298
												#設置執行異常
1391
												#設置執行異常
1299
												$result["status"]="false";
1392
												$result["status"]="false";
1300
												
1393
												
1301
												#回傳結果
1394
												#回傳結果
Line 1323... Line 1416...
1323
								
1416
								
1324
							#如果條件欄位是 pid
1417
							#如果條件欄位是 pid
1325
							case "pid":
1418
							case "pid":
1326
							
1419
							
1327
								#針對每筆記錄
1420
								#針對每筆記錄
1328
								foreach($conf["info"]["resource"] as $idInM => $valInM){
1421
								foreach($rdata["resource"] as $idInM => $valInM){
1329
								
1422
								
1330
									#如果不是 proc
1423
									#如果不是 proc
1331
									if($valInM["type"]!=="proc"){
1424
									if($valInM["type"]!=="proc"){
1332
									
1425
									
1333
										#跳過之
1426
										#跳過之
Line 1340... Line 1433...
1340
								
1433
								
1341
									#如果找到符合value的資料
1434
									#如果找到符合value的資料
1342
									if($pidInM===$val){
1435
									if($pidInM===$val){
1343
									
1436
									
1344
										#如果沒有指定新 type
1437
										#如果沒有指定新 type
1345
										if(!isset($conf["request"]["type"])){
1438
										if(!isset($rdata["type"])){
1346
										
1439
										
1347
											#視為跟現有資源類型一樣
1440
											#視為跟現有資源類型一樣
1348
											$conf["request"]["type"]=$currentType;
1441
											$rdata["type"]=$currentType;
1349
										
1442
										
1350
											}#if end
1443
											}#if end
1351
										
1444
										
1352
										#判斷新資源類型
1445
										#判斷新資源類型
1353
										switch($conf["request"]["type"]){
1446
										switch($rdata["type"]){
1354
										
1447
										
1355
											#如果為 "php_variable"
1448
											#如果為 "php_variable"
1356
											case "php_variable":
1449
											case "php_variable":
1357
											
1450
											
1358
												#如果既有資源的類型為 "proc"
1451
												#如果既有資源的類型為 "proc"
Line 1368... Line 1461...
1368
											
1461
											
1369
												#初始化要設置的列
1462
												#初始化要設置的列
1370
												$row=array();
1463
												$row=array();
1371
											
1464
											
1372
												#設置存放的數值
1465
												#設置存放的數值
1373
												$row["value"]=$conf["request"]["value"];
1466
												$row["value"]=$rdata["value"];
1374
											
1467
											
1375
												#設置形態
1468
												#設置形態
1376
												$row["type"]=$conf["request"]["type"];
1469
												$row["type"]=rdata["request"]["type"];
1377
											
1470
											
1378
												#若無設定 life
1471
												#若無設定 life
1379
												if(!isset($conf["request"]["life"])){
1472
												if(!isset($rdata["life"])){
1380
												
1473
												
1381
													#設置預設的life
1474
													#設置預設的life
1382
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1475
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1383
												
1476
												
1384
													}#if end
1477
													}#if end
Line 1402... Line 1495...
1402
													proc_close($valInM["process"]);
1495
													proc_close($valInM["process"]);
1403
												
1496
												
1404
													}#if end
1497
													}#if end
1405
													
1498
													
1406
												#取得要運行的程式與參數
1499
												#取得要運行的程式與參數
1407
												$cmdAndArgu=$conf["request"]["value"];
1500
												$cmdAndArgu=$rdata["value"];
1408
						
1501
						
1409
												#函式說明:
1502
												#函式說明:
1410
												#透過proc來多執行序運作.
1503
												#透過proc來多執行序運作.
1411
												#回傳結果:
1504
												#回傳結果:
1412
												#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1505
												#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 1499... Line 1592...
1499
											
1592
											
1500
												#設置存放的數值
1593
												#設置存放的數值
1501
												$row["value"]=$value;
1594
												$row["value"]=$value;
1502
											
1595
											
1503
												#設置形態
1596
												#設置形態
1504
												$row["type"]=$conf["request"]["type"];
1597
												$row["type"]=$rdata["type"];
1505
											
1598
											
1506
												#若無設定 life
1599
												#若無設定 life
1507
												if(!isset($conf["request"]["life"])){
1600
												if(!isset($rdata["life"])){
1508
												
1601
												
1509
													#設置預設的life
1602
													#設置預設的life
1510
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1603
													$row["life"]=time()+$conf["info"]["defaultLifeTime"];
1511
												
1604
												
1512
													}#if end
1605
													}#if end
Line 1519... Line 1612...
1519
											
1612
											
1520
											#其他 type
1613
											#其他 type
1521
											default:
1614
											default:
1522
											
1615
											
1523
												#設置錯誤訊息
1616
												#設置錯誤訊息
1524
												$result["error"][]="unsupported type:".$conf["request"]["type"];
1617
												$result["error"][]="unsupported type:".$rdata["type"];
1525
												
1618
												
1526
												#設置執行異常
1619
												#設置執行異常
1527
												$result["status"]="false";
1620
												$result["status"]="false";
1528
												
1621
												
1529
												#回傳結果
1622
												#回傳結果
Line 1572... Line 1665...
1572
				
1665
				
1573
			#如果是 read
1666
			#如果是 read
1574
			case "read":
1667
			case "read":
1575
			
1668
			
1576
				#如果是空的,亦即沒有條件,代表要取得全部.
1669
				#如果是空的,亦即沒有條件,代表要取得全部.
1577
				if(empty($conf["request"]["condition"])){
1670
				if(empty($rdata["condition"])){
1578
				
1671
				
1579
					#針對每筆記錄
1672
					#針對每筆記錄
1580
					foreach($conf["info"]["resource"] as $idInM => $valInM){
1673
					foreach($conf["info"]["resource"] as $idInM => $valInM){
1581
					
1674
					
1582
						#設置要取得的內容
1675
						#設置要取得的內容
Line 1594... Line 1687...
1594
					
1687
					
1595
				#反之有條件
1688
				#反之有條件
1596
				else{
1689
				else{
1597
				
1690
				
1598
					#針對每個條件
1691
					#針對每個條件
1599
					foreach($conf["request"]["condition"] as $key => $val){
1692
					foreach($rdata["condition"] as $key => $val){
1600
					
1693
					
1601
						#判斷 $key
1694
						#判斷 $key
1602
						switch($key){
1695
						switch($key){
1603
						
1696
						
1604
							#如果條件欄位是 id
1697
							#如果條件欄位是 id
Line 2447... Line 2540...
2447
			}#if end
2540
			}#if end
2448
			
2541
			
2449
		#初始化要傳遞的內容
2542
		#初始化要傳遞的內容
2450
		$request=array();
2543
		$request=array();
2451
		
2544
		
2452
		#設置action
2545
		#設置要傳送的 data
2453
		$request["action"]=$conf["action"];
2546
		$request["data"]["action"]=$conf["action"];
2454
		
2547
		
2455
		#設置type
2548
		#設置要傳送的 type
2456
		$request["type"]=$conf["type"];
2549
		$request["data"]["type"]=$conf["type"];
2457
		
2550
		
-
 
2551
		#設置condition
-
 
2552
		$request["data"]["condition"]=$conf["condition"];
-
 
2553
		
2458
		#如果有 $conf["value"] 參數
2554
		#如果有 value
2459
		if(isset($conf["value"])){
2555
		if(isset($conf["value"])){
2460
		
2556
		
2461
			#設置value
2557
			#設置 value
2462
			$request["value"]=$conf["value"];
2558
			$request["data"]["value"]=$conf["value"];
2463
		
2559
		
2464
			}#if end
2560
			}#if end
2465
			
-
 
2466
		#設置 condition
-
 
2467
		$request["condition"]=$conf["condition"];
-
 
2468
		
2561
		
2469
		#連線到 unix domain socket,傳遞訊息,取得回應.
2562
		#連線到 unix domain socket,傳遞訊息,取得回應.
2470
		#連線到 sock::unixDomainSocketServer 產生的  unix domain socket,傳送指定的訊息.
2563
		#連線到 sock::unixDomainSocketServer 產生的  unix domain socket,傳送指定的訊息.
2471
		#回傳結果:
2564
		#回傳結果:
2472
		#$result["status"],"true"代表執行正常;"false"代表執行不正常.
2565
		#$result["status"],"true"代表執行正常;"false"代表執行不正常.