fuc-new/src/Controllers/Gembox/InviteController.php
hellcat 1fe8673f62 1
2025-10-01 13:34:29 +08:00

107 lines
3.4 KiB
PHP
Executable File

<?php
declare(strict_types=1);
namespace App\Controllers\Gembox;
use Psr\Http\Message\ResponseInterface;
use Slim\Http\Response;
use Slim\Http\ServerRequest;
use Smarty\Exception as SmartyException;
use App\Services\Sdk\Gembox\Factory as SdkGembox;
use App\Services\Sdk\Gembox\Part\Format;
use App\Services\TomTool\PageBar;
final class InviteController extends BaseController
{
public function getUp(ServerRequest $request, Response $response, array $args): ResponseInterface
{
error_reporting(E_ALL & ~E_WARNING);
$iDefaultLimit = 20; // 默认页数,以后是设置
$iPage = (int) $request->getQueryParam('p');
$iLimit = (int) $request->getQueryParam('l');
$sDateSelect = $request->getQueryParam('d');
// 默认一个月
$sDateSelect = $sDateSelect ? $sDateSelect : 'oneMonth';
$oDate = new \DateTime();
switch ($sDateSelect) {
case 'today':
$sDateStart = date('Y-m-d');
$sDateEnd = date("Y-m-d");
break;
case 'oneWeek':
$oDate->modify('-1 week');
$sDateStart = $oDate->format('Y-m-d');
$sDateEnd = date("Y-m-d");
break;
case 'oneMonth':
$oDate->modify('-1 month');
$sDateStart = $oDate->format('Y-m-d');
$sDateEnd = date("Y-m-d");
break;
case 'threeMonth':
$oDate->modify('-3 month');
$sDateStart = $oDate->format('Y-m-d');
$sDateEnd = date("Y-m-d");
break;
case 'halfYear':
$oDate->modify('-6 month');
$sDateStart = $oDate->format('Y-m-d');
$sDateEnd = date("Y-m-d");
break;
case 'oneYear':
$oDate->modify('-1 year');
$sDateStart = $oDate->format('Y-m-d');
$sDateEnd = date("Y-m-d");
break;
case 'threeYear':
$oDate->modify('-3 year');
$sDateStart = $oDate->format('Y-m-d');
$sDateEnd = date("Y-m-d");
break;
default :
echo $sDateSelect;
break;
}
$iPage = $iPage == 0 ? 1 : $iPage;
$iLimit = $iLimit == 0 ? $iDefaultLimit : $iLimit;
$iOffset = ($iPage - 1) * $iLimit;
$aSendData = [
'offset' => $iOffset,
'limit' => $iLimit,
'dateStart' => $sDateStart,
'dateEnd' => $sDateEnd,
];
$oSdkGemboxInvite = SdkGembox::create('InviteUp', 'xfc');
$r = $oSdkGemboxInvite->getUp($aSendData);
$r = Format::r($r);
// echo '<pre>';
// var_dump($r['count']['total_page']);
// exit;
//// page bar
$aPageBar = PageBar::create(9, $r['count']['total_page'], $iPage);
return $response->write(
$this->view()
->assign('pageClass', 'inviteGetUp')
->assign('pageBar', $aPageBar)
->assign('page', $iPage)
->assign('tableInviteUp', $r)
->assign('dateSelect', $sDateSelect)
->fetch('gembox/invite/up.tpl')
);
}
}