public function overviewAction(Request $request) { $redirector = $this->checkForFirstLogin(); if ($redirector != null) { return $redirector; } $fetcher = new DQL\FetchData($this); $cPackage = $cPackage = $fetcher->getRunningDataPackage(); if ($cPackage == null) { return $this->redirect($this->generateUrl('settings_packages', array(), true)); } $pstart = $cPackage->getStart(); $pend = $cPackage->getEnd(); $clientStatusDTO = $fetcher->getClientStatusDTO($cPackage); //var_dump($clientStatusDTO); $totalUsageObj = $fetcher->getTotalUsageObj($cPackage); //var_dump($totalUsageObj); $now = new \DateTime(); // or your date as well $totDays = $pend->diff($pstart)->format("%a"); $today = $now->diff($pstart)->format("%a"); //var_dump($now,$pstart,$pend,$totDays,$today); $html = $this->render('dashboard/overview.html.twig', array('clientStatusDTO' => $clientStatusDTO, 'totalUsageObj' => $totalUsageObj, 'totalPackage' => $cPackage->getKbytes(), 'totalDays' => $totDays, 'today' => $today, 'expireDate' => $pend->format('Y-m-d'))); return $html; }
public function packagesAction(Request $request) { $user = $this->get('security.token_storage')->getToken()->getUser(); $data_package = new Entity\data_package($user); $form = $this->createFormBuilder($data_package)->add('kbytes', IntegerType::class, array('required' => true, 'attr' => array('style' => 'width: 100px', 'maxlength' => '10', 'min' => '100000', 'step' => '100000'), 'label' => 'Balance in KB'))->add('start', DateType::class)->add('end', DateType::class)->add('Active', SubmitType::class, array('label' => 'Activate'))->getForm(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { // ... perform some action, such as saving the task to the database $inserter = new DQL\InsertData($this); $inserter->activatePackage($data_package); return $this->redirect($request->getUri()); } $fetcher = new DQL\FetchData($this); return $this->render('dashboard/settings/packages.html.twig', array('form' => $form->createView(), 'runningPackage' => $fetcher->getRunningDataPackage())); }
public function packageChangeAction(Request $request) { $fetcher = new DQL\FetchData($this); $json = $request->request->get("data"); $packages = json_decode($json); $sum = array_reduce($packages, function ($i, $obj) { return $i += $obj->package; }); $total = $fetcher->getRunningDataPackage()->getKbytes() / 1000000; if ($total < $sum) { return new Response("<p><b>Error</b></p><p>You can't exceed master package limit.</p>"); } $inserter = new DQL\InsertData($this); $user = $this->get('security.token_storage')->getToken()->getUser(); $zone = $user->getZone(); foreach ($packages as $p) { $inserter->updateClientPackage($p->sid, $zone, $p->package * 1000000); } return new Response("<p><b>Success</b></p><p>Slave packages are updated.</p>"); }