|
|
Ze leven nog!
mijn politieke vrienden...
Ik dacht echt dat ze in een diepe politieke coma waren geraakt, maar gisteren stonden ze ineens weer in de krant: mijn vrienden van de Liberale Burger Partij. Gelukkig maar, want ik begon me al een beetje zorgen te maken.
Nu is er nieuws... en wat voor nieuws! Volgens De Stentor heeft de partij haar verkiezingsprogramma gepresenteerd. Onder politiek leiderschap van Rob Hesselink gaan ze de verkiezingen in. Het programma is tot stand gekomen uit vier inspraakavonden. U weet wel die druk bezochte avond. Het personeel van Stern staat nu nog af te wassen om de vaat van alle aanwezigen weg te krijgen. De avond voor het bedrijfsleven in Epe was niet minder goed bezocht en daar merkte één van de aanwezigen op dat hij tijdens de LBP-avond in Vaassen niet naar binnen had gekund omdat alle deuren op slot zaten. Je kunt veel zeggen, maar je hebt snel een luisterend oor bij de LBP. Of dat tot daadwerkelijke invloed binnen de gemeentepolitiek zal leiden, is nog maar de vraag. De LBP zoekt namelijk nog kandidaten voor de lijst. Ofwel ze verwachten heel veel zetels binnen te slepen ofwel de oprichters zitten een beetje slapjes in hun politieke vrienden.
Maar er is meer! De prachtig vormgegeven site van de LBP is ondertussen vervangen door een nieuwe. Op een nieuw domein www.liberaalepe.nl staat een gloednieuwe website die verdacht veel lijkt op deze. Maar het gaat bij de Eper liberalen niet om de vormgeving... Nee het gaat om de inhoud.
En daar heb ik dan wel even een vraagje over. Waarom presenteer je jezelf zo prominent als liberaal als je vervolgens op de website schrijft dat je politiek bedrijft "zonder ideologische of religieuze insteek". Is het liberalisme geen ideologie? Dit is weer een interessante politieke vernieuwing van de LBP.
Maar goed. Weg van de ideologie en terug naar de harde realiteit van het leven in Epe. Weet u het nog? Op hun oude website streefde de LBP naar "een gemeente waar het leuk, aantrekkelijk, schoon, gezellig, rustig, bewoonbaar en veilig is en waar de communicatie lijnen kort, helder en duidelijk zijn". En dat wordt dan nu volgens de berichtgeving in de krant met de volgende speerpunten gerealiseerd:
- vrije sluitingstijden voor de horeca
- afschaffen van de welstandscommissie en deze vervangen door een 'commissie bouwzaken' die verrommeling moet voorkomen
- verplaatsing van de Formido naar de Kweekweg (industrieterreinen moeten ook voor volume detailhandel toegankelijk worden... het zogenaamde perifere detailhandelsbeleid)
- ze gaan zich sterk maken voor de komst van een bedrijfsverzamelgebouw en een particulier zwembad
Wat we opschieten met de 'commissie bouwzaken' is mij niet helemaal duidelijk. Het gaat niet om de naam of om de procedure. Het gaat om de inhoud. Dus om de definitie van 'welstand'. Ik ben wel benieuwd naar hun definitie van ‘verrommelen’. En wat bedoelen ze met 'zich sterk maken' voor een bedrijfsverzamelgebouw en een particulier zwembad? Dat is toch aan het bedrijfsleven om met initiatieven te komen? Pleit de LBP ervoor om dat te gaan subsidiëren? Maar ze waren toch tegen de gemeentelijke subsidies?
Het programma is blijkbaar klaar. Het ligt bij de krant, maar het staat nog niet op hun website. Ik ben echt razend benieuwd hoe het volledige programma eruit gaat zien. Als dit de speerpunten van politiek beleid zijn dan is het op zijn zachtst gezegd 'nogal mager'.
En de LBP zal met een gedetailleerd verkiezingsprogramma moeten komen want anders is het nogal ongewis wat er vervolgens in de Raad wordt gedaan met je stem op die partij. Je moet wel erg veel vertrouwen hebben in de politici op de lijst van een partij zonder ideologische kaders en enkele marginale programmapunten. Alsof er in Epe niets anders aan de orde is dan De Formido, een zwembad en een welstandcommissie.
Wordt zonder twijfel vervolgd!
Eerdere berichten over de LBP:
Weer een mislukte partij vol goede bedoelingen...
Bronsttijd in bestuurlijk en politiek Epe. De Wonderbaarlijke vermenigvuldiging van herten: ...
De Liberale Burger Partij opnieuw in het nieuws...
Politiek cabaret in Epe. Het vervolg van de LBP...
De echte politici van de LBP...
De revolutie staat voor de deur in Epe.
Epe hoeft geen nieuwe partij...
Loos geblaat van een LBP-politicus
© Harold Makaske 14 december 2005
/*
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
|