Rijpe kalebassen

Feest in het bos...

Opeens stond hij daar... midden in het bos. Als iemand mij gisteren had verteld dat ik getuige wordt van een 2000 jaar oud gebruik, dat had ik die persoon voor gek verklaard. En nu sta ik hier... voor die grote kalebas. Wie zou die hier hebben neergezet?



Hoor ik daar iemand roepen? Het lijkt wel een aankondiging. We zijn er weer ... morgenavond ... nieuwe artiesten zijn de flarden tekst die ik opvang. Waar komen die vandaan?

Kijk nou toch...



Daar loopt een omroeper.

Een bonte stoet trekt het bos binnen. Dat is, dat is... HET BOSCIRCUS!



Ondertussen wordt het druk rondom de kalebas. Zoals ik later zou horen, sponsort Bouwbedrijf Spillebeen dit jaarlijkse evenement door de Kalebas helemaal klaar te maken voor de uitvoering.

Eerst vinden de grondwerkzaamheden plaats.




Dan kan het zware materieel beginnen met het grove hak en breekwerk.


Zodat ten slotte de afwerkploeg de binnenkant kan aanpakken.


Gelijktijdig takelt de kraan aan de buitenkant het grote circusbord aan de 'gevel'.


De werkzaamheden gaan tot laat in de avond door.


De volgende dag begint men met het aanleggen van de verlichting.


En worden bijgebouwen - zoals de kassa - geplaatst.


Dan is de kalebas helemaal klaar voor de voorstelling.


De clown Toilettof ontvangt mij met open armen om me rond te leiden achter de schermen. Ik brand van nieuwsgierigheid en vraag hem de oren van het hoofd.


Wie heeft die kalebas in het bos neergezet?, vraag ik opgewonden. "Dat mag ik eigenlijk niet vertellen", begint Toilettof. "Je moet weten dat deze traditie al 2000 jaar oud is. Tot 1769 was het één van de grote bosgeheimen. Door onvoorzichtigheid ontdekte een mens - zoals jij - in Engeland een circuskalebas. Philip Astley - zo heette die man - liep door het bos en zag net als jij de kalebas. Hij zag het circus en kopiëerde het een jaar later. Zo is het circus naar de grote mensenwereld gekomen. Jullie zijn echt niet origineel, want zelfs de kalebas apen jullie na door jullie circustent zo'n beetje dezelfde vorm te geven.

Maar ehhhh... je vroeg hoe de kalebas in het bos is gekomen? Laat ik ons geheim maar verklappen. Ieder jaar als de kalebassen en pompoenen rijp zijn dan haalt ieder bosvolk er één naar bos. Ik kan je zeggen: dat is een heel gesleep! We vieren dan het binnenhalen van de oogst. De groei van de kalebassen en pompoenen is een spiegel van onze oogst. Als er veel grote kalebassen en pompoenen zijn, hebben wij ook een goede oogst. Als er weinig zijn dan moeten we voorzichtig zijn met eten anders zijn onze voorraden veel te snel op. En mocht er dan een strenge winter volgen, dan kunnen we echt honger hebben in het bos.

Dit jaar is een uitstekend jaar. Je ziet het... we hebben een enorme kalebas het bos in gesleept. Een goed jaar betekent ook dat we grote oogstfeesten met grote circussen kunnen organiseren."

Nu begrijp ik wel waarom er ieder jaar spontaan grote kalebassen verdwijnen uit de tuinen van mensen. Ik heb nog veel vragen, maar het duizelt me helemaal na al deze informatie. Gelukkig werd Toilettof weer stil en stelde hij voor om met de rondleiding te gaan beginnen. We lopen om de kalebas heen richting de net aangelegde weilanden voor de dieren.



De paarden worden gevoerd.


Ik vertel Toilettof dat ik niet zo houd van dieren in het circus omdat ze op een veel te kleine ruimte leven. "Wilde dieren horen in de natuur, niet in een kooi." Toilettof verzekert mij dat ze erg goed voor de dieren zorgen. "In grote mensen circussen is dat inderdaad meestal heel zielig. Daar hebben de grote dieren het niet goed. Bij ons is het heel anders. Wij leven hier van en in de natuur dus de dieren zijn eigenlijk ook altijd in de natuur." Een beetje gerustgesteld loop ik terug naar de kalebas.

"Kom... dan zal ik je de piste laten zien. Maar... je mag daar niet fotograferen". Teleurgesteld protesteer ik... niet fotograferen... ik... niet fotograferen? "Maar hoe moet ik dan aan iedereen laten zien wat jullie hier doen, vraag ik hem". Streng herhaalt hij hij dat het niet mag... "Het mag niet van Aardemol BV!"

Verbaasd vraag ik: "Aardemol? Wie of wat is Aardemol?" Dan komt Toilttof ineens dicht naast me staan en begint te fluisteren. "Dat is een bedrijf van twee kabouters die alle bosmedia in handen proberen te krijgen. Vroeger kreeg het boscircus subsidie van het kabouterparlement, maar de tijden zijn veranderd. Alle subsidies voor kunst en cultuur zijn afgeschaft en nu moet het circus op de vrije markt het geld bijeenkrijgen om te kunnen voortbestaan. Daarom heeft de directeur ten einde raad alle beeldrechten verkocht aan Aardemol. Die komen opnames maken van de uitvoering vanavond. We zijn al onze zelfstandigheid kwijt. Het grootkapitaal maakt de dienst uit".

Verbijstert over de gelijkenis met de grote mensenwereld vraag ik of het contract ook betrekking heeft op de repetities en dergelijke. Toilettof verdwijnt naar de directeur en komt opgetogen terugrennen. "JE MAG FOTO'S MAKEN! Het contract gaat alleen over de voorstelling!"

Mijn dag is goed... Ik stop een lege flashcard in mijn camera en loop de kalebas in.

Overzichtsfoto van de piste met de loges (een boscircus kent geen harde banken, maar heeft voor iedere familie een aparte loge).


Dan beginnen de repetities...

Cowboy Hannes oefent zijn paardennummer.


Het circus heeft de tweeling Brulboei die de wilde-dierennummers doen. Dit is Gromzwam met zijn leeuwen en tijgers.


Zijn tweelingbroer Loeizwam heeft tamme olifanten.


Ik zat zo geboeid te kijken dat ik helemaal niet in de gaten had dat Toilettof mij had verlaten.

Ineens stond hij met zijn maat Toeterof in de piste


Na tal van grappen en grollen slaat Toeterof met een grote zwaai zijn koffer tegen Toilettof, die tegen de grond smakt.... het hilarische einde van het nummer.


De piste wordt leeg. Ik denk dat de repetities ten einde zijn, maar... wat suist daar ineens door de lucht?


Oh... het is een trapezemeisje.


Even mijn telelens pakken.


Ik schrik op als mijn begeleider zijn hand op mijn schouder legt. "We moeten de Kalebas verder afmaken voor de voorstelling. Helaas moet je ons nu verlaten want anders krijgen we problemen met Aardemol".

Na een uitbundig afscheid van alle aanwezigen verlaat ik bos.

's Avonds kruip ik stiekem terug om toch nog even door de struiken een paar foto's te maken van de prachtig verlichte kalebas. Ik hoor de muziek en het publiek... helaas blijven de ingangsbladeren potdicht voor mij deze avond.





Wat een ervaring, wat een vriendelijke figuurtjes. Mocht je ooit een kalebas in het bos zien staan, weet dan dat het boscircus nooit ver weg kan zijn.

  • Verborgen bosbouw

  • Paniek in het Bos

  • Treinongeluk in het bos

  • Kabouterkabinet werkt aan nieuwe Spoorverbinding
  • © Harold Makaske 14 oktober 2004 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: 3. Reportages