File: /var/www/html/inventory.breadsecret.com/class/Controller/mainPage.php
<?php
namespace Controller;
use Responses\Message, Responses\Action, Responses\Data;
use Pages\Page;
use Database\Sql, Database\Listable;
use Routing\Route;
use Utility\WebSystem, Utility\QRCode;
class mainPage implements Listable {
public function login($request) { return new Page('login'); }
public function registration($request) { return new Page('user/registration'); }
public function forgetpassword($request) { return new Page('user/forgetpassword'); }
public function changepassword($request) { return new Page('user/changepassword'); }
public function __call($name, $arguments) {
$request = $arguments[0];
if (!user::checklogin()) return new Action('redirect', WebSystem::path(Route::getRouteByName('page.login')->path(), false, false));
$page = str_replace('_', '/', $name);
return new Page($page);
}
public function extraProcess($listObj) {
return $listObj;
}
public function main($request) {
if (!user::checklogin()) return new Action('redirect', WebSystem::path(Route::getRouteByName('page.login')->path(), false, false));
$userObj = unserialize($_SESSION['user']);
return new Page('main');
// System Admins Role
/*
if ($userObj->roleID == 1) {
$stmDonatorAmt = Sql::select('team_donator')->setFieldValue('COALESCE(SUM(donatorAmount), 0) donateAmt')->where(['status', '=', 1])->prepare();
$stmDonatorAmt->execute();
$objDonatorAmt = $stmDonatorAmt->fetch();
$stmTeamTotal = Sql::select('team')->setFieldValue('count(id) teamTotal')
->where(['status', '=', 1])->where(['userID', '!=', 0])->prepare();
$stmTeamTotal->execute();
$objTeamTotal = $stmTeamTotal->fetch();
$stmTeamHeadTotal = Sql::select(['team', 't'])->setFieldValue('count(tm.id) teamHeadTotal')
->leftJoin(['teamMember', 'tm'], 't.id = tm.teamID')
->where(['t.status', '=', 1])->where(['t.userID', '!=', 0])
->where(['tm.status', '=', 1])
->prepare();
$stmTeamHeadTotal->execute();
$objTeamHeadTotal = $stmTeamHeadTotal->fetch();
return new Page('main', ['donateAmt'=>$objDonatorAmt['donateAmt'],
'teamTotal'=>$objTeamTotal['teamTotal'], 'teamHeadTotal'=>$objTeamHeadTotal['teamHeadTotal']]);
}
// Users Role
$teamObj = team::findByUserID($userObj->id);
$teamObj->teamCategory = category::find($teamObj->categoryID);
$teamObj->teamPeriod = period::find($teamObj->periodID);
$stmTeamMember = Sql::select('team_member')->where(['teamID', '=', '?'])->order('roleID')->prepare();
$stmTeamMember->setFetchMode(\PDO::FETCH_OBJ);
$stmTeamMember->execute([$teamObj->id]);
$stmTeamDonator = Sql::select('team_donator')->where(['teamID', '=', '?'])->where(['status', '=', 1])->prepare();
$stmTeamDonator->setFetchMode(\PDO::FETCH_OBJ);
$stmTeamDonator->execute([$teamObj->id]);
$stmTxn = Sql::select('transaction')->where(['teamID', '=', '?'])->where(['status', '=', 1])->prepare();
$stmTxn->setFetchMode(\PDO::FETCH_OBJ);
$stmTxn->execute([$teamObj->id]);
return new Page('user', ['teamObj'=>$teamObj, 'stmTM'=>$stmTeamMember, 'stmTD'=>$stmTeamDonator, 'stmTxn'=>$stmTxn]);
*/
}
public function genQRCode($request) {
if (!isset($request->get->code) || empty($request->get->code)) {
return new Message('alert', 'Code is empty');
}
$enctype = $request->get->enctype ?? 'base64';
$code = "";
if ($enctype == 'base64') {
$code = base64_decode($request->get->code);
} else if ($enctype == 'text' || $enctype == 'string') {
$code = $request->get->code;
} else {
return new Message('alert', 'No Encode Type');
}
$qrCode = new QRCode($code);
header('Content-Type: image/png');
header('Content-Length: '.strlen($qrCode));
echo $qrCode;
return null;
}
}