Skip to content

Commit

Permalink
0.8.2: Begun to add support of weblog export for listeners
Browse files Browse the repository at this point in the history
  • Loading branch information
classaxe committed Aug 18, 2018
1 parent f1e1100 commit 2e8fb89
Show file tree
Hide file tree
Showing 5 changed files with 122 additions and 56 deletions.
42 changes: 0 additions & 42 deletions src/Controller/Listener.php
Expand Up @@ -4,8 +4,6 @@
use App\Entity\Listener as ListenerEntity;
use App\Form\Listener as ListenerForm;
use App\Repository\ListenerRepository;
use App\Utils\Rxx;
use Doctrine\ORM\EntityManagerInterface;

use Symfony\Component\Routing\Annotation\Route; // Required for annotations
use Symfony\Component\HttpFoundation\Request;
Expand Down Expand Up @@ -109,44 +107,4 @@ public function listenerController(
$parameters = array_merge($parameters, $this->parameters);
return $this->render('listeners/edit.html.twig', $parameters);
}

/**
* @Route(
* "/{system}/listener/{id}/delete",
* requirements={
* "system": "reu|rna|rww"
* },
* defaults={"id"=""},
* name="listener_delete"
* )
*/
public function listenerDeleteController(
$system,
$id,
ListenerRepository $listenerRepo
) {
if (!(int) $id) {
return $this->redirectToRoute('listeners', ['system' => $system]);
}
$listener = $listenerRepo->find((int) $id);
if (!$listener) {
return $this->redirectToRoute('listeners', ['system' => $system]);
}
if (!$this->parameters['isAdmin']) {
return $this->redirectToRoute('listener', ['system' => $system, 'id' => $id]);
}
if ($listener->getCountLogs() > 0) {
$this->session->set(
'lastError',
"Listener ".$listener->getName()." has ".$listener->getCountLogs()." logs and cannot be deleted"
);
return $this->redirectToRoute('listeners', ['system' => $system]);
}
$em = $this->getDoctrine()->getManager();
$em->remove($listener);
$em->flush();

$this->session->set('lastMessage', "Listener ".$listener->getName()." has been deleted");
return $this->redirectToRoute('listeners', ['system' => $system]);
}
}
52 changes: 52 additions & 0 deletions src/Controller/ListenerDelete.php
@@ -0,0 +1,52 @@
<?php
namespace App\Controller;

use App\Repository\ListenerRepository;
use Symfony\Component\Routing\Annotation\Route; // Required for annotations

/**
* Class Listeners
* @package App\Controller
*/
class ListenerDelete extends Base
{
/**
* @Route(
* "/{system}/listener/{id}/delete",
* requirements={
* "system": "reu|rna|rww"
* },
* defaults={"id"=""},
* name="listener_delete"
* )
*/
public function listenerDeleteController(
$system,
$id,
ListenerRepository $listenerRepo
) {
if (!(int) $id) {
return $this->redirectToRoute('listeners', ['system' => $system]);
}
$listener = $listenerRepo->find((int) $id);
if (!$listener) {
return $this->redirectToRoute('listeners', ['system' => $system]);
}
if (!$this->parameters['isAdmin']) {
return $this->redirectToRoute('listener', ['system' => $system, 'id' => $id]);
}
if ($listener->getCountLogs() > 0) {
$this->session->set(
'lastError',
"Listener ".$listener->getName()." has ".$listener->getCountLogs()." logs and cannot be deleted"
);
return $this->redirectToRoute('listeners', ['system' => $system]);
}
$em = $this->getDoctrine()->getManager();
$em->remove($listener);
$em->flush();

$this->session->set('lastMessage', "Listener ".$listener->getName()." has been deleted");
return $this->redirectToRoute('listeners', ['system' => $system]);
}
}
49 changes: 49 additions & 0 deletions src/Controller/ListenerExport.php
@@ -0,0 +1,49 @@
<?php
namespace App\Controller;

use App\Repository\ListenerRepository;
use Symfony\Component\Routing\Annotation\Route; // Required for annotations

/**
* Class Listeners
* @package App\Controller
*/
class ListenerExport extends Base
{
/**
* @Route(
* "/{system}/listener/{id}/export/ndbweblog",
* requirements={
* "system": "reu|rna|rww"
* },
* defaults={"id"=""},
* name="listener_export_ndbweblog"
* )
*/
public function listenerExportNdbWeblogController(
$system,
$id,
ListenerRepository $listenerRepo
) {
if (!(int) $id) {
$this->session->set('lastError', "Listener cannot be found.");
return $this->redirectToRoute('listeners', ['system' => $system]);
}
$listener = $listenerRepo->find((int) $id);
if (!$listener) {
$this->session->set('lastError', "Listener cannot be found");
return $this->redirectToRoute('listeners', ['system' => $system]);
}
if (!$listener->getCountLogs()) {
$this->session->set('lastError', "Listener <strong>".$listener->getName()."</strong> has no logs to view.");
return $this->redirectToRoute('listeners', ['system' => $system]);
}
$parameters = [
'id' => $id,
'mode' => 'NDB Weblog for '.$listener->getName(),
'system' => $system,
];
$parameters = array_merge($parameters, $this->parameters);
return $this->render('listener/export/ndbweblog.html.twig', $parameters);
}
}
17 changes: 3 additions & 14 deletions src/Entity/Listener.php
Expand Up @@ -874,7 +874,7 @@ public function getFormattedCountTime(): ?string
*/
public function getFormattedDeleteLink(): ?string
{
$url = "listener/$this->id}/delete";
$url = "listener/{$this->id}/delete";
return "<a href=\"{$url}\" onclick=\"return confirm('Delete this Listener? Are you sure?');\">Delete</a>";
}

Expand All @@ -897,17 +897,6 @@ public function getFormattedMapPos(): ?string
return $this->mapX.','.$this->mapY;
}

/**
* @return null|string
*/
public function getFormattedNameLink(): ?string
{
$popup_url = "export_ndbweblog_index/{$this->id}";
$popup_name = "nwl_{$this->id}";
$popup_args = "width=640,height=480,status=1,scrollbars=1,resizable=1";
return "<a href=\"$popup_url\" rel=\"external\" data-popup=\"{$popup_name}|{$popup_args}\">NWL</a>";
}

/**
* @return null|string
*/
Expand All @@ -916,9 +905,9 @@ public function getFormattedNdbWeblogLink(): ?string
if (!$this->countLogs) {
return '';
}
$popup_url = "export_ndbweblog_index/{$this->id}";
$popup_url = "listener/{$this->id}/export/ndbweblog";
$popup_name = "nwl_{$this->id}";
$popup_args = "width=640,height=480,status=1,scrollbars=1,resizable=1";
$popup_args = "status=1,scrollbars=1,resizable=1";
return "<a href=\"$popup_url\" rel=\"external\" data-popup=\"{$popup_name}|{$popup_args}\">NWL</a>";
}

Expand Down
18 changes: 18 additions & 0 deletions templates/listener/export/ndbweblog.html.twig
@@ -0,0 +1,18 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>{{ mode }}</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0)'>
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))'>
<meta name="Description" content="NDB WebLog Site">
<script type="text/javascript" src="/dx/ndb/rww/export_ndbweblog_config/{{ id }}"></script>
<script type="text/javascript" src="/dx/ndb/log/functions.js"></script>
<script type="text/javascript" src="/dx/ndb/log/countries.js"></script>
<script type="text/javascript" src="/dx/ndb/rww/export_ndbweblog_stations/{{ id }}&amp;ver=1.1.25"></script>
<script type="text/javascript" src="/dx/ndb/rww/export_ndbweblog_log/{{ id }}"></script>
</head>
<FRAMESET ROWS="*" ONLOAD="top.list()">
<FRAME NAME="main" src="javascript:''">
</FRAMESET>
</html>

0 comments on commit 2e8fb89

Please sign in to comment.