Gedragscode politieke pers

Bizar socialistisch voorstel...

Op de dag dat de Tweede Kamer in zijn geheel op de bres springt voor de journalistieke vrijheid en een Brusselse gedragscode voor de pers inzake religie naar de prullenbak verwijst, komt PvdA-partijvoorzitter Michiel van Hulten met een aantal krankzinnige voorstellen in Nieuwe Revu.

In het interview pleit Van Hulten voor een gedragscode voor journalisten waarin staat dat ze niet meer knippen in citaten, gelekte informatie niet meer gebruiken, informatie van anonieme bronnen niet meer publiceren en dat embargo’s worden afgeschaft.

Los van de ophef over de spotprenten over 'hij die niet getekend mag worden' is dit voorstel al volstrekt belachelijk, maar de timing is nu wel heel bizar. Hoe kun je dit in vredesnaam verzinnen? Op het partijbureau lijkt men zich op te maken voor een revitalisering van het staatssocialisme... nog even en de kranten openen op 1 mei verplicht met De Internationale:

De heersers door duivelse listen
Bedwelmen ons met bloedige damp.
Broeders, strijdt niet meer voor anderer twisten
Breekt de rijen! Hier is uw kamp!


Laten we de voorstellen maar even doornemen:

1. Niet meer knippen in citaten.
Moeten we terug naar de jaren dertig en veertig dat toespraken integraal en zonder commentaar in de eigen verzuilde pers werden weergegeven? Hoe wil je een vredesnaam een gesprek of interview leesbaar op papier zetten zonder de tekst te bewerken? Wees blij dat de spraakwaterval van politici wordt bewerkt tot compacte en nog enigzins begrijpelijke taal; de eigen teksten van politici jagen de mensen alleen maar verder bij de politiek vandaan.

2. Gelekte informatie niet meer gebruiken.
Het is de wereld op zijn kop. Dus als de politici en ambtenaren wél lekken, zou de pers het niet meer moeten opschrijven... Ik hoop niet dat Van Hulten hiermee impliciet de schuld van het lekken in de schoenen van de pers schuift.

3. Geen anonieme bronnen meer opvoeren.
Van Hulten doet er hier alles aan om de schijn te wekken dat hij geen idee heeft hoe de pers werkt. Het kunnen garanderen aan je bron dat hij/zij onbekend blijft, is vaak de enige methode om belangrijke informatie los te krijgen. In veel gevallen levert dergelijk informatie in kranten en andere media ook essentiële informatie op voor overheidsinstanties en politici. Dit voorstel keert als een boemerang op de overheid terug.

4. Geen embargo's meer.
Dit voorstel verwijst natuurlijk naar de berichtgeving in de pers vóór prinsjesdag van de informatie die pas op prinsjesdag naar buiten mag komen. Maar zijn het niet de bewindslieden zelf die ruim voor prinsjesdag hun overwinningen en stokpaardjes al breed uitmeten tegen de journalisten?

Natuurlijk is er wel iets voor te zeggen om de embargo's af te schaffen. Je kunt met recht betogen dat de pers de informatie krijgt op het moment dat het voor iedereen naar buiten komt. Maar het heeft ook een keerzijde. Bij de bekendmaking van complexe onderwerpen en dikke beleidsnota's betekent het echter dat de pers geen tijd heeft om het hele verhaal te lezen én om zich een beeld te vormen van de consequenties van de voorstellen. Dit zal leiden tot oppervlakkige berichtgeving. Ik begrijp best dat Van Hulten dat bepleit. Hij wil dat de journalisten geen tijd hebben om de stukken te lezen en daarom noodgedwongen het persbericht van de ministeries gaan voorlezen. De pers wordt op deze manier gedwongen achter de feiten aan te lopen. De invoering van dit voorstel zal in de praktijk een puur machtsmiddel zijn.

Wouter Bos verdedigde vanavond in het programma Het elfde uur de persvrijheid en stelde expliciet dat hij op geen enkele wijze de suggestie wil wekken dat politici over de inhoud van de media gaan. Hij kondigde ook aan zijn Engelse en Spaanse collega's aan te spreken op hun gedraai betreffende de Deense spotprenten. Helaas kwam daar het interview met Van Hulten - voor zover ik het hoorde - niet aan de orde. Voordat Bos zich richt tot de Engelsen en Spanjaarden zou ik hem willen adviseren eerst maar even aan te wippen bij zijn eigen partijbureau om daar zijn voorzitter tot de orde te roepen.

Bron:

© Harold Makaske 8 februari 2006 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