Skip to content

Commit

Permalink
local stuff again
Browse files Browse the repository at this point in the history
  • Loading branch information
zze_grp committed May 10, 2019
1 parent aa34ad1 commit b9f5a80
Show file tree
Hide file tree
Showing 48 changed files with 2,952 additions and 0 deletions.
Binary file added .DS_Store
Binary file not shown.
187 changes: 187 additions & 0 deletions app/Http/Controllers/ChoosequestionController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Symfony\Component\Console\Helper\Table;

class ChoosequestionController extends Controller
{
public function list()
{

$casematerial= DB::table('case_study_material')
->select('id','title')
->get();

$casestudy = DB::table('case_to_question')
->join('case_study_question','case_study_question.id','=','case_to_question.question_id')
->join('case_study_material','case_study_material.id','=','case_to_question.case_id')
->select('case_to_question.id','case_to_question.question_id','case_to_question.case_id',
'case_study_question.question_rank','case_study_question.detail')
->get();
$survey = DB::table('survey_detail_question')
->select('id','survey_id','detail')
->get();

$section = DB::table('section_question')
->select('id','section_id','question_rank','detail')
->get();
$question_hasresult = DB::table('temp_result')->select('id','type_id','question_id')->get();

$question_hasresult = json_decode($question_hasresult,true);
$case_hasresult = array();
$survey_hasresult = array();
$section_hasresult = array();
foreach($question_hasresult as $item){
if ($item['type_id'] == 1) {
array_push($case_hasresult, $item['question_id']);
} elseif ($item['type_id'] == 2){
array_push($section_hasresult, $item['question_id']);
} elseif ($item['type_id'] == 3){
array_push($survey_hasresult, $item['question_id']);
}
}
return view('admin.data_analysis.show_question',
compact('casematerial','casestudy','survey','section','case_hasresult','section_hasresult','survey_hasresult'));

}

public function survey($id)
{
$number=DB::table('survey_answer')
->where('id','=',$id)
->count();
if($number==0){
return view('admin.data_analysis.noanswer');
}
else{
$user= DB::table('survey_answer')
->join('users','survey_answer.user_id','=','users.id')
->where('survey_answer.id','=',$id)
->where('users.is_active','=',1)
->get();
$type=1;
return view('admin.data_analysis.question_choose_user',compact('user','type','id'));
}
}

public function casestudy($id)
{
$number=DB::table('case_study_answer')
->where('id','=',$id)
->count();
if($number>0) {
$user = DB::table('case_study_answer')
->join('users', 'case_study_answer.user_id', '=', 'users.id')
->where('case_study_answer.id', '=', $id)
->where('users.is_active','=',1)
->get();
$type = 2;
return view('admin.data_analysis.question_choose_user', compact('user', 'type','id'));
}
else{
return view('admin.data_analysis.noanswer');
}

}

public function section($id)
{
$number=DB::table('survey_answer')
->where('id','=',$id)
->count();
if($number==0){
return view('admin.data_analysis.noanswer');
}
else{
$user= DB::table('section_question_answer')
->join('users','section_question_answer.user_id','=','users.id')
->where('section_question_answer.id','=',$id)
->where('users.is_active','=',1)
->get();
$type=3;
return view('admin.data_analysis.question_choose_user',compact('user','type','id'));
}
}

public function submit()
{
// $users = $_POST["userid"];


$type = $_POST["type"]; //type 1=survey 2=case study 3=section question
$question_id = $_POST["questionid"];
$function = $_POST["Function"];
$property=$_POST["Focus"]; //Focus = Age/Income
if ($type==1){
$table="survey_answer";
$user= DB::table('survey_answer')
->where('survey_answer.id','=',$question_id)
->get();
}
elseif($type==2){
$table="case_study_answer";
$user = DB::table('case_study_answer')
->where('case_study_answer.id', '=', $question_id)
->get();
}
elseif($type==3){
$table="section_question_answer";
$user= DB::table('section_question_answer')
->where('section_question_answer.id','=',$question_id)
->get();
}
$message = $function.";".$table.";".$question_id.";";

$user=json_decode($user,true);

foreach ($user as $temp){
$userid=$temp["user_id"];

$message=$message.$userid.",";
}
if(count($user)!=0){
$message = substr($message,0,strlen($message)-1);
}
$message = $message.";".$property;
// foreach ($users as $temp){
// $message= $message.";".$temp;
// }
$message = mb_convert_encoding($message,'GBK','UTF-8');




$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);

if(socket_connect($socket,'192.168.122.97',6666) == false){
$return_message= 'connect fail massege:'.socket_strerror(socket_last_error());
}else{


if(socket_write($socket,$message,strlen($message)) == false){
$return_message='fail to write'.socket_strerror(socket_last_error());

}else{
while($callback = socket_read($socket,1024)){
$return_message= 'server return message is:'.PHP_EOL.$callback;
}
}
}
socket_close($socket);



return redirect('/dataanalysis');

}

public function result($type,$id)
{
$result = DB::table('temp_result')->where('question_id','=',$id)
->where('type_id','=',$type)->orderBy('id','desc')->get();
return view('admin.data_analysis.analysis_result',compact('result'));
}
}
92 changes: 92 additions & 0 deletions app/Http/Controllers/ShowResultController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Symfony\Component\Console\Helper\Table;

class ShowResultController extends Controller
{
public function index(){
$users = DB::table('users')->get();
$semesters = DB::table('users')
->groupBy("semesters")
->pluck("semesters");
$section_numbers = DB::table('users')
->groupBy("section_numbers")
->pluck("section_numbers");
return view('admin.result.index', compact("users", "semesters", "section_numbers"));
}

// public function user(){
// $userList = DB::table('users')
// ->select('id', 'first_name', 'last_name')
// ->get();
// return view('result.userlist', compact('userList'));
// #return view('result.userlist');
// }

// public function showID($id){
// $userInfo = DB::table('users')->find($id);
// $first_name = $userInfo->first_name;
// $last_name = $userInfo->last_name;


// return view('result.answerPerID', compact('id', 'first_name', 'last_name'));
// }

public function show_by_user(){
$section = request('section');
$semester = request('semester');
$match = ['section_numbers' => $section, 'semesters' => $semester];
$users = DB::table('users')->where($match)->get();
return view('admin.result.show_by_user', compact("users", "semester", "section"));
#return view('admin.result.show_by_user', compact("semester", "section"));
}

public function show_by_ID($user_id){
$user = DB::table('users')->find($user_id);
$section_answer_for_user = DB::table('section_question_answer')
->where('user_id' , $user->id)
->get();

$case_answer_for_user = DB::table('case_study_answer')
->where('user_id' , $user->id)
->get();


$section_empty = $section_answer_for_user->isEmpty();
$case_empty = $case_answer_for_user->isEmpty();


if (!$section_empty and !$case_empty) {


$section_question_answers = DB::table('section_question')
->join('section_question_answer',
'section_question.id', '=','section_question_answer.id')
->join('chapter_section',
'section_question.section_id', '=', 'chapter_section.section_id')
->orderBy('chapter_id', 'ASC')
->orderBy('question_rank', 'ASC')
->where('user_id', $user->id)
->get();
// dd($section_question_answers);
return view('admin.result.show_by_id', compact("user", "section_question_answers"));
}
elseif($section_empty and !$case_empty){
dd('No chapter answer!');
}
elseif(!$section_empty and $case_empty){
dd('No case study answer!');
}
else{
dd('No answer!');
}




}
}
76 changes: 76 additions & 0 deletions app/Http/Controllers/ShowUser.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Symfony\Component\Console\Helper\Table;
use phpDocumentor\Reflection\Types\Null_;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Auth;


class ShowUser extends Controller
{
public function getusers()
{
$allusers = DB::table('users')
->join('registerinfo1','users.id','=','registerinfo1.user_id')
->select('users.id','users.user_name','users.email','users.first_name','users.last_name','users.is_active',
'registerinfo1.usertype','registerinfo1.age','registerinfo1.gender','registerinfo1.nationality')
->where('users.is_active','=',1)
->orderBy('users.id')->get();


return view('show_users', compact('allusers'));
}

public function userdetail($id){
$basicinfo = DB::table('users')
->join('registerinfo1','users.id','=','registerinfo1.user_id')
->select('users.id','users.user_name','users.email','users.first_name','users.last_name','users.is_active',
'registerinfo1.usertype','registerinfo1.age','registerinfo1.gender','registerinfo1.nationality',
'registerinfo1.identification','registerinfo1.identification_other')
->where('users.is_active','=',1)
->where('users.id','=',$id)
->orderBy('users.id')->get();

$userdata=DB::table('registerinfo1')
->select('registerinfo1.user_id','registerinfo1.usertype')
->where('registerinfo1.user_id','=',$id)
->get();

$userdata=json_decode($userdata, true);

$languageinfo = DB::table('registerinfo2')
->where('registerinfo2.user_id','=',$id)
->orderBy('registerinfo2.user_id')->get();

if ($userdata[0]["usertype"] == 'student') {
$educationalinfo = DB::table('registerinfo3')
->where('registerinfo3.user_id','=',$id)
->orderBy('registerinfo3.user_id')->get();
} else {
$educationalinfo = DB::table('registerinfo3_2')
->where('registerinfo3_2.user_id','=',$id)
->orderBy('registerinfo3_2.user_id')->get();
}

$religiousinfo = DB::table('registerinfo4')
->where('registerinfo4.user_id','=',$id)
->orderBy('registerinfo4.user_id')->get();

return view('show_users_detail', compact('basicinfo','languageinfo','educationalinfo','religiousinfo'));
}

public function deleteuser($id){
DB::table('users')
->select('users.id','users.is_active')
->where('users.id','=',$id)
->update([
'users.is_active' => 0
]);

return redirect("/users");
}
}
40 changes: 40 additions & 0 deletions app/Http/Controllers/SocketconnectController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class SocketconnectController extends Controller
{
public function connect(){
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
// /****************设置socket连接选项,这两个步骤你可以省略*************/
// //接收套接流的最大超时时间1秒,后面是微秒单位超时时间,设置为零,表示不管它
// socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 1, "usec" => 0));
// //发送套接流的最大超时时间为6秒
// socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array("sec" => 6, "usec" => 0));
// /****************设置socket连接选项,这两个步骤你可以省略*************/

//连接服务端的套接流,这一步就是使客户端与服务器端的套接流建立联系
if(socket_connect($socket,'192.168.122.97',6666) == false){
echo 'connect fail massege:'.socket_strerror(socket_last_error());
}else{
$message = 'l love you socket';
//转为GBK编码,处理乱码问题,这要看你的编码情况而定,每个人的编码都不同
$message = mb_convert_encoding($message,'GBK','UTF-8');
//向服务端写入字符串信息

if(socket_write($socket,$message,strlen($message)) == false){
echo 'fail to write'.socket_strerror(socket_last_error());

}else{
echo 'client write success'.PHP_EOL;
//读取服务端返回来的套接流信息
while($callback = socket_read($socket,1024)){
echo 'server return message is:'.PHP_EOL.$callback;
}
}
}
socket_close($socket);
}
}
Loading

0 comments on commit b9f5a80

Please sign in to comment.