Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace App\Http\Controllers\Api; use App\ApiUtil; use App\Common; use App\Mod..

Decoded Output download

<?php 
namespace App\Http\Controllers\Api; 
use App\ApiUtil; 
use App\Common; 
use App\Models\ClassRoom; 
use App\Models\DocumentEmbed; 
use App\Models\GroupLearning; 
use App\Models\GroupLearningLog; 
use App\Models\LibraryFile; 
use App\Models\SchedulePlanHistory; 
use App\Models\ScheduleTeacherPlan; 
use App\Models\SystemConfig; 
use App\Models\Teacher; 
use App\Models\TempGroupLearningTeacherLog; 
use App\PermissionManager; 
use App\ReportManager; 
use App\TeacherUtil; 
use Illuminate\Http\Request; 
use Illuminate\Http\Response; 
use Illuminate\Routing\Controller as BaseController; 
use Illuminate\Support\Carbon; 
use Illuminate\Support\Facades\File; 
class TeacherController extends BaseController 
{ 
    public function organizationInfo() 
    { 
        try { 
            $token = request()->get("token"); 
            $email = request()->get("email"); 
            $teacher = Teacher::where("Email", $email) 
                ->where( 
                    "MessageTokenApp", 
                    $token 
                ) 
                ->first(); 
            if (isset($teacher)) { 
                $teacherId = $teacher->Id; 
                $data = []; 
                $data["isAdmin"] = 
                    $teacher->IsAdmin == 1 || 
                    PermissionManager::IsOrganizationAdmin($teacherId); 
                $data[ 
                    "isOrgSchool" 
                ] = Common::IsOrgSchool($teacherId); 
                return response()->json([ 
                    "data" => $data, 
                    "message" => 
                        "success", 
                    "status" => Response::HTTP_OK, 
                ]); 
            } 
            return response()->json([ 
                "message" => 
                    "Unauthorized", 
                "status" => Response::HTTP_UNAUTHORIZED, 
            ]); 
        } catch (\Exception $exception) { 
            return response()->json([ 
                "message" => 
                    "Internal server error", 
                "status" => 
                    Response::HTTP_INTERNAL_SERVER_ERROR, 
            ]); 
        } 
    } 
    public function teacherDashboard() 
    { 
        try { 
            $token = request()->get("token"); 
            $email = request()->get("email"); 
            $teacher = Teacher::where("Email", $email) 
                ->where( 
                    "MessageTokenApp", 
                    $token 
                ) 
                ->first(); 
            if (isset($teacher)) { 
                $teacherId = $teacher->Id; 
                $data = []; 
                $data[ 
                    "passedCourses" 
                ] = count(ReportManager::passedCourses($teacherId)); 
                $data[ 
                    "activeCourses" 
                ] = count(ReportManager::activeCourses($teacherId)); 
                $data["incomingVCL"] = count( 
                    ReportManager::incomingVCL($teacherId) 
                ); 
                $data["passedVCL"] = count( 
                    ReportManager::passedVCL($teacherId) 
                ); 
                $data["todayVCL"] = count( 
                    GroupLearning::GetTodayLive($teacherId) 
                ); 
                $data[ 
                    "unreadPublicDiscuss" 
                ] = count( 
                    ReportManager::unreadPublicDiscussOfTeacher($teacherId) 
                ); 
                $data[ 
                    "unreadPrivateDiscuss" 
                ] = count( 
                    ReportManager::unreadPrivateDiscussOfTeacher($teacherId) 
                ); 
                $data[ 
                    "unreviewExercise" 
                ] = count(ReportManager::unreadExerciseLearner($teacherId)); 
                $data["isQC"] = PermissionManager::IsTeacherQC( 
                    $teacherId 
                ); 
                return response()->json([ 
                    "data" => $data, 
                    "message" => 
                        "success", 
                    "status" => Response::HTTP_OK, 
                ]); 
            } 
            return response()->json([ 
                "message" => 
                    "Unauthorized", 
                "status" => Response::HTTP_UNAUTHORIZED, 
            ]); 
        } catch (\Exception $exception) { 
            return response()->json([ 
                "message" => 
                    "Internal server error", 
                "status" => 
                    Response::HTTP_INTERNAL_SERVER_ERROR, 
            ]); 
        } 
    } 
    public function teacherVCL() 
    { 
        try { 
            $token = request()->get("token"); 
            $email = request()->get("email"); 
            $year = request()->get("year"); 
            $teacher = Teacher::where("Email", $email) 
                ->where( 
                    "MessageTokenApp", 
                    $token 
                ) 
                ->first(); 
            if (isset($teacher)) { 
                $data = []; 
                if (isset($year)) { 
                    $data[ 
                        "groupLearnings" 
                    ] = GroupLearning::GetAllLive($teacher->Id, $year); 
                } else { 
                    $data[ 
                        "groupLearnings" 
                    ] = GroupLearning::GetAllLive( 
                        $teacher->Id, 
                        Carbon::now()->year 
                    ); 
                } 
                return response()->json([ 
                    "data" => $data, 
                    "message" => 
                        "success", 
                    "status" => Response::HTTP_OK, 
                ]); 
            } 
            return response()->json([ 
                "message" => 
                    "Unauthorized", 
                "status" => Response::HTTP_UNAUTHORIZED, 
            ]); 
        } catch (\Exception $exception) { 
            return response()->json([ 
                "message" => 
                    "Internal server error", 
                "status" => 
                    Response::HTTP_INTERNAL_SERVER_ERROR, 
            ]); 
        } 
    } 
    public function listVCL() 
    { 
        try { 
            $token = request()->get("token"); 
            $email = request()->get("email"); 
            $check = ApiUtil::CheckUser($email, $token); 
            if (!$check["status"]) { 
                return response()->json([ 
                    "message" => 
                        "Unauthorized", 
                    "status" => Response::HTTP_UNAUTHORIZED, 
                ]); 
            } 
            $search_key = request()->get( 
                "search_key" 
            ); 
            $page = request()->get("page"); 
            if (!isset($page) || $page < 1) { 
                $page = 1; 
            } 
            $currentView = request()->get( 
                "currentView" 
            ); 
            if (!isset($currentView)) { 
                $currentView = ClassRoom::LIST_LIVE_VIEW_COMING; 
            } 
            if (!isset($search_key)) { 
                $search_key = ""; 
            } 
            if ( 
                request()->has("classRoomId") 
            ) { 
                $class_id = request()->get( 
                    "classRoomId" 
                ); 
            } else { 
                $class_id = 0; 
            } 
            $response = TeacherUtil::GetTeacherVCL( 
                $check["teacher"], 
                $currentView, 
                $search_key, 
                $page, 
                $class_id 
            ); 
            $data = [ 
                "virtual_classes" => 
                    $response[0], 
                "total" => $response[1], 
                "item_per_page" => 
                    $response[2], 
            ]; 
            return response()->json([ 
                "data" => $data, 
                "message" => 
                    "success", 
                "status" => Response::HTTP_OK, 
            ]); 
        } catch (\Exception $exception) { 
            return response()->json([ 
                "message" => 
                    "Internal server error", 
                "status" => 
                    Response::HTTP_INTERNAL_SERVER_ERROR, 
            ]); 
        } 
    } 
    public function teacherVCLOnline() 
    { 
        try { 
            $token = request()->get("token"); 
            $email = request()->get("email"); 
            $teacher = Teacher::where("Email", $email) 
                ->where( 
                    "MessageTokenApp", 
                    $token 
                ) 
                ->first(); 
            if (isset($teacher)) { 
                if (!PermissionManager::IsTeacherQC($teacher->Id)) { 
                    return response()->json([ 
                        "message" => 
                            "Unauthorized", 
                        "status" => 
                            Response::HTTP_UNAUTHORIZED, 
                    ]); 
                } 
                if ($teacher->IsAdmin == true) { 
                    $data = ReportManager::onlineVCL(0); 
                } else { 
                    $data = ReportManager::onlineVCL( 
                        $teacher->Organization()->OrganizationId 
                    ); 
                } 
                return response()->json([ 
                    "data" => $data, 
                    "message" => 
                        "success", 
                    "status" => Response::HTTP_OK, 
                ]); 
            } 
            return response()->json([ 
                "message" => 
                    "Unauthorized", 
                "status" => Response::HTTP_UNAUTHORIZED, 
            ]); 
        } catch (\Exception $exception) { 
            return response()->json([ 
                "message" => 
                    "Internal server error", 
                "status" => 
                    Response::HTTP_INTERNAL_SERVER_ERROR, 
            ]); 
        } 
    } 
    public function savePlanScheduleTeacher(Request $request) 
    { 
        try { 
            $token = $request->get("token"); 
            $email = $request->get("email"); 
            $check = ApiUtil::CheckUser($email, $token); 
            if (!$check["status"]) { 
                return response()->json([ 
                    "message" => 
                        "Unauthorized", 
                    "status" => Response::HTTP_UNAUTHORIZED, 
                ]); 
            } 
            $jsonSchedules = $request->get( 
                "schedules" 
            ); 
            $schedules = $jsonSchedules; 
            $startTime = $request->get("startTime"); 
            $endTime = $request->get("endTime"); 
            $today = Carbon::now()->timestamp; 
            $history = SchedulePlanHistory::where( 
                "TeacherId", 
                $check["teacher"]->Id 
            ) 
                ->where("StartTime", "<", $today) 
                ->where("EndTime", ">", $today) 
                ->first(); 
            if (isset($history)) { 
                $history->CommitDate = Carbon::now(); 
                $history->StartTime = Carbon::now()->timestamp; 
                $history->EndTime = end($schedules)[ 
                    "EndTime" 
                ]; 
                $history->save(); 
                ScheduleTeacherPlan::deleteOldSchedules($history->Id); 
            } 
            if (!isset($history)) { 
                $history = SchedulePlanHistory::create([ 
                    "TeacherId" => 
                        $check["teacher"]->Id, 
                    "Title" => 
                        $check["teacher"]->FullName, 
                    "CommitDate" => Carbon::now(), 
                    "StartTime" => Carbon::now() 
                        ->timestamp, 
                    "EndTime" => $endTime, 
                ]); 
            } 
            ScheduleTeacherPlan::addSchedules( 
                $schedules, 
                $check["teacher"]->Id, 
                $history->Id 
            ); 
            return response()->json([ 
                "message" => 
                    "success", 
                "status" => Response::HTTP_OK, 
            ]); 
        } catch (\Exception $exception) { 
            return response()->json([ 
                "message" => 
                    "Internal server error", 
                "status" => 
                    Response::HTTP_INTERNAL_SERVER_ERROR, 
            ]); 
        } 
    } 
    public static function checkSchedulePlan() 
    { 
        try { 
            $token = request()->get("token"); 
            $email = request()->get("email"); 
            $teacher = Teacher::select(["Id"]) 
                ->where("Email", $email) 
                ->where( 
                    "MessageTokenApp", 
                    $token 
                ) 
                ->first(); 
            if (isset($teacher)) { 
                $today = Carbon::now()->timestamp; 
                $scheduleHistory = SchedulePlanHistory::where( 
                    "TeacherId", 
                    $teacher->Id 
                ) 
                    ->where( 
                        "StartTime", 
                        "<", 
                        $today 
                    ) 
                    ->where("EndTime", ">", $today) 
                    ->first(); 
                if (!isset($scheduleHistory)) { 
                    return response()->json([ 
                        "result" => 
                            SchedulePlanHistory::NO_SCHEDULE, 
                        "message" => 
                            "No Schedule", 
                        "status" => Response::HTTP_OK, 
                    ]); 
                } 
                $schedules = ScheduleTeacherPlan::GetPlanSchedules( 
                    $teacher->Id, 
                    $scheduleHistory->Id 
                ); 
                return response()->json([ 
                    "schedules" => $schedules, 
                    "scheduleHistory" => $scheduleHistory, 
                    "result" => 
                        SchedulePlanHistory::SCHEDULED, 
                    "message" => 
                        "Scheduled", 
                    "status" => Response::HTTP_OK, 
                ]); 
            } 
            return response()->json([ 
                "message" => 
                    "Unauthorized", 
                "status" => Response::HTTP_UNAUTHORIZED, 
            ]); 
        } catch (\Exception $exception) { 
            return response()->json([ 
                "message" => 
                    "Internal server error", 
                "status" => 
                    Response::HTTP_INTERNAL_SERVER_ERROR, 
            ]); 
        } 
    } 
    public function uploadTime(Request $request) 
    { 
        $file = $request->get("file_upload"); 
        if (isset($file)) { 
            return 
esponse()->json( 
                [ 
                    "message" => 
                        "Upload success", 
                ], 
                200 
            ); 
        } 
        return 
esponse()->json( 
            [ 
                "data" => null, 
                "message" => 
                    "Upload fail", 
            ], 
            404 
        ); 
    } 
    public function saveLogGroupLearning() 
    { 
        $auto_min = SystemConfig::getConfigByKey( 
            "auto_update_min" 
        ); 
        if (!isset($auto_min)) { 
            SystemConfig::setConfigByKey( 
                "auto_update_min", 
                120 
            ); 
            $auto_min = SystemConfig::getConfigByKey( 
                "auto_update_min" 
            ); 
        } 
        $endTime = Carbon::now(); 
        $startTime = Carbon::now()->subMinutes(intval($auto_min)); 
        $groupLearningLogs = GroupLearningLog::select([ 
            "GroupLearningId", 
        ]) 
            ->where("EndTime", "<", $endTime) 
            ->where("EndTime", ">", $startTime) 
            ->groupBy( 
                "GroupLearningId" 
            ) 
            ->get(); 
        $ids = []; 
        foreach ($groupLearningLogs as $groupLearningLog) { 
            TempGroupLearningTeacherLog::SyncTempTeacherLog( 
                $groupLearningLog->GroupLearningId 
            ); 
            array_push($ids, $groupLearningLog->GroupLearningId); 
        } 
        return 
esponse()->json([ 
            "data" => $ids, 
            "result" => "ok", 
        ]); 
    } 
    public function uploadVideo(Request $request) 
    { 
        try { 
            $file_name = $request->get("file_name"); 
            $file_content = $request->get( 
                "file_content" 
            ); 
            $file_tmp = explode(".", $file_name); 
            if (count($file_tmp) < 2) { 
                return response()->json(["status" => false]); 
            } 
            $file_etc = $file_tmp[count($file_tmp) - 1]; 
            $fileType = Common::DetectFileType($file_etc); 
            if ($fileType == DocumentEmbed::TYPE_IGNORE) { 
                return response()->json([ 
                    "status" => false, 
                    "message" => 
                        "File type not support", 
                ]); 
            } 
            $uuid = uniqid() . Common::generateRandomString(7); 
            $file_name = "{$uuid}.{$file_etc}"; 
            $file_content = base64_decode($file_content); 
            File::put( 
                config( 
                    "env.upload_destination" 
                ) . 
                    "/" . 
                    $file_name, 
                $file_content 
            ); 
            $result = [ 
                "status" => true, 
                "file_name" => $file_name, 
            ]; 
            return response()->json($result); 
        } catch (\Exception $e) { 
            return response()->json([ 
                "status" => false, 
                "message" => 
                    "Internal server error", 
            ]); 
        } 
    } 
    public function uploadAudio(Request $request) 
    { 
        try { 
            $file_name = $request->get("file_name"); 
            $file_content = $request->get( 
                "file_content" 
            ); 
            $file_tmp = explode(".", $file_name); 
            if (count($file_tmp) < 2) { 
                return response()->json(["status" => false]); 
            } 
            $file_etc = $file_tmp[count($file_tmp) - 1]; 
            $fileType = Common::DetectFileType($file_etc); 
            if ($fileType == DocumentEmbed::TYPE_IGNORE) { 
                return response()->json([ 
                    "status" => false, 
                    "message" => 
                        "File type not support", 
                ]); 
            } 
            $uuid = uniqid() . Common::generateRandomString(7); 
            $file_name = "{$uuid}.{$file_etc}"; 
            $file_content = base64_decode($file_content); 
            File::put( 
                config( 
                    "env.upload_destination" 
                ) . 
                    "/" . 
                    $file_name, 
                $file_content 
            ); 
            $result = [ 
                "status" => true, 
                "file_name" => $file_name, 
            ]; 
            return response()->json($result); 
        } catch (\Exception $e) { 
            return response()->json([ 
                "status" => false, 
                "message" => 
                    "Internal server error", 
            ]); 
        } 
    } 
    public function convertRequest(Request $request) 
    { 
        try { 
            $file_name = $request->get("file_name"); 
            $file_content = $request->get( 
                "file_content" 
            ); 
            $file_tmp = explode(".", $file_name); 
            if (count($file_tmp) < 2) { 
                return response()->json(["status" => false]); 
            } 
            $file_etc = $file_tmp[count($file_tmp) - 1]; 
            $fileType = Common::DetectFileType($file_etc); 
            if ($fileType == DocumentEmbed::TYPE_IGNORE) { 
                return response()->json([ 
                    "status" => false, 
                    "message" => 
                        "File type not support", 
                ]); 
            } 
            $time = uniqid() . Common::generateRandomString(7); 
            $prefix = 
                config( 
                    "env.image_prefix" 
                ) . "_"; 
            $file_name_tmp = "/Pdf/{$prefix}{$time}.{$file_etc}"; 
            $file_content = base64_decode($file_content); 
            File::put( 
                config( 
                    "env.image_destination" 
                ) . $file_name_tmp, 
                $file_content 
            ); 
            $result = [ 
                "status" => true, 
                "file_name" => $file_name_tmp, 
            ]; 
            return response()->json($result); 
        } catch (\Exception $e) { 
            return response()->json([ 
                "status" => false, 
                "message" => 
                    "Internal server error", 
            ]); 
        } 
    } 
    public function convertedUpload(Request $request) 
    { 
        try { 
            $file_content = $request->get( 
                "file_content" 
            ); 
            $file_etc = $request->get("file_etc"); 
            $fileType = Common::DetectFileType($file_etc); 
            if ($fileType == DocumentEmbed::TYPE_IGNORE) { 
                return response()->json([ 
                    "status" => false, 
                    "message" => 
                        "File type not support", 
                ]); 
            } 
            $time = uniqid() . Common::generateRandomString(7); 
            $prefix = 
                config( 
                    "env.image_prefix" 
                ) . "_"; 
            $file_name = "/Pdf/{$prefix}{$time}.{$file_etc}"; 
            $file_content = base64_decode($file_content); 
            File::put( 
                config( 
                    "env.image_destination" 
                ) . $file_name, 
                $file_content 
            ); 
            $result = [ 
                "status" => true, 
                "file_name" => $file_name, 
            ]; 
            return response()->json($result); 
        } catch (\Exception $e) { 
            return response()->json([ 
                "status" => false, 
                "message" => 
                    "Internal server error", 
            ]); 
        } 
    } 
} 
 ?>

Did this file decode correctly?

Original Code

<?php
namespace App\Http\Controllers\Api;
use App\ApiUtil;
use App\Common;
use App\Models\ClassRoom;
use App\Models\DocumentEmbed;
use App\Models\GroupLearning;
use App\Models\GroupLearningLog;
use App\Models\LibraryFile;
use App\Models\SchedulePlanHistory;
use App\Models\ScheduleTeacherPlan;
use App\Models\SystemConfig;
use App\Models\Teacher;
use App\Models\TempGroupLearningTeacherLog;
use App\PermissionManager;
use App\ReportManager;
use App\TeacherUtil;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\File;
class TeacherController extends BaseController
{
    public function organizationInfo()
    {
        try {
            $token = request()->get("\164\157\x6b\145\x6e");
            $email = request()->get("\x65\155\x61\x69\x6c");
            $teacher = Teacher::where("\x45\x6d\x61\151\154", $email)
                ->where(
                    "\x4d\x65\x73\163\x61\x67\x65\x54\x6f\153\145\156\101\160\x70",
                    $token
                )
                ->first();
            if (isset($teacher)) {
                $teacherId = $teacher->Id;
                $data = [];
                $data["\151\x73\101\144\155\151\156"] =
                    $teacher->IsAdmin == 1 ||
                    PermissionManager::IsOrganizationAdmin($teacherId);
                $data[
                    "\x69\x73\x4f\x72\x67\x53\x63\150\x6f\157\x6c"
                ] = Common::IsOrgSchool($teacherId);
                return response()->json([
                    "\x64\141\164\x61" => $data,
                    "\x6d\145\163\x73\x61\x67\x65" =>
                        "\x73\x75\143\x63\145\163\163",
                    "\x73\164\141\164\165\163" => Response::HTTP_OK,
                ]);
            }
            return response()->json([
                "\155\x65\x73\x73\x61\x67\145" =>
                    "\x55\156\141\x75\x74\x68\x6f\162\151\x7a\x65\x64",
                "\163\x74\x61\x74\x75\x73" => Response::HTTP_UNAUTHORIZED,
            ]);
        } catch (\Exception $exception) {
            return response()->json([
                "\155\x65\x73\163\x61\147\x65" =>
                    "\111\x6e\164\145\x72\x6e\141\x6c\x20\x73\x65\x72\166\x65\162\x20\145\162\x72\x6f\x72",
                "\163\164\141\164\165\163" =>
                    Response::HTTP_INTERNAL_SERVER_ERROR,
            ]);
        }
    }
    public function teacherDashboard()
    {
        try {
            $token = request()->get("\x74\157\153\x65\x6e");
            $email = request()->get("\145\x6d\x61\151\x6c");
            $teacher = Teacher::where("\x45\x6d\141\x69\x6c", $email)
                ->where(
                    "\x4d\x65\163\163\x61\x67\x65\x54\x6f\x6b\x65\x6e\101\160\x70",
                    $token
                )
                ->first();
            if (isset($teacher)) {
                $teacherId = $teacher->Id;
                $data = [];
                $data[
                    "\160\x61\163\x73\145\144\x43\x6f\165\x72\163\x65\163"
                ] = count(ReportManager::passedCourses($teacherId));
                $data[
                    "\141\143\x74\151\x76\x65\103\x6f\x75\162\x73\145\163"
                ] = count(ReportManager::activeCourses($teacherId));
                $data["\151\156\143\157\155\x69\x6e\147\126\103\x4c"] = count(
                    ReportManager::incomingVCL($teacherId)
                );
                $data["\x70\x61\163\163\x65\144\x56\103\114"] = count(
                    ReportManager::passedVCL($teacherId)
                );
                $data["\x74\x6f\x64\141\171\x56\x43\114"] = count(
                    GroupLearning::GetTodayLive($teacherId)
                );
                $data[
                    "\x75\x6e\162\145\x61\x64\x50\x75\142\x6c\x69\143\x44\151\163\x63\165\x73\163"
                ] = count(
                    ReportManager::unreadPublicDiscussOfTeacher($teacherId)
                );
                $data[
                    "\165\156\x72\145\x61\144\120\x72\151\166\x61\x74\145\104\x69\163\143\x75\x73\163"
                ] = count(
                    ReportManager::unreadPrivateDiscussOfTeacher($teacherId)
                );
                $data[
                    "\x75\x6e\162\145\x76\x69\145\x77\105\170\x65\162\143\151\163\x65"
                ] = count(ReportManager::unreadExerciseLearner($teacherId));
                $data["\151\163\121\x43"] = PermissionManager::IsTeacherQC(
                    $teacherId
                );
                return response()->json([
                    "\144\x61\x74\141" => $data,
                    "\x6d\x65\x73\x73\141\x67\145" =>
                        "\163\x75\x63\143\x65\163\x73",
                    "\x73\164\141\x74\x75\x73" => Response::HTTP_OK,
                ]);
            }
            return response()->json([
                "\x6d\x65\163\163\x61\147\x65" =>
                    "\x55\x6e\141\x75\164\150\x6f\162\151\x7a\x65\x64",
                "\163\164\141\x74\x75\x73" => Response::HTTP_UNAUTHORIZED,
            ]);
        } catch (\Exception $exception) {
            return response()->json([
                "\155\x65\163\x73\x61\x67\x65" =>
                    "\111\156\164\x65\x72\x6e\141\154\x20\x73\145\x72\x76\x65\x72\40\x65\x72\162\157\x72",
                "\163\164\x61\x74\x75\163" =>
                    Response::HTTP_INTERNAL_SERVER_ERROR,
            ]);
        }
    }
    public function teacherVCL()
    {
        try {
            $token = request()->get("\x74\x6f\153\x65\156");
            $email = request()->get("\145\x6d\x61\151\154");
            $year = request()->get("\171\145\x61\x72");
            $teacher = Teacher::where("\x45\155\141\x69\x6c", $email)
                ->where(
                    "\x4d\x65\x73\163\141\x67\145\x54\157\x6b\x65\x6e\101\x70\x70",
                    $token
                )
                ->first();
            if (isset($teacher)) {
                $data = [];
                if (isset($year)) {
                    $data[
                        "\147\x72\x6f\165\x70\x4c\145\141\x72\156\151\156\x67\163"
                    ] = GroupLearning::GetAllLive($teacher->Id, $year);
                } else {
                    $data[
                        "\147\162\157\x75\160\114\145\x61\x72\x6e\x69\x6e\147\163"
                    ] = GroupLearning::GetAllLive(
                        $teacher->Id,
                        Carbon::now()->year
                    );
                }
                return response()->json([
                    "\144\x61\x74\141" => $data,
                    "\x6d\x65\x73\163\141\x67\x65" =>
                        "\163\165\143\x63\x65\163\163",
                    "\163\164\x61\164\165\163" => Response::HTTP_OK,
                ]);
            }
            return response()->json([
                "\155\145\x73\x73\x61\x67\x65" =>
                    "\125\x6e\x61\165\164\150\157\162\x69\172\145\144",
                "\163\x74\x61\x74\x75\163" => Response::HTTP_UNAUTHORIZED,
            ]);
        } catch (\Exception $exception) {
            return response()->json([
                "\x6d\x65\163\x73\141\x67\x65" =>
                    "\x49\x6e\164\145\x72\x6e\141\154\x20\x73\x65\x72\166\145\162\x20\x65\162\162\157\x72",
                "\163\164\141\x74\165\x73" =>
                    Response::HTTP_INTERNAL_SERVER_ERROR,
            ]);
        }
    }
    public function listVCL()
    {
        try {
            $token = request()->get("\164\157\x6b\145\x6e");
            $email = request()->get("\x65\155\141\x69\x6c");
            $check = ApiUtil::CheckUser($email, $token);
            if (!$check["\x73\164\x61\164\x75\163"]) {
                return response()->json([
                    "\x6d\x65\x73\x73\x61\147\145" =>
                        "\x55\156\141\x75\164\150\x6f\162\x69\x7a\x65\144",
                    "\x73\x74\x61\x74\165\163" => Response::HTTP_UNAUTHORIZED,
                ]);
            }
            $search_key = request()->get(
                "\163\x65\x61\x72\x63\x68\x5f\x6b\x65\x79"
            );
            $page = request()->get("\160\141\147\x65");
            if (!isset($page) || $page < 1) {
                $page = 1;
            }
            $currentView = request()->get(
                "\143\x75\x72\x72\x65\156\164\126\x69\x65\167"
            );
            if (!isset($currentView)) {
                $currentView = ClassRoom::LIST_LIVE_VIEW_COMING;
            }
            if (!isset($search_key)) {
                $search_key = "";
            }
            if (
                request()->has("\x63\154\141\x73\163\122\x6f\x6f\155\x49\x64")
            ) {
                $class_id = request()->get(
                    "\x63\154\141\163\x73\x52\x6f\x6f\155\x49\144"
                );
            } else {
                $class_id = 0;
            }
            $response = TeacherUtil::GetTeacherVCL(
                $check["\164\145\141\x63\150\x65\x72"],
                $currentView,
                $search_key,
                $page,
                $class_id
            );
            $data = [
                "\166\151\162\x74\x75\x61\x6c\137\x63\x6c\x61\163\x73\x65\x73" =>
                    $response[0],
                "\x74\157\164\141\x6c" => $response[1],
                "\151\x74\145\155\x5f\x70\x65\x72\137\160\141\x67\145" =>
                    $response[2],
            ];
            return response()->json([
                "\144\141\x74\x61" => $data,
                "\x6d\x65\163\163\141\147\x65" =>
                    "\163\x75\143\x63\x65\x73\163",
                "\x73\164\x61\x74\165\163" => Response::HTTP_OK,
            ]);
        } catch (\Exception $exception) {
            return response()->json([
                "\x6d\145\x73\163\x61\x67\145" =>
                    "\x49\x6e\164\x65\x72\x6e\x61\x6c\40\163\145\162\x76\145\x72\40\145\162\162\x6f\162",
                "\x73\164\141\x74\165\163" =>
                    Response::HTTP_INTERNAL_SERVER_ERROR,
            ]);
        }
    }
    public function teacherVCLOnline()
    {
        try {
            $token = request()->get("\164\157\153\x65\x6e");
            $email = request()->get("\145\x6d\x61\x69\154");
            $teacher = Teacher::where("\105\155\141\151\x6c", $email)
                ->where(
                    "\115\145\x73\163\x61\x67\x65\124\x6f\x6b\x65\x6e\101\160\x70",
                    $token
                )
                ->first();
            if (isset($teacher)) {
                if (!PermissionManager::IsTeacherQC($teacher->Id)) {
                    return response()->json([
                        "\155\x65\x73\x73\141\147\145" =>
                            "\x55\156\x61\x75\164\x68\157\162\151\172\145\144",
                        "\163\x74\x61\x74\x75\x73" =>
                            Response::HTTP_UNAUTHORIZED,
                    ]);
                }
                if ($teacher->IsAdmin == true) {
                    $data = ReportManager::onlineVCL(0);
                } else {
                    $data = ReportManager::onlineVCL(
                        $teacher->Organization()->OrganizationId
                    );
                }
                return response()->json([
                    "\144\x61\164\141" => $data,
                    "\x6d\x65\x73\163\141\147\145" =>
                        "\x73\x75\x63\143\x65\163\163",
                    "\163\x74\141\164\x75\x73" => Response::HTTP_OK,
                ]);
            }
            return response()->json([
                "\x6d\145\x73\x73\141\147\145" =>
                    "\125\156\x61\x75\164\150\x6f\x72\151\x7a\145\x64",
                "\x73\x74\141\x74\x75\x73" => Response::HTTP_UNAUTHORIZED,
            ]);
        } catch (\Exception $exception) {
            return response()->json([
                "\x6d\x65\x73\x73\141\x67\145" =>
                    "\111\x6e\164\x65\162\x6e\x61\154\x20\163\145\162\x76\x65\162\x20\x65\x72\x72\x6f\x72",
                "\x73\x74\x61\x74\165\x73" =>
                    Response::HTTP_INTERNAL_SERVER_ERROR,
            ]);
        }
    }
    public function savePlanScheduleTeacher(Request $request)
    {
        try {
            $token = $request->get("\x74\x6f\x6b\145\156");
            $email = $request->get("\x65\x6d\x61\151\x6c");
            $check = ApiUtil::CheckUser($email, $token);
            if (!$check["\163\x74\141\x74\x75\163"]) {
                return response()->json([
                    "\x6d\x65\163\x73\x61\x67\x65" =>
                        "\125\156\x61\165\x74\x68\x6f\x72\151\x7a\x65\144",
                    "\163\164\141\x74\165\x73" => Response::HTTP_UNAUTHORIZED,
                ]);
            }
            $jsonSchedules = $request->get(
                "\163\x63\150\145\x64\165\154\x65\x73"
            );
            $schedules = $jsonSchedules;
            $startTime = $request->get("\163\164\x61\162\x74\x54\x69\155\145");
            $endTime = $request->get("\145\156\x64\x54\151\155\145");
            $today = Carbon::now()->timestamp;
            $history = SchedulePlanHistory::where(
                "\124\145\141\143\150\145\x72\111\144",
                $check["\x74\x65\x61\x63\150\x65\162"]->Id
            )
                ->where("\x53\x74\141\x72\164\x54\x69\x6d\145", "\74", $today)
                ->where("\105\156\x64\124\151\155\x65", "\x3e", $today)
                ->first();
            if (isset($history)) {
                $history->CommitDate = Carbon::now();
                $history->StartTime = Carbon::now()->timestamp;
                $history->EndTime = end($schedules)[
                    "\x45\156\144\x54\151\x6d\x65"
                ];
                $history->save();
                ScheduleTeacherPlan::deleteOldSchedules($history->Id);
            }
            if (!isset($history)) {
                $history = SchedulePlanHistory::create([
                    "\124\x65\141\143\150\x65\x72\x49\x64" =>
                        $check["\x74\x65\141\143\150\x65\162"]->Id,
                    "\124\151\x74\154\145" =>
                        $check["\164\145\x61\143\150\x65\x72"]->FullName,
                    "\103\x6f\x6d\x6d\151\x74\104\x61\164\145" => Carbon::now(),
                    "\123\164\x61\162\x74\124\x69\155\145" => Carbon::now()
                        ->timestamp,
                    "\105\156\x64\124\151\155\x65" => $endTime,
                ]);
            }
            ScheduleTeacherPlan::addSchedules(
                $schedules,
                $check["\164\x65\x61\143\x68\x65\162"]->Id,
                $history->Id
            );
            return response()->json([
                "\155\145\163\163\x61\147\x65" =>
                    "\x73\x75\x63\x63\145\x73\163",
                "\x73\x74\141\164\x75\x73" => Response::HTTP_OK,
            ]);
        } catch (\Exception $exception) {
            return response()->json([
                "\155\145\163\163\x61\x67\x65" =>
                    "\111\156\x74\145\x72\156\141\x6c\40\x73\145\x72\x76\x65\x72\x20\145\x72\x72\x6f\162",
                "\163\164\x61\x74\165\163" =>
                    Response::HTTP_INTERNAL_SERVER_ERROR,
            ]);
        }
    }
    public static function checkSchedulePlan()
    {
        try {
            $token = request()->get("\164\157\153\145\156");
            $email = request()->get("\145\x6d\x61\151\154");
            $teacher = Teacher::select(["\x49\x64"])
                ->where("\x45\155\141\x69\154", $email)
                ->where(
                    "\x4d\145\x73\163\x61\x67\145\124\x6f\153\145\x6e\101\x70\160",
                    $token
                )
                ->first();
            if (isset($teacher)) {
                $today = Carbon::now()->timestamp;
                $scheduleHistory = SchedulePlanHistory::where(
                    "\x54\x65\x61\143\150\145\162\x49\144",
                    $teacher->Id
                )
                    ->where(
                        "\123\164\x61\162\x74\124\x69\155\x65",
                        "\x3c",
                        $today
                    )
                    ->where("\105\x6e\144\124\151\155\145", "\76", $today)
                    ->first();
                if (!isset($scheduleHistory)) {
                    return response()->json([
                        "\162\145\x73\x75\154\164" =>
                            SchedulePlanHistory::NO_SCHEDULE,
                        "\x6d\x65\163\163\141\147\x65" =>
                            "\116\157\x20\x53\x63\x68\x65\x64\x75\154\145",
                        "\x73\164\141\164\x75\x73" => Response::HTTP_OK,
                    ]);
                }
                $schedules = ScheduleTeacherPlan::GetPlanSchedules(
                    $teacher->Id,
                    $scheduleHistory->Id
                );
                return response()->json([
                    "\163\143\150\145\144\165\154\x65\163" => $schedules,
                    "\x73\x63\150\145\144\x75\154\145\x48\151\163\164\x6f\x72\x79" => $scheduleHistory,
                    "\162\x65\163\165\x6c\164" =>
                        SchedulePlanHistory::SCHEDULED,
                    "\155\x65\163\x73\x61\147\145" =>
                        "\x53\143\x68\x65\x64\x75\154\145\144",
                    "\x73\x74\141\164\165\x73" => Response::HTTP_OK,
                ]);
            }
            return response()->json([
                "\x6d\145\163\163\141\x67\145" =>
                    "\x55\156\141\165\164\x68\x6f\162\151\172\x65\x64",
                "\x73\x74\141\x74\x75\x73" => Response::HTTP_UNAUTHORIZED,
            ]);
        } catch (\Exception $exception) {
            return response()->json([
                "\155\145\x73\x73\141\147\x65" =>
                    "\111\156\x74\145\x72\156\141\154\x20\x73\145\162\x76\x65\x72\40\145\162\x72\157\162",
                "\x73\164\x61\x74\x75\x73" =>
                    Response::HTTP_INTERNAL_SERVER_ERROR,
            ]);
        }
    }
    public function uploadTime(Request $request)
    {
        $file = $request->get("\x66\x69\154\x65\137\x75\160\154\x6f\141\144");
        if (isset($file)) {
            return \response()->json(
                [
                    "\x6d\145\x73\163\x61\147\145" =>
                        "\x55\x70\154\x6f\141\144\x20\163\x75\143\143\145\x73\x73",
                ],
                200
            );
        }
        return \response()->json(
            [
                "\x64\141\x74\141" => null,
                "\x6d\x65\x73\x73\141\147\x65" =>
                    "\125\160\x6c\x6f\141\x64\x20\x66\141\x69\x6c",
            ],
            404
        );
    }
    public function saveLogGroupLearning()
    {
        $auto_min = SystemConfig::getConfigByKey(
            "\141\x75\164\157\x5f\165\x70\144\x61\x74\x65\x5f\x6d\151\156"
        );
        if (!isset($auto_min)) {
            SystemConfig::setConfigByKey(
                "\x61\165\x74\157\137\165\x70\x64\x61\164\x65\137\x6d\151\x6e",
                120
            );
            $auto_min = SystemConfig::getConfigByKey(
                "\x61\x75\164\157\137\x75\160\144\141\164\x65\137\x6d\x69\156"
            );
        }
        $endTime = Carbon::now();
        $startTime = Carbon::now()->subMinutes(intval($auto_min));
        $groupLearningLogs = GroupLearningLog::select([
            "\x47\162\157\x75\160\x4c\x65\141\162\x6e\x69\156\147\x49\x64",
        ])
            ->where("\105\156\x64\x54\x69\155\x65", "\74", $endTime)
            ->where("\105\156\x64\124\x69\155\x65", "\76", $startTime)
            ->groupBy(
                "\x47\x72\x6f\x75\x70\x4c\145\141\162\x6e\x69\156\x67\x49\x64"
            )
            ->get();
        $ids = [];
        foreach ($groupLearningLogs as $groupLearningLog) {
            TempGroupLearningTeacherLog::SyncTempTeacherLog(
                $groupLearningLog->GroupLearningId
            );
            array_push($ids, $groupLearningLog->GroupLearningId);
        }
        return \response()->json([
            "\144\x61\164\x61" => $ids,
            "\162\x65\x73\x75\154\x74" => "\x6f\153",
        ]);
    }
    public function uploadVideo(Request $request)
    {
        try {
            $file_name = $request->get("\x66\x69\x6c\x65\137\x6e\x61\155\145");
            $file_content = $request->get(
                "\146\x69\154\x65\x5f\143\x6f\x6e\164\x65\156\164"
            );
            $file_tmp = explode("\56", $file_name);
            if (count($file_tmp) < 2) {
                return response()->json(["\163\x74\x61\164\x75\163" => false]);
            }
            $file_etc = $file_tmp[count($file_tmp) - 1];
            $fileType = Common::DetectFileType($file_etc);
            if ($fileType == DocumentEmbed::TYPE_IGNORE) {
                return response()->json([
                    "\x73\x74\141\164\x75\163" => false,
                    "\155\x65\x73\x73\x61\147\x65" =>
                        "\106\x69\154\145\40\164\171\x70\145\40\156\x6f\164\x20\x73\x75\160\160\157\162\164",
                ]);
            }
            $uuid = uniqid() . Common::generateRandomString(7);
            $file_name = "{$uuid}\x2e{$file_etc}";
            $file_content = base64_decode($file_content);
            File::put(
                config(
                    "\145\156\x76\x2e\165\160\x6c\x6f\x61\x64\x5f\x64\x65\163\164\x69\x6e\141\164\151\157\156"
                ) .
                    "\x2f" .
                    $file_name,
                $file_content
            );
            $result = [
                "\x73\x74\x61\x74\165\163" => true,
                "\146\151\x6c\145\x5f\156\141\x6d\145" => $file_name,
            ];
            return response()->json($result);
        } catch (\Exception $e) {
            return response()->json([
                "\163\x74\141\164\165\x73" => false,
                "\155\145\163\x73\x61\x67\145" =>
                    "\x49\x6e\x74\145\162\x6e\141\x6c\40\163\x65\x72\166\145\x72\x20\145\x72\x72\x6f\x72",
            ]);
        }
    }
    public function uploadAudio(Request $request)
    {
        try {
            $file_name = $request->get("\146\151\x6c\145\x5f\156\141\155\145");
            $file_content = $request->get(
                "\x66\x69\x6c\x65\x5f\143\157\156\164\x65\x6e\164"
            );
            $file_tmp = explode("\56", $file_name);
            if (count($file_tmp) < 2) {
                return response()->json(["\163\164\141\164\165\x73" => false]);
            }
            $file_etc = $file_tmp[count($file_tmp) - 1];
            $fileType = Common::DetectFileType($file_etc);
            if ($fileType == DocumentEmbed::TYPE_IGNORE) {
                return response()->json([
                    "\163\164\x61\164\165\x73" => false,
                    "\155\145\x73\x73\141\x67\145" =>
                        "\106\x69\154\x65\x20\x74\171\x70\x65\40\x6e\x6f\164\x20\163\165\160\x70\x6f\x72\164",
                ]);
            }
            $uuid = uniqid() . Common::generateRandomString(7);
            $file_name = "{$uuid}\56{$file_etc}";
            $file_content = base64_decode($file_content);
            File::put(
                config(
                    "\145\156\166\56\x75\160\154\157\141\x64\137\144\x65\163\x74\151\156\141\x74\151\157\156"
                ) .
                    "\x2f" .
                    $file_name,
                $file_content
            );
            $result = [
                "\163\x74\141\164\x75\x73" => true,
                "\146\x69\x6c\145\137\x6e\x61\155\x65" => $file_name,
            ];
            return response()->json($result);
        } catch (\Exception $e) {
            return response()->json([
                "\163\x74\141\x74\165\x73" => false,
                "\155\x65\163\x73\141\x67\x65" =>
                    "\111\156\x74\x65\162\x6e\x61\154\40\163\145\x72\x76\145\x72\x20\145\x72\x72\157\162",
            ]);
        }
    }
    public function convertRequest(Request $request)
    {
        try {
            $file_name = $request->get("\146\151\154\145\137\x6e\141\x6d\145");
            $file_content = $request->get(
                "\146\151\154\145\x5f\x63\x6f\x6e\x74\145\x6e\164"
            );
            $file_tmp = explode("\x2e", $file_name);
            if (count($file_tmp) < 2) {
                return response()->json(["\163\x74\x61\x74\165\x73" => false]);
            }
            $file_etc = $file_tmp[count($file_tmp) - 1];
            $fileType = Common::DetectFileType($file_etc);
            if ($fileType == DocumentEmbed::TYPE_IGNORE) {
                return response()->json([
                    "\163\x74\x61\x74\x75\x73" => false,
                    "\155\145\x73\x73\141\147\x65" =>
                        "\x46\x69\x6c\145\x20\164\x79\160\145\40\156\x6f\x74\x20\x73\x75\160\x70\157\x72\164",
                ]);
            }
            $time = uniqid() . Common::generateRandomString(7);
            $prefix =
                config(
                    "\145\156\x76\56\151\x6d\141\x67\145\137\160\162\145\146\151\170"
                ) . "\x5f";
            $file_name_tmp = "\57\120\x64\146\x2f{$prefix}{$time}\56{$file_etc}";
            $file_content = base64_decode($file_content);
            File::put(
                config(
                    "\145\x6e\x76\x2e\151\155\x61\147\145\x5f\x64\x65\163\x74\x69\156\141\x74\151\157\x6e"
                ) . $file_name_tmp,
                $file_content
            );
            $result = [
                "\163\x74\141\x74\165\x73" => true,
                "\x66\151\154\145\x5f\156\141\155\145" => $file_name_tmp,
            ];
            return response()->json($result);
        } catch (\Exception $e) {
            return response()->json([
                "\163\x74\141\x74\x75\163" => false,
                "\x6d\x65\163\163\x61\147\145" =>
                    "\111\x6e\164\145\x72\x6e\141\x6c\x20\x73\145\162\166\x65\162\x20\145\x72\x72\157\162",
            ]);
        }
    }
    public function convertedUpload(Request $request)
    {
        try {
            $file_content = $request->get(
                "\146\x69\154\145\137\143\157\156\x74\x65\x6e\164"
            );
            $file_etc = $request->get("\x66\151\x6c\x65\x5f\145\164\143");
            $fileType = Common::DetectFileType($file_etc);
            if ($fileType == DocumentEmbed::TYPE_IGNORE) {
                return response()->json([
                    "\163\164\141\x74\x75\163" => false,
                    "\x6d\145\x73\163\x61\x67\145" =>
                        "\106\151\x6c\x65\40\164\171\160\x65\x20\x6e\x6f\164\40\163\165\160\160\157\x72\164",
                ]);
            }
            $time = uniqid() . Common::generateRandomString(7);
            $prefix =
                config(
                    "\x65\156\x76\x2e\x69\155\x61\147\x65\137\x70\162\145\146\151\170"
                ) . "\x5f";
            $file_name = "\x2f\x50\x64\x66\x2f{$prefix}{$time}\x2e{$file_etc}";
            $file_content = base64_decode($file_content);
            File::put(
                config(
                    "\x65\156\166\56\x69\155\x61\147\145\x5f\144\145\163\164\x69\x6e\x61\164\x69\157\x6e"
                ) . $file_name,
                $file_content
            );
            $result = [
                "\163\164\141\x74\165\x73" => true,
                "\x66\x69\154\145\x5f\156\141\155\x65" => $file_name,
            ];
            return response()->json($result);
        } catch (\Exception $e) {
            return response()->json([
                "\163\x74\141\x74\x75\x73" => false,
                "\155\x65\163\x73\x61\x67\145" =>
                    "\x49\x6e\164\145\162\x6e\x61\x6c\40\x73\x65\162\166\145\162\40\x65\x72\x72\x6f\162",
            ]);
        }
    }
}

Function Calls

None

Variables

None

Stats

MD5 d07f63e792307606ca060f4211503457
Eval Count 0
Decode Time 69 ms