var PROJECT = PROJECT || {}; PROJECT.labs = [ { collettivo: "Ciclofficina Ampioraggio", dshort: "Officina per le biciclette. Nessuno ti ripara le bici, impari a farlo insieme a chi ha già questa competenza.", dlong: "...", when : [ {day: "Mar", hour: ["19:00", "22:00"], title: "Assemblea Ciclofficina" }, {day: "Mer", hour: ["18:00", "22:00"], title: "Riparazioni biciclette" }, {day: "Dom", hour: ["18:00", "22:00"], title: "Riparazioni biciclette" } ], old_event: "", //un vecchio evento site: "http://ampioraggio.noblogs.org", //sito personale contatto : "", //email page: "http://www.ecn.org/xm24/ciclofficina-ampioraggio", //pagina su sito xm24 sn: "", //social network }, { collettivo: "SIM", dshort: '“Nessuno educa nessuno, nessuno educa se stesso, gli uomini'+ 'si educano insieme, con la mediazione del mondo.” – Paulo Freire', dlong: "La Scuola d’Italiano CON migranti del XM24 è una scuola "+ "autogestita che unisce al percorso linguistico un percorso politico, sia "+ "perchè si oppone alle leggi razziste dello stato, sia perchè concepisce "+ "l’ apprendimento dell’italiano da parte dei migranti come uno strumento "+ "di emancipazione, autodefinizione e socializzazione.", when : [ {day: "Lun", hour: ["19:00", "21:00"], title:"Scuola Italiano con Migranti"}, {day: "Mar", hour: ["19:00", "21:00"], title:"Scuola Italiano con Migranti"}, {day: "Mer", hour: ["19:00", "21:00"], title:"Scuola Italiano con Migranti"} ], old_event: "", //un vecchio evento site: "http://simxm24.noblogs.org", //sito personale contatto : "", //email page: "", //pagina su sito xm24 sn: "https://www.fb.com/infoschockxm24", //social network }, { collettivo: "Hacklabbo", dshort: "Serata di smanettamento collettivo, giochi, confronto. Sottoterra nascono idee, "+ "serpeggiano progetti, si condividono codice, saldatori e birrette.", dlong: "Analizziamo e smontiamo e scardiniamoLe tecnologie invasive, l’imposizione "+ "di una socialita’ predigerita da parte dei colossi dell’informatica "+ "e dei media, la profilazione, la censura licenze limitanti e brevetti "+ "Rivendicando la libera circolazione "+ "(analogica e digitale) dell’informazione, il diritto alla privacy, "+ "all’anonimato e alla liberta di espressione ed invenzione. Condividiamo "+ "conoscenza autoproducendo dal basso strumenti alternativi ed infrastrutture "+ "autonome di comunicazione per una partecipazione politica consapevole.", when : [ {day: "Mer", hour: ["21:00", "24:00"], title:"Hacklabbo" }, ], old_event: "", //un vecchio evento site: "http://liste.indivia.net/listinfo/hacklabbo", //sito personale contatto : "", //email page: "http://www.ecn.org/xm24/hacklabbo/", //pagina su sito xm24 }, { collettivo: "Infoshock", dshort: "L’ InfoShock di XM24 è uno spazio di consultazione e distribuzione "+ "alternativa di materiale storico/culturale/politico.", dlong: "Infoshock è uno spazio aggregativo, un luogo di interazione e contaminazione "+ "sociale, di incontro, confronto e condivisione, un veicolo sperimentale e "+ "creativo per la trasmissione della cultura e della politica.", when : [ {day: "Giov", hour: ["20:00", "23:00"], title:"Apertura spazio Infoshock" }, ], old_event: "", //un vecchio evento site: "https://infoshockxm24.noblogs.org", //sito personale contatto : "infoshockxm24@indivia.net", //email page: "http://www.ecn.org/xm24/infoshock/", //pagina su sito xm24 sn: "", //social network }, { collettivo: "SeriXm", dshort: "Laboratorio creativo attrezzato per la stampa serigrafica", dlong: "Uno spazio di autoproduzione che nasce con l’intento di sperimentare e "+ "applicare la creazione legata al mondo del visuale. La serigrafia come "+ "tecnica di stampa manuale legata al mondo d.i.y. si pone in maniera "+ "opposta alle logiche della produzione industriale massiva e omologante.", when : [ {day: "Mer", hour: ["19:30", "22:00"], title:"Apertura serigrafia"}, ], old_event: "", //un vecchio evento site: "", //sito personale contatto : "serixm@autistici.org", //email page: "http://www.ecn.org/xm24/seryxm/", //pagina su sito xm24 sn: "", //social network }, { collettivo: "Palestrina Libera", dshort: "Palestra popolare basata sugli stessi principi del posto che la ospita, XM24, di cui è parte integrante.", dlong: "Uno spazio di autoproduzione che nasce con l’intento di sperimentare e "+ "applicare la creazione legata al mondo del visuale. La serigrafia come "+ "tecnica di stampa manuale legata al mondo d.i.y. si pone in maniera "+ "opposta alle logiche della produzione industriale massiva e omologante.", when : [ {day: "Mar", hour: ["18:30", "20:00"], title:"Hata Yoga"}, {day: "Mer", hour: ["20:30", "22:30"], title:"Hata Yoga meditativa"}, {day: "Lun", hour: ["20:30", "22:30"], title:"Hata Yoga meditativa"}, {day: "Gio", hour: ["18:30", "20:00"], title:"Hata Yoga"}, {day: "Lun", hour: ["19:00", "21:00"], title:"Tessuti aerei"}, {day: "Mer", hour: ["19:00", "21:00"], title:"Tessuti aerei"}, {day: "Ven", hour: ["19:00", "21:00"], title:"Tessuti aerei"}, {day: "Sab", hour: ["15:00", "17:00"], title:"Shiatsu"}, //{day: "Lun", hour: ["15:00", "17:00"], title:"Acrobalance"} ], old_event: "", //un vecchio evento site: "http://liste.indivia.net/listinfo/pallestra", //sito personale contatto : "palestrinalibera@autistici.org", //email page: "http://www.ecn.org/xm24/palestrina-libera/", //pagina su sito xm24 sn: "", //social network }, { collettivo: "Palestra Popolare Antifa Boxe Teofilo Stevenson", dshort: "Palestra popolare nata a novembre del 2014 per offrire un corso autogestito di Boxe.", dlong: "All’interno del circuito nazionale delle palestre popolari, la P.P. Stevenson si propone di "+ "offrire un’esperienza di sport popolare che parte dal basso, si prefigge "+ "di insegnare a praticare una disciplina che ha come principi l’uguaglianza "+ "e il rispetto reciproco", when : [ {day: "Lun", hour: ["19:00", "21:00"], title:"Pugilato"}, {day: "Mer", hour: ["19:00", "21:00"], title:"Pugilato Principianti"}, {day: "Ven", hour: ["19:00", "21:00"], title:"Pugilato"}, ], old_event: "", //un vecchio evento site: "http://liste.indivia.net/listinfo/pallestra", //sito personale contatto : "palestrapopolarestevenson@autistici.org", //email page: "http://www.ecn.org/xm24/palestrina-libera/", //pagina su sito xm24 sn: "https://www.fb.com/palestrapopolarestevenson", //social network }, { collettivo: "Lab57 Alchemica", dshort: "Ascolto psicologico e punto di primo soccorso", dlong: "Ascolto psicologico e punto di primo soccorso per evitare le "+ "conseguenze dannose provocate dall’abuso di sostanze psicoattive "+ "legali ed illegali o più in generale causate da comportamenti e "+ "stili vita a rischio", when : [ {day: "Giov", hour: ["19:00", "23:00"], title:"Sportello consulenza antipro"}, ], old_event: "", //un vecchio evento site: "http://lab57.indivia.net", //sito personale contatto : "lab57@indivia.net", //email page: "http://www.ecn.org/xm24/alchemicalab57/", //pagina su sito xm24 sn: "", //social network }, { collettivo: "Campi aperti", dshort: "Associazione fatta da agricoltori e consumatori che sostiene l’agricoltura biologica e contadina.", dlong: "Per noi di CampiAperti realizzare la sovranità alimentare nelle città "+ "significa difendere la piccola agricoltura contadina nelle campagne "+ "creando una relazione diretta tra chi produce e chi consuma. "+ "Questo progetto per noi è il punto di partenza per la costruzione di"+ " una alternativa al sistema economico dominante.", when : [ {day: "Gio", hour: ["16.30", "21:00"], title:"Mercatino Biologico"}, ], old_event: "", //un vecchio evento site: "http://www.campiaperti.org/", //sito personale contatto : "frigotecniche@indivia.net", //email page: "http://www.campiaperti.org/chi-siamo/", //pagina su sito xm24 sn: "", //social network }, { collettivo: "Frigotecniche", dshort: "Laboratori di sperimentazione musicale", dlong: "Alcuni gruppi promotori del lab sono: Dune, Mother propaganda, Kaatu verata nikto, "+ "Stormo, G.I.JOE, Grindine. "+ "Alcune etichette Xhol Records, In limine Records, Donnabavosa REcords", when : [ ], old_event: "", //un vecchio evento site: "", //sito personale contatto : "frigotecniche@indivia.net", //email page: "http://www.ecn.org/xm24/frigotecniche/", //pagina su sito xm24 sn: "", //social network }, { collettivo: "Xm24", dshort: "Spazio pubblico autogestito", dlong: "Crogiulo di opinioni, interessi, speranze. Ostinatamente dietro la barricata.", when : [ {day: "Mar", hour: ["20.30", "24:30"], title:"Assemblea pubblica Xm24"}, ], site: "http://www.ecn.org/xm24/", //sito personale }, { collettivo: "No Borders", dshort: "Lottiamo contro tutte le frontiere, fisiche e immaginarie, e siamo per la libertà di movimento di tutti e tutte.", dlong: "L’assemblea Bologna No Borders nasce in seguito all’esperienza del "+ "presidio di Ventimiglia e fa parte della rete No Borders, "+ "che è presente in tante città Italiane e europee ed è attiva in "+ "molti luoghi di frontiera.", when : [ {day: "Mer", hour: ["20.00", "22:00"], title:"Assemblea No Borders"}, ], old_event: "", //un vecchio evento site: "", //sito personale contatto : "", //email page: "", //pagina su sito xm24 }, { collettivo: "Sportello medico giuridico MEDERÌ", dshort: "Consulenza medica e legale in materia di immigrazione", dlong: "Rivendichiamo il diritto di ciascuno di essere libero di scegliere "+ "dove spostarsi e stabilirsi a prescindere dalla provenienza e senza "+ "subire discriminazioni. Rifiutiamo che il fenomeno migratorio sia "+ "trattato come un problema di ordine pubblico oppure limitato dalle "+ "esigenze economiche di un paese.", when : [ {day: "Lun", hour: ["19.00", "21:00"], title:"Sportello medico giuridico"}, ], old_event: "", //un vecchio evento site: "", //sito personale contatto : "sportellomedicogiuridico@xm24.indivia.net", //email page: "http://www.ecn.org/xm24/sportello-medico-legale/", //pagina su sito xm24 } ]; var sortHours = function(a, b){ return a.hour[0] < b.hour[0] || (a.hour[0] == b.hour[0] && a.hour[1] < b.hour[1]) ? -1 : 1; }; var sortDay = function(arr){ var sorted = []; if(arr.lun) sorted.push(arr.lun); if(arr.mar) sorted.push(arr.mar); if(arr.mer) sorted.push(arr.mer); if(arr.gio) sorted.push(arr.gio); if(arr.ven) sorted.push(arr.ven); if(arr.sab) sorted.push(arr.sab); if(arr.dom) sorted.push(arr.dom); return sorted; }; var init = true; PROJECT.hr = "
"; var getLabelUrl = function(url){ var label = url.replace(/(http|https):\/\/(www\.)*/,'') .replace(/\/\s*$/, ""); //l'ultima barra return label; }; PROJECT.getHtmlA = function(label, url, _class, isMail) { if(!url) return ""; _class = _class || ""; var link = isMail ? "mailto:" + url : url; return "" + label + ""+ "" + getLabelUrl(url) + "" + "
"; }; PROJECT.getHtmlDate = function(evt, noDay) { if(evt) { var day = ! noDay ? "" + evt.day + "" + " " : ""; return "" + day + "" + evt.hour[0] + "" + " - " + "" + evt.hour[1] + " " + "" + " : " + evt.title + " "; } else { return ""; } }; PROJECT.labOrder = function(lab){ var events = ""; for(var e = 0; e < lab.when.length; e++) { events += "
  • " + PROJECT.getHtmlDate(lab.when[e]) + "
  • "; } if(events !== '') { events = "Orari:"+ ""; } var li = "
  • "+ "

    " + lab.collettivo + "

    "+ "

    " + lab.dshort + "

    "+ PROJECT.getHtmlA("Url: ", lab.page) + PROJECT.getHtmlA("Sito: ", lab.site) + PROJECT.getHtmlA("Email: ", lab.contatto, null, true) + PROJECT.getHtmlA("Social: ", lab.sn)+ "
    " + events + PROJECT.hr + "
  • "; return li; }; PROJECT.todayOrder = function(todayEvents, lab, day){ for(var e = 0; e < lab.when.length; e++) { //Comparo in minuscolo così son sicuro di matchare in ogni modo in cui è scritto nel json if(lab.when[e].day.toLowerCase() == day) { todayEvents.push(lab.when[e]); } } }; PROJECT.todayRender = function(todayEvents){ var events=""; todayEvents.sort(sortHours); for(var i = 0, len = todayEvents.length; i < len; i++) { var hr = i == len - 1 ? "" : PROJECT.hr; events += "
  • " + PROJECT.getHtmlDate(todayEvents[i], true) + hr + "
  • "; } if(todayEvents.length === 0) { events = "Oggi non sono previsti laboratori o assemblee."; } else { events = "

    OGGI: " + moment().format('DD/MM/YYYY') + "

    "; } return events; }; PROJECT.dateRender = function(date) { date.sort(sortHours); var dates = "

    " + date[0].day.toUpperCase() + "

    "; dates += ""; return dates; }; PROJECT.dateOrder = function(dayEvents, lab) { for(var e = 0; e < lab.when.length; e++) { var day = lab.when[e].day.toLowerCase(); if(! dayEvents[day]) dayEvents[day] = []; dayEvents[day].push(lab.when[e]); } }; PROJECT.render = function() { var day = moment().format("ddd").toLowerCase(); //var day = "mar"; //DEBUG var lab = "", date = "", today = ""; var todayEvents = [], dayEvents = []; for(var l = 0, labLen = PROJECT.labs.length; l < labLen; l++) { PROJECT.todayOrder(todayEvents, PROJECT.labs[l], day); lab += PROJECT.labOrder(PROJECT.labs[l]); PROJECT.dateOrder(dayEvents, PROJECT.labs[l]); } //------ TODAY ORDER today += PROJECT.todayRender(todayEvents); $('#today p').empty(); $('#today p').html(today); //------ DAY ORDER dayEvents = sortDay(dayEvents); for(var k in dayEvents) { date += PROJECT.dateRender(dayEvents[k]); } $('#mydate p').empty(); $('#mydate p').html(date); //------ LAB ORDER $('#project p').empty(); $('#project p').html(""); init = false; };