|
|
Strikte toepassing van EU-beleid
ook in Epe...
Gisteren en vandaag was in het nieuws dat de VROM-raad vindt dat Nederland de EU-regels vaak te strikt uitlegt. Daarbij ging het over luchtkwaliteit waardoor bouwprojecten stil komen te liggen. Als ik vanmorgen De Stentor lees over de ontsluiting van de VMI krijg ik een beetje het gevoel dat ook de gemeente Epe zich wel erg makkelijk verschuilt achter EU-beleid.
Wat is er aan de hand? Wie wel eens in Zuuk komt, weet dat de VMI uitsluitend via een smalle weg bereikbaar is. Gelet op de verkeersstroom van en naar een bedrijf met 550 werknemers en grote machines als product lijkt het mij logisch dat het bedrijf de gemeente vraagt om een fatsoenlijke ontsluiting via een aparte tak aan de nog te realiseren rotonde op de N309. Dat is niet alleen in het belang van het bedrijf, maar ook van de omwonenden. Hoewel infrastructuur een kerntaak van de overheid is, wil de VMI zelfs de helft van de aanlegkosten voor haar rekening nemen. En wat wil de gemeente? Dat de VMI 75% van de kosten betaalt.
Wethouder René de Vries zegt het volgende in de krant: "Wat de gemeente betreft is een vierde tak aan de rotonde niet aan de orde. Een privé-afslag aan een openbare weg is een beetje een raar fenomeen. Daarnaast kunnen we als gevolg van Europese regelgeving niet meer dan 25 procent in de kosten bijdragen, omdat we ons dan zouden bezondigen aan staatssteun aan VMI."
Spreken over een privé-afslag voor een bedrijf met een dergelijke omvang komt op mij arrogant over. Wellicht zou de wethouder eens buiten de gemeente moeten kijken hoeveel individuele bedrijven in het land speciale infrastructuur hebben om de omgeving te ontlasten. Veel van die infrastructuur is zelfs geheel door de overheid betaald. Mede omdat die overheden hun bedrijfsleven koesteren.
Maar het beroep van De Vries op het EU-beleid dat overheden geen staatssteun mogen verlenen aan bedrijven lijkt mij erg ver gezocht. Als veiligheid, volksgezondheid en nog een aantal andere criteria van toepassing zijn, mag een overheid wel degelijk iets ondernemen in het algemeen belang. Dat vraagt creativiteit. Afgezien van de oplossing rond ´t Hemeltjen merk ik daar de laatste tijd helaas weinig van bij de gemeente. Dit dossier en het beleid om keihard in te grijpen bij bewoning van vakantiewoningen en de op termijn desastreuze weg van minste weerstand inzake de afvalinzameling bewijzen dat opnieuw.
Maar dat is het niet alleen. Ik heb het idee dat De Vries die ontsluiting ook domweg niet wil. Met een zeer formalistisch beroep op politierapporten waaruit zou moeten blijken dat het verkeer helemaal geen gevaar voor de omgeving oplevert, miskent hij de realiteit. Beste wethouder... veiligheid is meer dan uitsluitend statistieken en gegevens van de politie. Kom eens uit het gemeentehuis en ga eens een dag langs de Brakerweg of de Gelriaweg zitten. Dan ga je wellicht toch 'iets' anders tegen die verkeerssituatie aankijken. Door de groei van de VMI wordt het er steeds drukker en daarmee is er ook steeds meer overlast en gevaar. Word dus wakker voordat er een keer een bewoner of een wandelaar met kinderen en een ezel van recreatieondernemer De Koperen Ezel wordt aangereden.
Het lijkt mij verstandig dat de gemeente en de VMI op korte termijn elkaar nog eens goed in de ogen gaan kijken. Wellicht is het een idee dat ook Frouke van Dam, wethouder van Economische Zaken, daarbij aanwezig is. De inwoners van de gemeente hebben groot belang bij een goed ondernemersklimaat. Bedrijven als de VMI moeten we koesteren en niet op de kast jagen door een kruideniersmentaliteit.
Er wordt momenteel van verschillende kanten getrokken aan onze ondernemers. Gemeente Epe let op uw saeck... Dronten ligt heel dichtbij!
© Harold Makaske 20 maart 2008
/*
History:
v1.1
- add getTableList
v1.2
- use sql_table
- Added silent mode (configure via option) to support NP_MostViews
- Added Cleanup upon uninstall option
- Added "just number" minimalist mode
- Added supportsFeature
V1.2a
- Added min version support
V1.3
- Replaced doSkinVar with DoTemplateVar
V1.3a
- Added repeat views ignore function aka repeat F5s from those bored and lonely one
V1.3b
- Fixed counting off by 1 bug
V1.3c
- Added <%Views(skipCount)%> to allow skipping count when used in template (ie to not count on click in main page)
V1.4
- Fixed ignoe same IP count problem
V1.5
- Added views_log table and changed plugin performance to check for unique visits by IP address. [gRegor]
- Added option to set the length of time before re-counting hits from the same IP address (default: 2 hours) [gRegor]
V1.6
- Added plugin menu to display all view count, w/ counter reset function
- Delete view counter and log for deleted item
V1.7
- use sql_query
V1.8
- Admin page enhancement to preserve order and sort info
v1.9
- Added item title in admin menu
v1.9.1
- ignore draft in admin menu
*/
class NP_Views extends NucleusPlugin {
// Note: I never run this plugin on 2.0 and have no idea whether it
// wil work on <2.5. A user can simply chnage it to return
// '200' and see if it works (likely will). I will gladly
// change the min version to 2.0 and add the sql_table fix
// upon such report. 8)
function getMinNucleusVersion() {
return '250';
}
function getName() {
return 'Views';
}
function getAuthor() {
return 'Rodrigo Moraes | Edmond Hui (admun) | gRegor Morrill';
}
function getURL() {
return 'http://www.tipos.com.br';
}
function getVersion() {
return '1.9.1';
}
function getDescription() {
return 'This plugin counts how many times an entry has been displayed.';
}
function getEventList() {
return array('PostAddItem', 'QuickMenu', 'PostDeleteItem');
}
function supportsFeature($what) {
switch($what) {
case 'SqlTablePrefix':
return 1;
default:
return 0;
}
}
function getTableList() {
return array( sql_table('plugin_views'), sql_table('plugin_views_log') );
}
function install() {
sql_query('CREATE TABLE IF NOT EXISTS ' . sql_table('plugin_views') . ' (id int(11) NOT NULL default "0", views int(15) NOT NULL default "0")');
sql_query('CREATE TABLE IF NOT EXISTS ' . sql_table('plugin_views_log') . ' (id int(11) NOT NULL auto_increment, ip varchar(20) NOT NULL default "", itemid int(11) NOT NULL default "0", viewtime varchar(32) NOT NULL default "", PRIMARY KEY (id)
)');
$this->createOption('silent','Silent mode - No #Display shown in Item (still need to add the skinVar, for use with MostViewed)','yesno','no');
$this->createOption('deletetables','Delete this plugin\'s table and data when uninstalling?','yesno','yes');
$this->createOption('timespan', 'Hours to wait before re-counting visitors', 'text', '2');
}
function unInstall() {
if ($this->getOption('deletetables') == 'yes') {
sql_query('DROP TABLE ' . sql_table('plugin_views') );
sql_query('DROP TABLE ' . sql_table('plugin_views_log') );
}
}
function hasAdminArea() {
return 1;
}
/**
* Adds an entry to the 'Quick Menu' on the Nucleus administration pages.
* The entry will link to the commentcontrol admin page
*/
function event_QuickMenu(&$data) {
global $member;
if (!($member->isLoggedIn() && $member->isAdmin())) return;
array_push(
$data['options'],
array(
'title' => 'View Counts',
'url' => $this->getAdminURL(),
'tooltip' => 'See the view count of all items'
)
);
}
function doTemplateVar(&$item, $input) {
$itemid = $item->itemid;
$remote_ip = ServerVar('REMOTE_ADDR');
$timespan = $this->getOption('timespan') * 3600;
$now = time();
// get the current Views count
$query = "SELECT views FROM " . sql_table('plugin_views') . " WHERE id=" . $itemid;
$result = sql_query($query);
$row = mysql_fetch_object($result);
$views = intval($row->views);
// Only do count updates if "skipcount" is not set
if ($input != 'skipcount')
{
// This takes care of previous items
if (mysql_num_rows($result) == 0)
{
$query = "INSERT INTO " . sql_table('plugin_views') . " (id, views) VALUES('$itemid', '1')";
sql_query($query);
//$views = 0;
} // end if
// Check the views_log table to see if this IP has a viewtime for this item
$query = "SELECT viewtime FROM " . sql_table('plugin_views_log') . " WHERE ip='" . $remote_ip . "' AND itemid=" . $itemid;
$result = sql_query($query);
// No views from this IP in the past X hours, so update the Views count
if (mysql_num_rows($result) == 0)
{
$views++;
$this->_updateViewsCount($itemid, $views);
$this->_addViewsLog($itemid, $remote_ip, $now);
} // end if
else
{
$viewtime = mysql_result($result, 0, 'viewtime');
// It's been longer than X hours, so recount
if (($now - $timespan) > $viewtime)
{
$views++;
$this->_updateViewsCount($itemid, $views);
$this->_updateViewsLog($itemid, $remote_ip, $now);
}
} // end else
} // end if
// Clear logs that are more than X hours old
$time = $now - $timespan;
$query = "DELETE FROM " . sql_table('plugin_views_log') . " WHERE (viewtime < $time)";
sql_query($query);
if ($this->getOption('silent') == 'no') {
echo $views;
} // end if
}
function event_PostAddItem($data) {
$itemid = $data['itemid'];
$query = "INSERT INTO " . sql_table('plugin_views') . " (id, views) VALUES('$itemid', '0')";
sql_query($query);
}
function event_PostDeleteItem($data) {
$itemid = $data['itemid'];
$query = "DELETE FROM " . sql_table('plugin_views') . " WHERE id=". $itemid;
sql_query($query);
$query = "DELETE FROM " . sql_table('plugin_views_log') . " WHERE itemid=". $itemid;
sql_query($query);
}
function _updateViewsCount($itemid, $views) {
// update the Views table with the new count
$query = "UPDATE " . sql_table('plugin_views') . " SET views='$views' WHERE id=$itemid";
sql_query($query);
}
function _addViewsLog($itemid, $ip, $time) {
// add IP and itemid to views_log table so it won't be recounted for X hours
$query = "INSERT INTO " . sql_table('plugin_views_log') . " (ip, itemid, viewtime) VALUES ('$ip', '$itemid', '$time')";
sql_query($query);
}
function _updateViewsLog($itemid, $ip, $time) {
// update the views_log viewtime so it won't be recounted for X hours
$query = "UPDATE " . sql_table('plugin_views_log') . " SET viewtime='$time' WHERE ip='$ip'";
sql_query($query);
}
function doAction($actionType) {
global $CONF, $member;
if (!($member->isLoggedIn() && $member->isAdmin())) return 'Sorry. not allowed';
if ($actionType == 'resetview'){
$id = requestVar('id');
$query = "UPDATE " . sql_table('plugin_views') . " SET views=0 WHERE id=$id";
sql_query($query);
} else if ($actionType == 'resetallview') {
$query = "UPDATE " . sql_table('plugin_views') . " SET views=0";
sql_query($query);
}
$order = requestVar('order');
$sort = requestVar('sort');
header('Location: ' . $CONF['PluginURL'] . 'views/index.php?sort=' . $sort . '&order='.$order);
}
}
?>
-
Hoofdstuk: 10. Epe
|