file = db_fetch_object(db_query('SELECT * FROM {track} WHERE nid = %d', $nid)); return $extras->file->filepath; } function track_add() { return node_add("track"); } /** * Implementation of hook_menu(). */ function track_menu() { $items = array(); // Menu items appearing under Navigation $items['track'] = array( 'title' => 'Track list', 'page callback' => 'list_trk', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_NORMAL_ITEM); $items['track/add'] = array( 'title' => 'Track upload', 'page callback' => 'track_add', 'access callback' => 'user_access', 'access arguments' => array('Create tracks'), 'type' => MENU_NORMAL_ITEM); // Callbacks for various track functions $items['track/trk'] = array( 'page callback' => 'download_trk', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK); $items['track/kml'] = array( 'page callback' => 'download_kml', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK); $items['track/gpx'] = array( 'page callback' => 'download_gpx', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK); $items['track/icon'] = array( 'page callback' => 'get_icon', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK); $items['track/ajax/all'] = array( 'page callback' => 'trackback_all', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK); $items['track/ajax/detail'] = array( 'page callback' => 'trackback_detail', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK); $items['track/profile'] = array( 'page callback' => 'trackback_profile', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK); $items['track/repartition'] = array( 'page callback' => 'trackback_repartition', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK); $items['track/boundslist'] = array( 'page callback' => 'track_boundslist', 'access callback' => 'user_access', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK); return $items; } function track_boundslist() { $result = db_query('SELECT latmin, lonmin, latmax, lonmax FROM {track}'); if ($result) { while ($bounds = db_fetch_object($result)) { echo $bounds->lonmin .";".$bounds->latmin .";".$bounds->lonmax .";".$bounds->latmax."
\n"; } } } function trackback_profile($nid) { $aGPXfile = new GPX_file(); $aGPXfile->LoadFromFile(get_gpx_filepath($nid)); $aGPXfile->XMLforProfile(); } function trackback_repartition($nid) { $aGPXfile = new GPX_file(); $aGPXfile->LoadFromFile(get_gpx_filepath($nid)); $aGPXfile->XMLforRepartition(); } function get_icon($diff) { header("Content-type: image/png"); if ($diff == "S") { $image_name = TRACK_PATH ."/misc/pushpins/058.png"; } elseif ($diff == "M") { $image_name = TRACK_PATH ."/misc/pushpins/150.png"; } elseif ($diff == "L") { $image_name = TRACK_PATH ."/misc/pushpins/011.png"; } else { $image_name = TRACK_PATH ."/misc/pushpins/007.png"; } $im = imagecreatefrompng($image_name); imageAlphaBlending($im, true); imageSaveAlpha($im, true); if ($diff == "XL") { $black = imagecolorallocate($im, 0, 0, 0); } else { $black = imagecolorallocate($im, 0, 0, 0); } $string = $diff; $len = strlen($string); if($len <= 2) { $px = (imagesx($im) - 7 * strlen($string)) / 2 + 1; imagestring($im, 3, $px, 3, $string, $black); } else { $px = (imagesx($im) - 7 * strlen($string)) / 2 + 2; imagestring($im, 2, $px, 3, $string, $black); } imagepng($im); imagedestroy($im); } function trackback_detail($nid) { // create interface object with map $aMap = new GoogleMap(); // init all values $aMap->Init(); // map is displaying sync, zoom if ($aMap->mapaction == "initsync") { $result = db_query('SELECT min(latmin) as latminr, min(lonmin) as lonminr,max(latmax) as latmaxr, max(lonmax) as lonmaxr, avg(latstart) as latavg, avg(lonstart) as lonavg FROM {track} WHERE nid='.$nid); if ($result) { while ($bounds = db_fetch_object($result)) { $latmin = $bounds->latminr; $lonmin = $bounds->lonminr; $latmax = $bounds->latmaxr; $lonmax = $bounds->lonmaxr; $latavg = $bounds->latavg; $lonavg = $bounds->lonavg; } } $varlon = max(1e-5, $lonmax - $lonmin); $angle = 360 * 0.7; $zoomlevellon = 17; while ($angle>$varlon) { $angle = $angle / 2; $zoomlevellon--; } $varlat = max(1e-5, $latmax - $latmin); $angle = 360 * 0.7; $zoomlevellat = 17; while ($angle>$varlat) { $angle = $angle / 2; $zoomlevellat--; } $zoomlevel = max(0, max($zoomlevellat, $zoomlevellon)); // center and zoom the map $lonavg = ($lonmin + $lonmax) / 2.0; $latavg = ($latmin + $latmax) / 2.0; $aMap->MoveAndZoom($lonavg, $latavg, $zoomlevel); } // map is displaying async, display if ($aMap->mapaction == "initasync") { $aGPXfile = new GPX_file(); $aGPXfile->LoadFromFile(get_gpx_filepath($nid)); $aMap->AddClearLastTrace(); $points = $aGPXfile->PointsForGoogleMaps(2000); $track = node_load($nid); $desc = theme('info_window_html', $track); $aMap->AddTrace($points, "#ff0000", 3, 0.8); $intensite = $track->file->dzplus / ($track->file->length / 4); $intensite = ($intensite - 30) * (100 / 40); if ($intensite < 30) { $mapicon = base_path()."track/icon/S"; } elseif ($intensite < 60) { $mapicon = base_path()."track/icon/M"; } elseif ($intensite < 100) { $mapicon = base_path()."track/icon/L"; } else { $mapicon = base_path()."track/icon/XL"; } $aMap->AddPoint($points[0][0], $points[0][1], $track->nid, $desc, $mapicon); $aMap->DisplayInfo("info", ""); } // send scenario to map $aMap->ShowXMLforAJAX(); } function trackback_all() { // create interface object with map $aMap = new GoogleMap(); // init all values $aMap->Init(); if ($aMap->mapaction == "initsync") { $result = db_query('SELECT min(latmin) as latminr, min(lonmin) as lonminr,max(latmax) as latmaxr, max(lonmax) as lonmaxr FROM {track}'); $nresult = 0; if ($result) { while ($bounds = db_fetch_object($result)) { $latmin = $bounds->latminr; $lonmin = $bounds->lonminr; $latmax = $bounds->latmaxr; $lonmax = $bounds->lonmaxr; $lonavg = ($lonmin + $lonmax) / 2.0; $latavg = ($latmin + $latmax) / 2.0; $nresult++; } } if ($nresult > 0) { $varlon = max(1e-5, $lonmax - $lonmin); $angle = 360; $zoomlevellon = 17; while ($angle>$varlon) { $angle = $angle / 2; $zoomlevellon--; } $varlat = max(1e-5, $latmax - $latmin); $angle = 360; $zoomlevellat = 17; while ($angle>$varlat) { $angle = $angle / 2; $zoomlevellat--; } $zoomlevel = max(0, max($zoomlevellat, $zoomlevellon)); // center and zoom the map $aMap->MoveAndZoom($lonavg, $latavg, $zoomlevel); } else { $aMap->MoveAndZoom("0", "0", 17); } } if ($aMap->mapaction == "initasync") { $result = db_query('SELECT n.nid, r.title, r.teaser,, u.uid, t.latstart, t.lonstart, t.dzplus, t.length FROM {node} n INNER JOIN {users} u ON u.uid = n.uid INNER JOIN {node_revisions} r ON r.vid = n.vid INNER JOIN {track} t ON t.nid = n.nid'); if ($result) { while ($track = db_fetch_object($result)) { $desc = theme('info_window_html', $track); $intensite = $track->dzplus / ($track->length / 4); $intensite = ($intensite - 30) * (100 / 40); if ($intensite < 30) { $mapicon = base_path()."track/icon/S"; } elseif ($intensite < 60) { $mapicon = base_path()."track/icon/M"; } elseif ($intensite < 100) { $mapicon = base_path()."track/icon/L"; } else { $mapicon = base_path()."track/icon/XL"; } $aMap->AddPoint($track->lonstart, $track->latstart, $track->nid, $desc, $mapicon); } } $aMap->DisplayInfo("info", ""); } // end init if ($aMap->mapaction == "clicked") { $aGPXfile = new GPX_file(); $aGPXfile->LoadFromFile(get_gpx_filepath($aMap->idclicked)); $aMap->AddClearLastTrace(); $aMap->AddTrace($aGPXfile->PointsForGoogleMaps(2000), "#0000ff", 2, 0.8); // $track = node_load($aMap->idclicked); $desc = theme('info_details', $track); $aMap->DisplayInfo("info", $desc); } // send scenario to map $aMap->ShowXMLforAJAX(); } function theme_info_window_html($track) { prepare_google_maps(); $output = ""; $output .= "".$track->title.""; $output .= " ".t("by")." "; $output .= l($track->name, 'user/'.$track->uid); $output .= check_markup($track->teaser, $track->format, FALSE); $output .= "".l(t('More details'), 'node/'.$track->nid).""; return $output; } function theme_info_details($track) { prepare_google_maps(); $output = theme('track_files', $track, true); return $output; } function prepare_google_maps() { _gmap_doheader(); drupal_add_js(TRACK_PATH .'/misc/'); } function track_footer($main = 0) { global $phptrackback; if ($phptrackback != "") { prepare_google_maps(); $content = ''; $content .= "\n"; } return $content; } function track_page_last() { $output = ''; $result = pager_query(db_rewrite_sql("SELECT n.nid, n.created FROM {node} n WHERE n.type = 'track' AND n.status = 1 ORDER BY n.created DESC"), variable_get('default_nodes_main', 10)); $header = array(); $header[] = t("Name"); $header[] = t("Teaser"); $header[] = t("Length"); $header[] = t("Z+"); $header[] = t("Z-"); $header[] = "".t("Intensity").""; $rows = array(); while ($node = db_fetch_object($result)) { $row = array(); $track = node_load($node->nid); $row[] = l($track->title, 'node/'.$track->nid); $row[] = check_markup($track->teaser, $track->format, FALSE); $row[] = sprintf('%2.2f', $track->file->length)." km"; $row[] = sprintf('%2.2f', $track->file->dzplus)." m"; $row[] = sprintf('%2.2f', $track->file->dzminu)." m"; if ($track->file->length != 0) { $intensite = $track->file->dzplus / ($track->file->length / 4); $intensite = ($intensite - 30) * (100 / 40); } else { $intensite = 0.0; } if ($intensite < 30) { $sint = "S"; } elseif ($intensite < 60) { $sint = "M"; } elseif ($intensite < 100) { $sint = "L"; } else { $sint = "XL"; } $row[] = "".$sint.""; $rows[] = $row; } $output .= theme_table($header, $rows); $output .= theme('pager', NULL, variable_get('default_nodes_main', 10)); return $output; } function list_trk() { global $phptrackback; $phptrackback = 'track/ajax/all'; prepare_google_maps(); $content = ''; /* $output .= theme_item_list( array(), t('Map'), 'ul' ); */ $content .= '
'; $content .= '
'; $content .= '
'; $content .= '
'; $content .= '
'; $content .= track_page_last(); return $content; } function download_trk($nid = 0) { $aGPXfile = new GPX_file(); $aGPXfile->LoadFromFile(get_gpx_filepath($nid)); $aGPXfile->ConvertToTRK(); } function download_kml($nid = 0) { $aGPXfile = new GPX_file(); $aGPXfile->LoadFromFile(get_gpx_filepath($nid)); $aGPXfile->ConvertToKML(); } function download_gpx($nid = 0) { $file = get_gpx_filepath($nid); file_transfer($file, array('Content-Disposition: attachment; filename="'.basename($file).'"') ); } /** * Implementation of hook_perm. */ function track_perm() { return array('create tracks'); } /** * Implementation of hook_help(). */ function track_help($path, $arg) { switch ($path) { case 'node/add#track': return t('Upload new track.'); } } /** * Implementation of hook_node_info. */ function track_node_info() { return array( 'track' => array( 'name' => t('Track'), 'module' => 'track', 'description' => t("A track is a GPS/GPX track file"), ) ); } /** * Implementation of hook_access. */ function track_access($op, $node) { global $user; switch ($op) { case 'create': return user_access("create tracks"); case 'update': case 'delete': return user_access("create tracks") && ($user->uid == $node->uid); } } function track_flash_chart($width, $height, $nid, $type) { global $base_path; $swf = "FC2Line.swf"; if ($type == "repartition") $swf = "FC2Column.swf"; $output = ''; $output .= ''; $output .= ''; $output .= ''; $output .= 'nid."/"; $node = node_prepare($node, $teaser); $node->content['track'] = array( '#value' => theme('track_files', $node), '#weight' => 1, ); return $node; } /** * Implementation of hook_theme(). */ function track_theme() { return array( 'track' => array('arguments' => array('element')), 'track_files' => array('arguments' => array('element')), 'item_list' => array('arguments' => array('element')), 'info_window_html' => array('arguments' => array('element')), 'info_details' => array('arguments' => array('element')), ); } function theme_track_files($node) { prepare_google_maps(); //theme_node_example_order_info $output = ""; if ($file = $node->file) { $output .= "

"; $output .= theme_item_list( array( t('Length').' : '.sprintf('%2.2f', $node->file->length).'km', t('Positive Z').' : '.sprintf('%2.2f', $node->file->dzplus).'m', t('Negative Z').' : '.sprintf('%2.2f', $node->file->dzminu).'m', t('Z min').' : '.sprintf('%2.2f', $node->file->zmin).'m', t('Z max').' : '.sprintf('%2.2f', $node->file->zmax).'m' ), t('Characteristics'), 'ul' ); if (!$teaser) { $output .= theme_item_list( array(), t('Map'), 'ul' ); $output .= '
'; $output .= '
'; $output .= '
'; $output .= '
'; $output .= '
'; $output .= theme_item_list( array( track_flash_chart(565, 420, $node->nid, "profile"), track_flash_chart(565, 420, $node->nid, "repartition") ), t('Charts')." (".l("FusionCharts", "").")", 'ul' ); // Only create link to file when it is in the proper location. if (file_check_location($file->filepath, file_directory_path())) { $output .= theme_item_list( array( "

".l($node->title . ' - '.t('GPX file'), 'track/gpx/'.$node->nid), // "

".l($node->title . ' - '.t('TRK file'), 'track/trk/'.$node->nid), "

".l($node->title . ' - '.t('KML file'), 'track/kml/'.$node->nid) ), t('Downloads'), 'ul' ); } } $output .= "

"; } return $output; } /** * Implementation of hook_form(). * * Return an array of the form elements needed to edit this node. */ function track_form(&$node) { $op = isset($_POST['op']) ? $_POST['op'] : ''; if ($op == t('Preview')) { track_validate($node); } if ($op == t('Submit')) { track_validate($node); } // Set form parameters so we can accept file uploads. $form['#attributes'] = array('enctype' => 'multipart/form-data'); // Title of the track $form['title'] = array('#type' => 'textfield', '#title' => t('Title'), '#required' => TRUE, '#default_value' => $node->title, '#weight' => -5); // Check if a file exists for the node if ($node->file->filepath) { $form['title']['#description'] .= t('A file already exists: '.$node->file->filepath); $form['current_file'] = array( '#type' => 'hidden', '#value' => $node->file->filepath ); } // file upload field $form['file'] = array( '#type' => 'file', '#title' => t('File').'*', '#size' => 40, '#default_value' => '', '#weight' => -3, '#description' => t('GPX file'), ); $form['body_filter']['body'] = array( '#type' => 'textarea', '#title' => t('Body'), '#default_value' => $node->body, '#rows' => 10, '#weight' => -2, '#required' => TRUE); $form['body_filter']['filter'] = filter_form($node->format); return $form; } function track_form_alter($form_id, &$form) { } function file_check_local($source) { $file = new StdClass(); $file->filename = trim(basename($source), '.'); $file->filepath = $source; return $file; } function track_validate_file(&$node) { $validators = array( 'file_validate_extensions' => array('gpx'), ); // Check for a new file upload. if ($file = file_save_upload('file', $validators, file_directory_path())) { file_set_status($file, FILE_STATUS_PERMANENT); $node->file = $file; $node->current_file = $node->file->filepath; } else { $current_file = isset($_POST['edit']['current_file']) ? $_POST['edit']['current_file'] : ''; if (file_exists($current_file)) { $node->file = file_check_local($current_file); $node->current_file = $node->file->filepath; $file = $node->file; } } return $file; } /** * Implementation of hook_validate(). * * Verify that there is a file attached to the node. */ function track_validate(&$node) { $file = track_validate_file($node); // Make sure there is an upload or an existing file. if (!$file && !file_exists($node->current_file) && !file_exists($node->file->filepath)) { form_set_error('file', t('A file must be provided.')); } } /** * Implementation of hook_execute(). * * If a file was uploaded save it before updating the database. */ function track_execute(&$node) { $file = track_validate_file($node); // Make sure there is an upload or an existing file. if (!$file && !file_exists($node->current_file)) { form_set_error('file', t('A file must be provided.')); } } /** * Implementation of hook_load(). * * The node is being loaded. Load the file's information from the database so * it can be added to the node. */ function track_load($node) { $extras = new StdClass(); $extras->file = db_fetch_object(db_query('SELECT filename, filepath, '. 'latstart,lonstart,latmin,latmax,lonmin,lonmax,length,dzminu,dzplus,zmin,zmax'. ' FROM {track} WHERE nid = %d', $node->nid)); return $extras; } /** * Implementation of hook_insert(). * * The node is being created, save the file's infomation to the database. */ function track_insert($node) { track_validate($node); $file = $node->file; $aGPXfile = new GPX_file(); $aGPXfile->LoadFromFile($file->filepath); $aGPXfile->getInfos($latstart,$lonstart,$latmin,$latmax,$lonmin,$lonmax,$length,$dzminu,$dzplus,$zmin,$zmax); db_query("INSERT INTO {track} (nid, filename, filepath, ". "latstart,lonstart,latmin,latmax,lonmin,lonmax,length,dzminu,dzplus,zmin,zmax". ") VALUES (%d, '%s', '%s', %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f)", $node->nid, $file->filename, $file->filepath, $latstart,$lonstart,$latmin,$latmax,$lonmin,$lonmax,$length,$dzminu,$dzplus,$zmin,$zmax ); } /** * Implementation of hook_update(). * * The node is being updated, save the updated file's infomation to the database. */ function track_update($node) { track_validate($node); $file = $node->file; if ($file->filepath) { $aGPXfile = new GPX_file(); $aGPXfile->LoadFromFile($file->filepath); $aGPXfile->getInfos($latstart,$lonstart,$latmin,$latmax,$lonmin,$lonmax,$length,$dzminu,$dzplus,$zmin,$zmax); db_query("UPDATE {track} SET filename='%s', filepath='%s',". "latstart=%f,lonstart=%f,latmin=%f,latmax=%f,lonmin=%f,lonmax=%f,length=%f,dzminu=%f,dzplus=%f,zmin=%f,zmax=%f". "WHERE NID=%d", $file->filename, $file->filepath, $latstart,$lonstart,$latmin,$latmax,$lonmin,$lonmax,$length,$dzminu,$dzplus,$zmin,$zmax,$node->nid ); } } /** * Implementation of hook_delete(). * * The node is being delete, remove the file and any information. */ function track_delete($node) { file_delete($node->filepath); db_query("DELETE FROM {track} WHERE nid = %d", $node->nid); } //function track_settings() { // $form['googlemapskey'] = array( // '#type' => 'textfield', // '#title' => t('Google Maps key'), // '#default_value' => variable_get('googlemapskey', 'AAAAAAAAAAA'), // '#size' => 120, // '#maxlength' => 255, // '#description' => t('Required by Google. ').l(t('You will be able to generate your key here'), '') // ); // // return $form; //} TEAM BICIMANIA / ASD LABASE TERNI | A.s.d. La Base



Dopo le voci e' ufficiale UNA SQUADRA AGONISTICA UNICA che riunisce MTB e ROAD , il compimento di un progetto nato da alcuni mesi , che ha portato a collaborare le due societa’ ciclistiche che numericamente nella provincia di Terni sono leader con oltre 200 associati complessivi.    

bicimania la base 2011


Cari ragazzi mi inserisco anche io in questo andirivieni di commenti con il preciso intento, una volta per tutte, di fare chiarezza.

Innanzi tutto voglio ribadire che LA BASE ha una propria Sede in Via del Centenario e che i suoi recapiti telefonici, compresi quelli dei componenti il Direttivo, sono consultabili sia sul libretto delle uscite domenicali che sulla home page del sito, cliccando su “contatti”. Perché dico questo? Perché è particolarmente antipatico vedere pubblicati in prima pagina alla voce commenti, personali interpretazioni su alcuni fatti di cui non si conoscono bene gli intendimenti ed i motivi che ne hanno dato origine. Questo andirivieni di opinioni viene letto da chiunque si collega al sito e per chiunque intendo anche coloro con i quali abbiamo instaurato una collaborazione per portare a termine questo progetto che, oltre a non sconvolgere in alcun modo la nostra Associazione, garantisce la sua completa autonomia per quello che riguarda le attività profuse in favore dei Soci.

Non è necessario vivere LA BASE quotidianamente e nel Direttivo per essere a conoscenza dei “motivi profondi di Palazzo” che danno luogo a determinate azioni e programmi, comunque sempre pensati ed attuati in favore dell’Associazione, ma sarebbe sufficiente frequentare anche una sola volta al mese e/o ancor più semplicemente telefonare ad uno dei numerosi recapiti telefonici che tutti hanno a disposizione, per formulare domande ed ottenere risposte.

E’ certamente un sacrosanto diritto di ogni Socio esprimere il proprio parere e commentare i fatti che regolano la vita del Club, ma con una limitazione che vedo ben precisa: parlarne tra di noi e non scrivere, perché scrivendo non si può essere sicuri di non offendere nessuno e questo a prescindere dall’impegno costante che ogni uno può mettere a disposizione della BASE. D’altro canto credo sia impensabile che da parte mia e dei Consiglieri si debba fare, a monte, ricorso all’uso dei commenti per spiegare e presentare ai Soci i programmi e le novità che vanno ad interagire con il Club e con i suoi associati. Le critiche quindi sono ben accette perché molto spesso aiutano il Direttivo nel lavoro di conduzione del Club, però facciamole laddove esso è ogni giorno puntualmente presente e dove ogni giorno i suoi componenti mettono in discussione sia l’operato del giorno prima che se stessi, facendo sempre critica ed autocritica con chi, per ovvi motivi, frequenta la Sede.

Se qualcuno crede o vede che l’operato del Direttivo non è in linea con le sue aspettative o non rappresenta più quegli ideali a suo tempo perseguiti è certamente nella condizione di farlo presente, ma sempre nel luogo e nei modi giusti.

Il proverbio, “i panni sporchi (se così li vogliamo chiamare) si lavano in famiglia”, insegna e i proverbi non sbagliano mai.

Un caro saluto a tutti da Giancarlo.

Allora oggi andavo di

Allora oggi andavo di fretta..ora voglio definire meglio il mio pensiero..
per far diventare negli anni l'associazione quello che e' diventata..cioe'un riferimento per la mtb a Terni e in umbria,e l'associazione che organizza la gara piu' bella e partecipata di tutta l' e' voluto tanto e tanto ci vuole.
Questo comporta un organizzazione e un impegno in tempo e soldi nn indifferente ,per alcuni di noi ..parlo di me ..Giancarlo soprattutto anche altri..penso ad Ivano ..Giorgio..Egidio, si parla di tempo e impegno dedicato a questa cosa nn indifferente, parlo di costanti contatti con altre realta nazionali (dico nazionali nn terni e dintorni) continue riunioni ecc.
Questo certamente rimarra' indifferente ai piu'..(gia' sento i commenti di fondo "a me che mi importa io vado in bici..mi voglio divertire..cerco lo spirito della vera mtb)ok..certo tutto condivisibile ma senza l'impegno costante dei sopracitati il club nn andrebbe lontano, e questa mancanza di spirito di corpo onestamente mi da' veramente fastidio.
Tanto per essere chiari ,l'indiziato numero 1 per prendere il posto del compianto Gigi come resp dei percorsi eri proprio tu hai declinato l'offerta mi pare...e' troppo facile criticare dal di fuori senza prendersi qualche responsabilita'!!..apprezzo molto di piu' chi orbita' attorno all'associazione non in modo parassitario e apprezza costantemente quello che facciamo e magari dedica il suo tempo quando possibile alla causa..e nn lancia costanti attacchi sul forum senza muovere paglia...
La nuova situazione della squadra corse e'la risultanza di tutto il discorso iniziale ..cioe' portare l'associazione ancora piu' in alto garantire anche tramite questo nuove possibilita'ai vecchi associati e portare nuovi inserimenti ..ribadisco AS La base rimarra' tale DIVISA SOCIALE ,COLORI,SERVIZI AI SOCI EC ECC e nn si verificheranno gli errori del passato.

Troppe chiacchiere

Beh così va molto meglio, perchè scrivere troppe chiacchiere su un forum era quantomeno paradossale, soprattutto detto dal responsabile del sito. Apprezzo molto invece questo tuo intervento. E immagino il tuo stato d'animo quando parli della mancanza di spirito di corpo, e me ne dispiaccio. Però se per spirito di corpo intendi solo un acritico plauso per qualsiasi cosa si faccia, non sono d'accordo. Il fatto che io sia associato credo mi dia diritto di commentare, così come lo ha fatto Tranquillo e Max, e non vorrei limitazioni in tal senso (senza ovviamente offendere nessuno), solo per il fatto che non metta un impegno costante nella direzione, altrimenti solo i componenti il direttivo potrebbero (auto)criticare. E' un pensiero poco democratico. Se poi per continui attacchi ti riferisci a quel commento dove si diceva che la discesa fatta da me e Tranquillo non è roba per grazielle (non so a che altro ti possa riferire), mi sembra eccessivo. Parli di tante frasi che per me non hanno significato "...portare l'associazione ancora piu' in alto garantire anche tramite questo nuove possibilita'ai vecchi associati..." e ancora "... l'associazione che organizza la gara piu' bella e partecipata di tutta l'umbria..." so magari di sembrare retrograda, ma a me manca la Base quella della cantina di Gigi. Mi dispiace sinceramente che non ti senti ripagato dal sottoscritto di tanto impegno profuso del quale ti rendo merito, però, per quel che mi riguarda, e solo per me, questo concedimelo, la Base sta sbagliando direzione. Ribadisco che non voglio avere ragione, non me ne frega niente di avere o dare ragione, è solo la manifestazione di un idea. Tutto qua. A presto.

Caloroso ringraziamento...

Volevo ringraziare Tranquillo per avermi definito AGONISTA e amante a 360° della Mtb.

Magari lo fossi (agonista), perchè della seconda definizione ne sono ampiamente sicuro.
Per diventare un serio agonista bisogna avere tanto tempo a disposizione, fare grossi sacrifici, tante rinunce, allenarsi costantemente, che sinceramente alla mia tenera età di quarant'anni, non la vedo tanto chiara.
Comunque ammetto di provarci, mettondoci quella poca disponibilità di tempo che mi resta dopo gli impegni di lavoro e famiglia, che tu ben sai....ovviamente. (Prova un pò a dire a tua moglie che lei viene dopo la bici.. tempo 30 secondi o poco di più, ti ritrovi le valige pronte e imballate fuori dalla porta di casa....)

Comunque, per non continuare a gettare benzina sul fuoco ed alimentare polemiche inutili, credo sia il caso fare una breve riunione e mettere al corrente tutti, o coloro siano interessati, di questa nuova iniziativa intrapresa dai due club.

Concordo. Troppe

Troppe chiacchiere...
Pochi fatti...
E quanto è inutile il superfluo...
Cerchiamo di trovare la vera essenza di questo sport.
So che non sarà facile per molti, ma già provarci sarebbe motivo di encomio...

Troppe chiacchiere...pochi

Troppe chiacchiere...pochi fatti.....


Scappiti hai fatto bene a precisare l'ambiguo annuncio. Perchè alla fine di esso parli di duecento associati complessivi, e uno è indotto a pensare che si stia parlando di tutti, non solo della squadra corse, non credo che 200 siano solo gli agonisti?!
Ma le perplessità rimangono lo stesso! Vorrà dire che solo voi della squadra corse farete le curve a destra con una sola mano! E poi che significa, che voi della c.d. squadra corse siete una cosa a parte? Ora, noi che non viviamo la Base quotidianamente nel direttivo, probabilmente non conosciamo i motivi profondi “di palazzo” che hanno portato a questa cosa, però sarebbe bastato che il negozio ci avesse fatto da sponsor. Scusa la franchezza, ma non era meglio essere stati più coerenti e dire "Signori, noi della squadra corse passiamo ad un altra associazione" senza nessun rancore, dov'era il problema. Insomma tale situazione mi ricorda tanto l'ultimo connubio che ci ha visto “collaborare” con un'altra realtà commerciale, e come poi è finita.
La sezione gravity. Il fatto che si possa creare una sezione gravity è meritoria di interesse, ma il fine secondo te, sarebbe quella di trovare nuovi sponsor !!!??? Secondo me, sarebbe quella di attrarre persone appassionate con le quali condividere questa stupenda passione, giammai gli sponsor. Evidentemente abbiamo idee diverse per quanto riguarda il nostro (non è solo di chi fa le gare) amato mondo della mountain bike. Non mi piace questa idea contorta dell'associazionismo...commercializzato ed interessato... al mondo non siamo tutti venditori.

L'idea per cui aderii alla Base, non era per avere lo sconto in questo o quel negozio, o per fare le gare. Era perché mi facevano fare delle stradine sconosciute in luoghi dove ero passato mille volte senza notarle, condividendo una sana passione per la natura.
L'ultimo spunto di riflessione: l'associazione sportiva dilettantistica LaBaSe è l'unica, o una delle poche, la cui nascita ed esistenza non è legata ad un negozio, che non porta cioè il nome di un negozio o il cui presidente, ufficiale od occulto, sia proprietario di un negozio. In pratica siamo tra i pochi portatori sani di mountain bike. Siamo sicuri di voler abbandonare questa “mission” per avere degli sconticini e per avere più visibilità? Tutto qua?
Per quel che mi riguarda, fate pure, assolutamente, ma secondo me bisognerebbe puntare su ciò che ci contraddistingue piuttosto che su ciò che ci accomuna agli altri. Speriamo bene. Notte a tutti.

Bici e bici

Credo personalmente che si stia facendo un po' di confusione...
Squadra corse: ok, realtà di agonisti che amano le gare e preferiscono ammazzarsi di allenamenti per poter vincere il loro beneamato prosciutto e salire sul gradino più alto del podio.
Ciclisti della domenica: benissimo, altra realtà di amanti delle due ruote che non avendo tempo (o passione) per le gare ed i relativi allenamenti preferiscono uscire la domenica insieme ad amici e non per poter godere appieno del loro mezzo meccanico e della natura.
A volte le due realtà si uniscono, anche se in realtà raramente di può parlare di vera e propria fusione poiché gli interessi, i livelli di allenamento o i mezzi sono troppo differenti per poter andare di pari passo nelle 4 ore di giro domenicale quando ci si riesce ad incontrare.
Poi in effetti devo dare ragione (e onestamente raramente lo faccio) al buon Bubu che parla di confusione quando si parla di 200 iscritti per la nuova sinergia strada-mtb presentando la relativa maglietta, mentre in realtà quella maglia è riservata solo a chi fa parte della suadra corse.
Poco male, visto che personalmente non sono uno che da molta importanza all'estetica del gruppo ma piuttosto mi concentro sulla compagnia della giornata ed il tracciato da seguire. Io la domenica devo godere al massimo di quella uscita in bici che mi serve come l'aria, così da poter tornare al lavoro per un intera settimana e reggere lo stress di un telefono isterico che squilla ogni 5 minuti per i succesivi 6 giorni.
Ma capisco anche che non tutti la pensano come me.
Ma per concludere, visto che altrimenti la faccio troppo lunga (come dice MAX che ritengo uno dei pochi agonisti che ben si fonde con il ciclista della domenica, forse perché gli piace davvero questo sport a 360°), e soprattutto che non vorrei innescare polemiche inutili, dico solo questo: non importa la bici che si ha.
Ruote strette o larghe, asfalto o sterrato, la bici è sempre la bici.
Ognuno scelga quello che vuole lasciando libertà agli altri.
L'importante è divertirsi.
Ps: per quanto riguarda la sezione gravity....
E' un bacino di utenza ben limitato, e non credo che ci sia interesse nel creare una sezione apposita.
Ma anche se ci fosse quell'idea.... che c'entrano gli sponsor???
Saluti a tutti.
E speriamo nel bel tempo piuttosto, che altrimenti qua bisogna cambiare sport e darsi al canottaggio per le vie cittadine!!!

Perdonate l'intrusione...

Io credo che "La Base" è sempre "la Base" e tale rimarrà, come lo stesso "Bicimania".
Quindi ognuno percorrerà come sempre la propria "strada", che sia Mtb o Road, non implicando nessun vincolo a nessuno.
Da profano, credo e lo spero, che questa associazione porti ad unire le forze per quanto riguarda il settore agonistico frà due società Ternane, non di poco conto, al cospetto delle Perugine.
Secondo me, la nostra mentalità Ternana, è portata a disgregare le forze e le risorse, mentre le Perugine e non solo, nonostante hanno molte più risorse economiche, sono volte all'unione, per gareggiare unite e remare tutte per la stessa barca.
Comunque, a noi Bikers con le "Ruote Grasse", continuerà a piacerci sempre di più la Mtb, come ai "Bitumari" piacerà sempre di più la bici da corsa.
Ma questo non significa che i due mondi non possano viaggiare parallelamente, e anzi, a volte possano anche incontarsi.
Con la possibilità che loro vengano a scoprire e apprezzare le magnifiche sensazioni che la Mtb da a noi, viceversa, anche noi in fondo, (per chi ha già la bici con le "ruote magre"), potremmo assaporare le diverse particolarità che può offrire la bici da strada .

P.S. Chiudo sennò la faccio troppo lunga. Volevo solo fare un appunto sulla nuova maglia e uno su i pantaloncini.
La scritta della nostra società sulla maglia poteva essere un pò più grande e più centrata, come l'altra.
Per i pantaloncini, sul posteriore, la scritta "Bicimania", se rimane a quell'altezza, forse scompare sotto la maglia.

Ciao a tutti e speriamo che domenica prox non piova, quest'acqua mi ha rotto veramente le pa.......

Ragazzi imparate a

Ragazzi imparate a leggere..c'e'scritto sottolineato SQUADRA AGONISTICA ..per quelli che a suo tempo hanno gettato la spugna (per nobilissimi motivi presumo) tutto rimane come prima (maglia.. colori ..servizi.. pranzi.. cene.. accompagnamenti..etc etc compresi).
La cosa nasce per ampliare e integrare anche nuove persone che si stanno avvicinando al nostro mondo e permettono al club una grande visibilita'..per poi integrare una collaborazione con uno storico negozio di bici con servizi e scontistiche che altri rivenditori nn ci fanno..(a buon intenditore)

p.s.aggiungo anche la nuova maglia asd la base gadget 2011 cosi' sono piu' chiaro..

p.s. di p.s. cmque se volete creare una sezione gravity e trovate un po' di sponsor....(nn scherzo!!)




Avrei potuto farne anche a meno ma c'era scritto "Aggiungi un commento" e allora quale miglior occasione. Mi domandavo, seriamente: "Ma se si potessero asfaltare tutte le strade e i sentierini di montagna che di solito si fanno in mountain bike, in modo da renderli accessibili anche alle bici da strada, sarebbe così male? Ci sarebbe qualcuno che sarebbe contrario?"
Ma quale è la motivationem di questa collaborazione, che i ciclisti ci tirano nei tratti di asfalto in pianura e poi subentriamo noi bikers in salita e nella discesa?! Perdonatemi, se potete, il sarcasmo.... Attendo mazzate... ma non ho resistito, scusate...

Maglia sociale

Ho visto ora le immagini della nuova muta sociale: ma noi siamo quelli piccoli sul fianco sinistro anteriore, vicino alla milza? Per farci riconoscere dovremo fare solo curve a destra e con una sola mano!!! Ah.. e anche con la gamba sinistra alzata, c'è una scritta anche li!!! Ah non sono luddista, mi piace il progresso, però..... Vabbè è solo una bozza immagino, poi le scritte si modificheranno...