/** * Lista of bacula clients * * @param \Symfony\Component\HttpFoundation\Request $request * @return Render twig template */ public function listClientsAction(Request $request) { $em = $this->getDoctrine()->getManager(); $defaultDefinitions = new DefaultDefinitions(); $clientRepository = $this->getDoctrine()->getRepository('BaculaStatusBundle:Client'); $listClients = $clientRepository->listAllClients(); $dataClient = array(); foreach ($listClients as $client) { $dataTmp['id'] = $client->getClientId(); $dataTmp['name'] = $client->getName(); $dataTmp['so'] = $client->getUName(); $dataTmp['jobRetention'] = $defaultDefinitions->formatTimeStamp($client->getJobRetention()); $dataTmp['fileRetention'] = $defaultDefinitions->formatTimeStamp($client->getFileRetention()); $dataTmp['autoPrume'] = $client->getAutoPrune(); $dataClient[] = $dataTmp; } return $this->render('BaculaStatusBundle:Client:listClients.html.twig', array('listClients' => $dataClient)); }
public function listPoolsAction(Request $request) { $em = $this->getDoctrine()->getManager(); $defaultDefinitions = new DefaultDefinitions(); $poolRepository = $em->getRepository('BaculaStatusBundle:Pool'); $mediaRepository = $em->getRepository('BaculaStatusBundle:Media'); $listPools = $poolRepository->findAll(); //var_dump($listPools); $data = array(); foreach ($listPools as $pool) { $listMedia = $mediaRepository->findBy(array('poolId' => $pool->getPoolId())); $dataPool = NULL; $dataMedia = NULL; if (count($listMedia) > 0) { $dataPool['id'] = $pool->getPoolId(); $dataPool['name'] = $pool->getName(); $dataMediaTmp = array(); foreach ($listMedia as $media) { // Get color by status to display in the list $status = $media->getVolStatus(); if ($status == "Used") { $statusColor = "label label-warning"; } elseif ($status == "Append") { $statusColor = "label label-success"; } elseif ($status == "Error") { $statusColor = "label label-danger"; } elseif ($status == "Full") { $statusColor = "label label-primary"; } else { $statusColor = "label label-default"; } $maxVolBytes = $media->getMaxVolBytes(); $volBytes = $media->getVolBytes(); // Max vol bytes not set if ($maxVolBytes == 0) { $maxVolBytes = $volBytes; } $percent = 0; // Default if ($volBytes > 0) { $percent = floor($volBytes / $maxVolBytes * 100); } $dataMedia['id'] = $media->getMediaId(); $dataMedia['name'] = $media->getVolumeName(); $dataMedia['status'] = $status; $dataMedia['statusColor'] = $statusColor; $dataMedia['type'] = $media->getMediaType(); $dataMedia['size'] = $defaultDefinitions->formatSize($media->getVolBytes()); $dataMedia['percent'] = $percent; $dataMedia['jobs'] = $media->getVolJobs(); $dataMedia['useDuration'] = $defaultDefinitions->formatTimeStamp($media->getVolUseDuration()); $dataMedia['retention'] = $defaultDefinitions->formatTimeStamp($media->getVolRetention()); // Use date format 'Y-m-d h:i' to sorter correctly $dataMedia['lastWritten'] = $media->getLastWritten()->format($this->container->getParameter('date_format_php')); //$media->getLastWritten()->format($this->container->getParameter('date_format')); $dataMediaTmp[] = $dataMedia; } $dataPool['media'] = $dataMediaTmp; $data[] = $dataPool; //echo stream_get_contents($pool->getName(), -1, 0) . " " . count($listMedia) . "<br />"; } } //\Doctrine\Common\Util\Debug::dump($data); //var_dump($data); return $this->render('BaculaStatusBundle:Pool:listPools.html.twig', array('listPools' => $data)); }