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 newAction(Request $request, $zone, $mac, $name, $package, $msg) { if (strlen($name) < 2 || strlen($package) < 4) { return new Response("INVALID"); } $inserter = new DQL\InsertData($this, true); if ($inserter->addNewRequest($zone, $mac, $name, $package, $msg)) { return new Response("OK"); } else { return new Response("ERROR"); } }
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>"); }