Subversion Repositories php-qbpwcf

Rev

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

Rev 3 Rev 226
Line 1... Line 1...
1
<?php
1
<?php
2
 
2
 
3
/*
3
/*
4
 
4
 
5
	QBPWCF, Quick Build PHP website Component base on Fedora Linux.
5
	QBPWCF, Quick Build PHP website Component base on Fedora Linux.
6
    Copyright (C) 2015~2024 Min-Jhin,Chen
6
    Copyright (C) 2014~2025 MIN ZHI, CHEN
7
 
7
 
8
    This file is part of QBPWCF.
8
    This file is part of QBPWCF.
9
 
9
 
10
    QBPWCF is free software: you can redistribute it and/or modify
10
    QBPWCF is free software: you can redistribute it and/or modify
11
    it under the terms of the GNU General Public License as published by
11
    it under the terms of the GNU General Public License as published by
Line 43... Line 43...
43
	#$arguments,陣列,為呼叫方法時所用的參數.
43
	#$arguments,陣列,為呼叫方法時所用的參數.
44
	#參考資料:
44
	#參考資料:
45
	#__call=>http://php.net/manual/en/language.oop5.overloading.php#object.callstatic
45
	#__call=>http://php.net/manual/en/language.oop5.overloading.php#object.callstatic
46
	*/
46
	*/
47
	public function __call($method,$arguments){
47
	public function __call($method,$arguments){
48
		
48
 
49
		#取得當前執行的函式
49
		#取得當前執行的函式
50
		$result["function"]=__FUNCTION__;
50
		$result["function"]=__FUNCTION__;
51
		
51
 
52
		#設置執行不正常
52
		#設置執行不正常
53
		$result["status"]="false";
53
		$result["status"]="false";
54
		
54
 
55
		#設置執行錯誤
55
		#設置執行錯誤
56
		$result["error"][]=__NAMESPACE__ ."/".$method."() 不存在!";
56
		$result["error"][]=__NAMESPACE__ ."/".$method."() 不存在!";
57
		
57
 
58
		#設置所丟入的參數
58
		#設置所丟入的參數
59
		$result["error"][]=$arguments;
59
		$result["error"][]=$arguments;
60
		
60
 
61
		#回傳結果
61
		#回傳結果
62
		return $result;
62
		return $result;
63
		
63
 
64
		}#function __call end
64
		}#function __call end
65
		
65
 
66
	/*
66
	/*
67
	#函式說明:
67
	#函式說明:
68
	#當前類別被呼叫的靜態方法不存在時,將會執行該函數,回報該方法不存在.
68
	#當前類別被呼叫的靜態方法不存在時,將會執行該函數,回報該方法不存在.
69
	#回傳結果:
69
	#回傳結果:
70
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
70
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 75... Line 75...
75
	#$arguments,陣列,為呼叫方法時所用的參數.
75
	#$arguments,陣列,為呼叫方法時所用的參數.
76
	#參考資料:
76
	#參考資料:
77
	#__call=>http://php.net/manual/en/language.oop5.overloading.php#object.callstatic
77
	#__call=>http://php.net/manual/en/language.oop5.overloading.php#object.callstatic
78
	*/
78
	*/
79
	public static function __callStatic($method,$arguments){
79
	public static function __callStatic($method,$arguments){
80
		
80
 
81
		#取得當前執行的函式
81
		#取得當前執行的函式
82
		$result["function"]=__FUNCTION__;
82
		$result["function"]=__FUNCTION__;
83
		
83
 
84
		#設置執行不正常
84
		#設置執行不正常
85
		$result["status"]="false";
85
		$result["status"]="false";
86
		
86
 
87
		#設置執行錯誤
87
		#設置執行錯誤
88
		$result["error"][]="欲呼叫的". __NAMESPACE__ ."/".$method."() 不存在!";
88
		$result["error"][]="欲呼叫的". __NAMESPACE__ ."/".$method."() 不存在!";
89
		
89
 
90
		#設置所丟入的參數
90
		#設置所丟入的參數
91
		$result["error"][]=$arguments;
91
		$result["error"][]=$arguments;
92
		
92
 
93
		#回傳結果
93
		#回傳結果
94
		return $result;
94
		return $result;
95
		
95
 
96
		}#function __callStatic end
96
		}#function __callStatic end
97
	
97
 
98
	/*
98
	/*
99
	#函式說明:
99
	#函式說明:
100
	#post message to line timeline
100
	#post message to line timeline
101
	#回傳結果:
101
	#回傳結果:
102
	#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
102
	#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
Line 456... Line 456...
456
 
456
 
457
		#回傳結果
457
		#回傳結果
458
		return $result;
458
		return $result;
459
 
459
 
460
		}#function p2tl end
460
		}#function p2tl end
461
		
461
 
462
	/*
462
	/*
463
	#函式說明:
463
	#函式說明:
464
	#提供Line Login的服務.
464
	#提供Line Login的服務.
465
	#回傳結果:
465
	#回傳結果:
466
	#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
466
	#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
Line 480... Line 480...
480
	#https://developers.line.biz/zh-hant/docs/line-login/integrate-line-login/#making-an-authorization-request
480
	#https://developers.line.biz/zh-hant/docs/line-login/integrate-line-login/#making-an-authorization-request
481
	#備註:
481
	#備註:
482
	#無.
482
	#無.
483
	*/
483
	*/
484
	public static function login(&$conf){
484
	public static function login(&$conf){
485
	
485
 
486
		#初始化要回傳的結果
486
		#初始化要回傳的結果
487
		$result=array();
487
		$result=array();
488
 
488
 
489
		#取得當前執行的函數名稱
489
		#取得當前執行的函數名稱
490
		$result["function"]=__FUNCTION__;
490
		$result["function"]=__FUNCTION__;
Line 511... Line 511...
511
 
511
 
512
			#回傳結果
512
			#回傳結果
513
			return $result;
513
			return $result;
514
 
514
 
515
			}#if end
515
			}#if end
516
			
516
 
517
		#函式說明:
517
		#函式說明:
518
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
518
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
519
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
519
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
520
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
520
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
521
		#$result["function"],當前執行的函式名稱.
521
		#$result["function"],當前執行的函式名稱.
Line 588... Line 588...
588
 
588
 
589
			#回傳結果
589
			#回傳結果
590
			return $result;
590
			return $result;
591
 
591
 
592
			}#if end
592
			}#if end
593
	
593
 
594
		#函式說明:
594
		#函式說明:
595
		#可以處理多個透過GET、POST而來的資訊,儲存成變數,同時限定傳送的方法、來源,來增加安全性,檢查有沒有皆收到必須要接收到的變數,沒有接收到的變數可以指定從session變數中取得.
595
		#可以處理多個透過GET、POST而來的資訊,儲存成變數,同時限定傳送的方法、來源,來增加安全性,檢查有沒有皆收到必須要接收到的變數,沒有接收到的變數可以指定從session變數中取得.
596
		#回傳結果:
596
		#回傳結果:
597
		#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
597
		#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
598
		#$result["error"],錯誤訊息陣列.
598
		#$result["error"],錯誤訊息陣列.
Line 633... Line 633...
633
		#伺服器端的變數 -> http://php.net/manual/en/reserved.variables.server.php
633
		#伺服器端的變數 -> http://php.net/manual/en/reserved.variables.server.php
634
		#備註:
634
		#備註:
635
		#表單變數的名稱若含有「.」,則會變成「-」。
635
		#表單變數的名稱若含有「.」,則會變成「-」。
636
		$responseMultiInputDataSecurityEnhance=form::responseMultiInputDataSecurityEnhance($conf["form::responseMultiInputDataSecurityEnhance"]);
636
		$responseMultiInputDataSecurityEnhance=form::responseMultiInputDataSecurityEnhance($conf["form::responseMultiInputDataSecurityEnhance"]);
637
		unset($conf["form::responseMultiInputDataSecurityEnhance"]);
637
		unset($conf["form::responseMultiInputDataSecurityEnhance"]);
638
	
638
 
639
		#如果執行失敗
639
		#如果執行失敗
640
		if($responseMultiInputDataSecurityEnhance["status"]==="false"){
640
		if($responseMultiInputDataSecurityEnhance["status"]==="false"){
641
		
641
 
642
			#設置執行不正常
642
			#設置執行不正常
643
			$result["status"]="false";
643
			$result["status"]="false";
644
 
644
 
645
			#設置執行錯誤
645
			#設置執行錯誤
646
			$result["error"]=$responseMultiInputDataSecurityEnhance;
646
			$result["error"]=$responseMultiInputDataSecurityEnhance;
647
 
647
 
648
			#回傳結果
648
			#回傳結果
649
			return $result;
649
			return $result;
650
			
650
 
651
			}#if end
651
			}#if end
652
			
652
 
653
		#如果表單變數不合法
653
		#如果表單變數不合法
654
		if($responseMultiInputDataSecurityEnhance["passed"]==="false"){
654
		if($responseMultiInputDataSecurityEnhance["passed"]==="false"){
655
		
655
 
656
			#建立 $meetingID
656
			#建立 $meetingID
657
			#函式說明:
657
			#函式說明:
658
			#呼叫shell執行系統命令,並取得回傳的內容.
658
			#呼叫shell執行系統命令,並取得回傳的內容.
659
			#回傳的結果:
659
			#回傳的結果:
660
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
660
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 704... Line 704...
704
			#參考資料:
704
			#參考資料:
705
			#exec=>http://php.net/manual/en/function.exec.php
705
			#exec=>http://php.net/manual/en/function.exec.php
706
			#escapeshellcmd=>http://php.net/manual/en/function.escapeshellcmd.php
706
			#escapeshellcmd=>http://php.net/manual/en/function.escapeshellcmd.php
707
			#escapeshellarg=>http://php.net/manual/en/function.escapeshellarg.php
707
			#escapeshellarg=>http://php.net/manual/en/function.escapeshellarg.php
708
			$callShell=external::callShell($conf["external::callShell"]);
708
			$callShell=external::callShell($conf["external::callShell"]);
709
			unset($conf["external::callShell"]);		
709
			unset($conf["external::callShell"]);
710
			
710
 
711
			#如果執行失敗
711
			#如果執行失敗
712
			if($callShell["status"]==="false"){
712
			if($callShell["status"]==="false"){
713
			
713
 
714
				#設置執行不正常
714
				#設置執行不正常
715
				$result["status"]="false";
715
				$result["status"]="false";
716
 
716
 
717
				#設置執行錯誤
717
				#設置執行錯誤
718
				$result["error"]=$callShell;
718
				$result["error"]=$callShell;
719
 
719
 
720
				#回傳結果
720
				#回傳結果
721
				return $result;
721
				return $result;
722
			
722
 
723
				}#if end
723
				}#if end
724
 
724
 
725
			#取得 state 字串
725
			#取得 state 字串
726
			$uuid=$callShell["output"][0];
726
			$uuid=$callShell["output"][0];
727
		
727
 
728
			#認證的頁面
728
			#認證的頁面
729
			$authUrl="https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=".$conf["channelId"]."&redirect_uri=https%3A%2F%2F".$conf["url"]."&state=".$uuid."&scope=profile%20openid";
729
			$authUrl="https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=".$conf["channelId"]."&redirect_uri=https%3A%2F%2F".$conf["url"]."&state=".$uuid."&scope=profile%20openid";
730
		
730
 
731
			#函式說明:
731
			#函式說明:
732
			#設定session變數後,立即轉址.
732
			#設定session變數後,立即轉址.
733
			#回傳的結果:
733
			#回傳的結果:
734
			#$result["status"],執行是否成功,"true"代表成功,"false"代表不成功.
734
			#$result["status"],執行是否成功,"true"代表成功,"false"代表不成功.
735
			#$result["function"],當前執行的函數名稱.
735
			#$result["function"],當前執行的函數名稱.
Line 744... Line 744...
744
			$conf["header::redirectionNow"]["sessionValue"]=array($uuid);
744
			$conf["header::redirectionNow"]["sessionValue"]=array($uuid);
745
			#參靠資料來源:
745
			#參靠資料來源:
746
			#http://php.net/manual/en/reserved.variables.server.php
746
			#http://php.net/manual/en/reserved.variables.server.php
747
			header::redirectionNow($conf["header::redirectionNow"]);
747
			header::redirectionNow($conf["header::redirectionNow"]);
748
			unset($conf["header::redirectionNow"]);
748
			unset($conf["header::redirectionNow"]);
749
			
749
 
750
			}#if end
750
			}#if end
751
	
751
 
752
		#反之印出內容
752
		#反之印出內容
753
		else{
753
		else{
754
			#debug
754
			#debug
755
			#var_dump($responseMultiInputDataSecurityEnhance);
755
			#var_dump($responseMultiInputDataSecurityEnhance);
756
		
756
 
757
			#如果沒有取得 code 
757
			#如果沒有取得 code
758
			if(!isset($responseMultiInputDataSecurityEnhance["inputDataContent"]["code"])){
758
			if(!isset($responseMultiInputDataSecurityEnhance["inputDataContent"]["code"])){
759
			
759
 
760
				#設置執行不正常
760
				#設置執行不正常
761
				$result["status"]="false";
761
				$result["status"]="false";
762
 
762
 
763
				#設置執行錯誤
763
				#設置執行錯誤
764
				$result["error"]=$responseMultiInputDataSecurityEnhance;
764
				$result["error"]=$responseMultiInputDataSecurityEnhance;
765
 
765
 
766
				#回傳結果
766
				#回傳結果
767
				return $result;
767
				return $result;
768
			
768
 
769
				}#if end
769
				}#if end
770
				
770
 
771
			#另存 code
771
			#另存 code
772
			$code=$responseMultiInputDataSecurityEnhance["inputDataContent"]["code"];
772
			$code=$responseMultiInputDataSecurityEnhance["inputDataContent"]["code"];
773
			
773
 
774
			#設置執行正常
774
			#設置執行正常
775
			$result["status"]="true";
775
			$result["status"]="true";
776
			
776
 
777
			#取得code
777
			#取得code
778
			$result["content"]=$code;
778
			$result["content"]=$code;
779
			
779
 
780
			#回傳結果
780
			#回傳結果
781
			return $result;
781
			return $result;
782
				
782
 
783
			}#else end
783
			}#else end
784
	
784
 
785
		}#functino lineLogin end
785
		}#functino lineLogin end
786
		
786
 
787
	/*
787
	/*
788
	#函式說明:
788
	#函式說明:
789
	#用從Line Login拿到的code來取得id token
789
	#用從Line Login拿到的code來取得id token
790
	#回傳結果:
790
	#回傳結果:
791
	#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
791
	#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
Line 809... Line 809...
809
	#https://developers.line.biz/zh-hant/docs/line-login/integrate-line-login/#making-an-authorization-request
809
	#https://developers.line.biz/zh-hant/docs/line-login/integrate-line-login/#making-an-authorization-request
810
	#備註:
810
	#備註:
811
	#無.
811
	#無.
812
	*/
812
	*/
813
	public static function getToken($conf){
813
	public static function getToken($conf){
814
	
814
 
815
		#初始化要回傳的結果
815
		#初始化要回傳的結果
816
		$result=array();
816
		$result=array();
817
 
817
 
818
		#取得當前執行的函數名稱
818
		#取得當前執行的函數名稱
819
		$result["function"]=__FUNCTION__;
819
		$result["function"]=__FUNCTION__;
Line 840... Line 840...
840
 
840
 
841
			#回傳結果
841
			#回傳結果
842
			return $result;
842
			return $result;
843
 
843
 
844
			}#if end
844
			}#if end
845
			
845
 
846
		#函式說明:
846
		#函式說明:
847
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
847
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
848
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
848
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
849
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
849
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
850
		#$result["function"],當前執行的函式名稱.
850
		#$result["function"],當前執行的函式名稱.
Line 917... Line 917...
917
 
917
 
918
			#回傳結果
918
			#回傳結果
919
			return $result;
919
			return $result;
920
 
920
 
921
			}#if end
921
			}#if end
922
	
922
 
923
		#取得 access token
923
		#取得 access token
924
		#函式說明:
924
		#函式說明:
925
		#運行curl cmd
925
		#運行curl cmd
926
		#回傳結果:
926
		#回傳結果:
927
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
927
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 955... Line 955...
955
		#$conf["forceNewCookie"]="";
955
		#$conf["forceNewCookie"]="";
956
		#備註:
956
		#備註:
957
		#無.
957
		#無.
958
		$curlCmd=catchWebContent::curlCmd($conf["catchWebContent::curlCmd"]);
958
		$curlCmd=catchWebContent::curlCmd($conf["catchWebContent::curlCmd"]);
959
		unset($conf["catchWebContent::curlCmd"]);
959
		unset($conf["catchWebContent::curlCmd"]);
960
	
960
 
961
		#如果執行失敗
961
		#如果執行失敗
962
		if($curlCmd["status"]==="false"){
962
		if($curlCmd["status"]==="false"){
963
		
963
 
964
			#設置執行不正常
964
			#設置執行不正常
965
			$result["status"]="false";
965
			$result["status"]="false";
966
 
966
 
967
			#設置執行錯誤
967
			#設置執行錯誤
968
			$result["error"]=$curlCmd;
968
			$result["error"]=$curlCmd;
969
 
969
 
970
			#回傳結果
970
			#回傳結果
971
			return $result;
971
			return $result;
972
		
972
 
973
			}#if end
973
			}#if end
974
		
974
 
975
		#取得回應
975
		#取得回應
976
		$res=(array)(json_decode($curlCmd["content"][0]));
976
		$res=(array)(json_decode($curlCmd["content"][0]));
977
			
977
 
978
		#設置內容
978
		#設置內容
979
		$result["content"]=$res["id_token"];
979
		$result["content"]=$res["id_token"];
980
	
980
 
981
		#設置執行正常
981
		#設置執行正常
982
		$resutl["status"]="true";
982
		$resutl["status"]="true";
983
		
983
 
984
		#回傳結果
984
		#回傳結果
985
		return $result;
985
		return $result;
986
	
986
 
987
		}#function getToken end
987
		}#function getToken end
988
		
988
 
989
	/*
989
	/*
990
	#函式說明:
990
	#函式說明:
991
	#透過getToken取得的id token來取得profile
991
	#透過getToken取得的id token來取得profile
992
	#回傳結果:
992
	#回傳結果:
993
	#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
993
	#$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
Line 1007... Line 1007...
1007
	#https://developers.line.biz/zh-hant/docs/line-login/integrate-line-login/#making-an-authorization-request
1007
	#https://developers.line.biz/zh-hant/docs/line-login/integrate-line-login/#making-an-authorization-request
1008
	#備註:
1008
	#備註:
1009
	#目前支援取得姓名與圖片.
1009
	#目前支援取得姓名與圖片.
1010
	*/
1010
	*/
1011
	public static function getProfile(&$conf){
1011
	public static function getProfile(&$conf){
1012
	
1012
 
1013
		#初始化要回傳的結果
1013
		#初始化要回傳的結果
1014
		$result=array();
1014
		$result=array();
1015
 
1015
 
1016
		#取得當前執行的函數名稱
1016
		#取得當前執行的函數名稱
1017
		$result["function"]=__FUNCTION__;
1017
		$result["function"]=__FUNCTION__;
Line 1038... Line 1038...
1038
 
1038
 
1039
			#回傳結果
1039
			#回傳結果
1040
			return $result;
1040
			return $result;
1041
 
1041
 
1042
			}#if end
1042
			}#if end
1043
			
1043
 
1044
		#函式說明:
1044
		#函式說明:
1045
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
1045
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
1046
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1046
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1047
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
1047
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
1048
		#$result["function"],當前執行的函式名稱.
1048
		#$result["function"],當前執行的函式名稱.
Line 1115... Line 1115...
1115
 
1115
 
1116
			#回傳結果
1116
			#回傳結果
1117
			return $result;
1117
			return $result;
1118
 
1118
 
1119
			}#if end
1119
			}#if end
1120
	
1120
 
1121
		#取得 get profile
1121
		#取得 get profile
1122
		#函式說明:
1122
		#函式說明:
1123
		#運行curl cmd
1123
		#運行curl cmd
1124
		#回傳結果:
1124
		#回傳結果:
1125
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1125
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 1153... Line 1153...
1153
		#$conf["forceNewCookie"]="";
1153
		#$conf["forceNewCookie"]="";
1154
		#備註:
1154
		#備註:
1155
		#無.
1155
		#無.
1156
		$curlCmd=catchWebContent::curlCmd($conf["catchWebContent::curlCmd"]);
1156
		$curlCmd=catchWebContent::curlCmd($conf["catchWebContent::curlCmd"]);
1157
		unset($conf["catchWebContent::curlCmd"]);
1157
		unset($conf["catchWebContent::curlCmd"]);
1158
	
1158
 
1159
		#如果執行失敗
1159
		#如果執行失敗
1160
		if($curlCmd["status"]==="false"){
1160
		if($curlCmd["status"]==="false"){
1161
		
1161
 
1162
			#設置執行不正常
1162
			#設置執行不正常
1163
			$result["status"]="false";
1163
			$result["status"]="false";
1164
 
1164
 
1165
			#設置執行錯誤
1165
			#設置執行錯誤
1166
			$result["error"]=$curlCmd;
1166
			$result["error"]=$curlCmd;
1167
 
1167
 
1168
			#回傳結果
1168
			#回傳結果
1169
			return $result;
1169
			return $result;
1170
		
1170
 
1171
			}#if end
1171
			}#if end
1172
		
1172
 
1173
		#取得回應
1173
		#取得回應
1174
		$res=(array)(json_decode($curlCmd["content"][0]));
1174
		$res=(array)(json_decode($curlCmd["content"][0]));
1175
		
1175
 
1176
		#取得姓名
1176
		#取得姓名
1177
		$result["content"]["Name"]=$res["name"];
1177
		$result["content"]["Name"]=$res["name"];
1178
		
1178
 
1179
		#取得姓名
1179
		#取得姓名
1180
		$result["content"]["Pic"]=$res["picture"];
1180
		$result["content"]["Pic"]=$res["picture"];
1181
		
1181
 
1182
		#設置原始內容
1182
		#設置原始內容
1183
		$result["content"]["ori"]=$res;
1183
		$result["content"]["ori"]=$res;
1184
 
1184
 
1185
		#設置執行正常
1185
		#設置執行正常
1186
		$resutl["status"]="true";
1186
		$resutl["status"]="true";
1187
		
1187
 
1188
		#回傳結果
1188
		#回傳結果
1189
		return $result;
1189
		return $result;
1190
	
1190
 
1191
		}#function getProfile end
1191
		}#function getProfile end
1192
 
1192
 
1193
	}#class line end
1193
	}#class line end
1194
 
1194
 
1195
?>
1195
?>