Feest in Apeldoorn

voor de bloem der natie...

Morgen viert de bloem der natie feest in Apeldoorn. De Nederlandse Volks Unie (NVU), de partij van Keltische kruizen en white power vuisten, vraagt met een demonstratie in het centrum aandacht voor hun deelname aan de Provinciale Staten verkiezingen.

De media aandacht voor deze club bracht mij op het idee om een e-mailtje te sturen naar de opperkameraad van deze club, Constant Kusters. Ik stelde hem voor om enkele kaderleden en aanhangers te portretteren met als thema enkele slogans van hun verkiezingsprogramma (die dan als onderschrift zouden dienen). En dan niet op een vervelende, maar op een krachtige manier weergegeven. Dat zou een interessante portrettenreeks vol contrasten tussen de maatschappij en de fine fleur van de Gelderse democratie kunnen opleveren.

De partijleider kwam heel snel met een kort en krachtig antwoord: geen interesse.

Tja, de passage uit mijn mail "Voor uw informatie: ik ben geen sympathisant van het gedachtegoed van uw organisatie", heeft hem wellicht afgeschrikt. Kusters voert blijkbaar een andere mediastrategie dan zijn voorganger Joop Glimmerveen. Die had als adagium: het maakt niet uit hoe ze over mijn schrijven, als ze maar over mij schrijven. De huidige leider durft het blijkbaar niet aan om zich te laten fotograferen door anderen dan eigen partijgenoten.

Of zou het stiekem toch iets met mijn achternaam te maken hebben? Begin jaren tachtig was ik voorzitter van de landelijke anti-racisme commissie van de JOVD. Binnen die club stond ik bekend als kenner van de Centrumpartij. Vlak na zijn eerste installatie in de Tweede Kamer heb ik Hans Janmaat geïnterviewd voor een liberaal tijdschriftje. Dat leverde toen nog landelijk nieuws op want wij trokken ons daarmee niets aan van de landelijke persboycot van de CP. Enkele jaren later zou ik in Culemborg zitting nemen in een forum als opponent van een kandidaat-raadslid van de Centrumpartij. Terwijl de zaal vol zat en wij zaten te wachten op de zijn komst kwam de eigenaar van het restaurant ons vertellen dat de betreffende kandidaat had afgebeld. Als reden had hij opgegeven: "ik wil niet in debat met een Turk." Omdat ik niet al mijn voorvaderen ken, durf ik niet te garanderen dat mijn bloed geheel arisch is. Wel kan ik bewijzen dat mijn familie al sinds begin 1700 in Nederland aanwezig is. Maar ja, dat kon mijn opponent in het debat natuurlijk ook niet weten... dus was het volkomen logisch dat hij niet wilde aanschuiven... bij een turk aan tafel... dat moet je natuurlijk nooit willen! :-)

Maar hoe dan ook... ik vind het oprecht jammer dat de NVU niet wil meewerken. Ik had de Gelders-germaanse voorhoede graag voor mijn lens gehad. Mijn visie is nog steeds dat je het niet met mensen eens hoeft te zijn om aandacht aan ze te besteden. De NVU is een verzameling kleurrijke figuren en die had ik graag getoond. Een cordon sanitair is niet effectief. Dat heeft destijds niet gewerkt bij Hans Janmaat en zijn Centrumpartij/Centrum Democraten en het werkt ook niet bij het Vlaams Blok Belang. Als partijen mee mogen doen aan onze democratie lijkt het mij veel verstandiger om ze binnen het systeem te betrekken. Dat betekent dat ze mogen demonstreren, dat ze aan het woord gelaten moeten worden en dat er ook aandacht aan ze moet worden besteed.

Voor een fotograaf betekent dat vastleggen met de camera. Het resultaat kan interessante informatie opleveren: een foto zegt vaak meer dan duizend woorden.

© Harold Makaske 26 januari 2007 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: 5. Losse gedachten