diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php
index 9d1f161..bb63dad 100644
--- a/app/Http/Controllers/AdminController.php
+++ b/app/Http/Controllers/AdminController.php
@@ -11,7 +11,7 @@ use App\User;
use App\Announcement;
use App\Http\Controllers\Controller;
use App\Ticket;
-
+use JsonRpcClient;
use App\Transaction;
use Mews\Purifier\Purifier;
@@ -174,6 +174,19 @@ class AdminController extends Controller
return Redirect::to('/admin');
}
+ // This part gonna work with https://github.com/NEUP-Net-Depart/email-daemon/
+ public function testEmail()
+ {
+ $conn = new JsonRpcClient("127.0.0.1", 65525);
+ $mailSettings = [];
+ $mailSettings["Body"] = "
PHP测试
";
+ $mailSettings["To"] = "wangkule@cool2645.com";
+ $mailSettings["Subject"] = "PHP 邮件测试";
+ $mailSettings["SendID"] = "notify";
+ $response = $conn->Call("Daemon.SendMail", $mailSettings);
+ return $response;
+ }
+
/**
* @function AdminController@getAnnouncement
* @input Request $request
diff --git a/app/Http/Controllers/GoodController.php b/app/Http/Controllers/GoodController.php
index 01ed411..d0655c6 100644
--- a/app/Http/Controllers/GoodController.php
+++ b/app/Http/Controllers/GoodController.php
@@ -127,18 +127,6 @@ class GoodController extends Controller
return view::make('good.goodList')->with($data);
}
- public function check(Request $request)
- {
- $data = [];
- $user_id = $request->session()->get('user_id');
- $data['goods'] = Transaction::where('seller_id',$user_id)->where('status',1)->get();
- $data['sells'] = Transaction::where('seller_id',$user_id)->where('status',2)->get();
- $data['mysells'] = Transaction::where('seller_id',$user_id)->where('status',4)->get();
- $data['users'] = Transaction::where('buyer_id',$user_id)->where('status',3)->get();
- $data['transactions'] = Transaction::where('buyer_id',$user_id)->where('status',2)->get();
- return view::make('good.goodCheck')->with($data);
- }
-
/**
* @function GoodController@getInfo
* @input Request $request, $good_id
diff --git a/app/Http/routes.php b/app/Http/routes.php
index e9a99c2..76f51a7 100644
--- a/app/Http/routes.php
+++ b/app/Http/routes.php
@@ -142,6 +142,7 @@ Route::group(['middleware' => ['web']],function () {
Route::delete('/notice/{ann_id}', "AdminController@delAnnouncement")->middleware('admin');
Route::get('/admin', "AdminController@adminIndex")->middleware('admin');
+ Route::get('/test/email', "AdminController@testEmail")->middleware('su');
Route::post('/user/{user_id}/updatePriv', [
"uses" => "AdminController@updateUserPriv",
diff --git a/app/JsonRpcClient.php b/app/JsonRpcClient.php
new file mode 100644
index 0000000..b3de7ee
--- /dev/null
+++ b/app/JsonRpcClient.php
@@ -0,0 +1,95 @@
+.
+// All rights reserved.
+// This program comes with ABSOLUTELY NO WARRANTY;
+// Use of this source code is governed by a free software license,
+// for details visit http://www.gnu.org/licenses/lgpl.html
+
+/*
+ Simple PHP JsonRPC client through raw tcp connection.
+ Socket connections follow lazy open pattern and are closed
+ during object destruction.
+ */
+class JsonRpcException extends Exception {}
+
+class JsonRpcClient {
+ private $address;
+ private $port;
+ private $socket;
+
+ public function __construct($address, $port) {
+ $this->address = $address;
+ $this->port = $port;
+ $this->socket = false;
+ }
+
+ public function __desctructor() {
+ if ($this->socket) {
+ socket_close($this->socket);
+ }
+ }
+
+ public function __open() {
+ if (($this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
+ throw new JsonRpcException("socket_create() failed: reason: " . socket_strerror(socket_last_error()));
+ }
+ }
+
+ private function generateId() {
+ $chars = array_merge(range('A', 'Z'), range('a', 'z'), range(0, 9));
+ $id = '';
+ for($c = 0; $c < 16; ++$c)
+ $id .= $chars[mt_rand(0, count($chars) - 1)];
+ return $id;
+ }
+
+ public function Call($name, $arguments=null) {
+ $id = $this->generateId();
+
+ $request = array(
+ 'jsonrpc' => '2.0',
+ 'method' => $name,
+ 'params' => array($arguments),
+ 'id' => $id
+ );
+
+ $jsonRequest = json_encode($request);
+
+ echo $jsonRequest . PHP_EOL;
+ $this->__open();
+
+ socket_bind($this->socket, $this->address);
+ if (!socket_connect($this->socket, $this->address, $this->port)) {
+ throw new JsonRpcException('unable to open socket', -32603);
+ }
+
+ socket_write($this->socket, $jsonRequest);
+ $jsonResponse = socket_read($this->socket, 4096);
+
+ if ($jsonResponse === false) {
+ throw new JsonRpcException('file_get_contents failed', -32603);
+ }
+
+ $response = json_decode($jsonResponse);
+ if ($response === null) {
+ throw new JsonRpcException('JSON cannot be decoded', -32603);
+ }
+
+ if ($response->id != $id) {
+ throw new JsonRPCException('Mismatched JSON-RPC IDs', -32603);
+ }
+
+ if ($response->error) {
+ throw new JsonRpcException($response->error);
+ }
+
+ if (property_exists($response, 'result')) {
+ return $response->result;
+ } else {
+ throw new JsonRpcException('Invalid JSON-RPC response', -32603);
+ }
+ }
+}
+
+?>
diff --git a/composer.json b/composer.json
index 65371ca..da577f7 100644
--- a/composer.json
+++ b/composer.json
@@ -23,7 +23,8 @@
},
"autoload": {
"classmap": [
- "database"
+ "database",
+ "app/JsonRpcClient.php"
],
"psr-4": {
"App\\": "app/",