123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396 |
- 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 = "<hr class='post-divider'>";
- 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 "<span class='e_link title "+_class+"'>" + label + "</span>"+
- "<a class='e_link e_url"+_class+"' href='" + link + "' rel='external'>" +
- getLabelUrl(url) +
- "</a>" +
- "<br>";
- };
- PROJECT.getHtmlDate = function(evt, noDay) {
- if(evt) {
- var day = ! noDay ? "<span class='e_day'>" + evt.day + "</span>" + " " : "";
-
- return "<small>" + day +
- "<span class='e_from'>" + evt.hour[0] + "</span>" + " - " +
- "<span class='e_to'>" + evt.hour[1] + "</span></small> " +
- "<span class='e_title'>" + " : " + evt.title + "</span> ";
- } else {
- return "";
- }
-
- };
- PROJECT.labOrder = function(lab){
- var events = "";
- for(var e = 0; e < lab.when.length; e++) {
- events += "<li>" + PROJECT.getHtmlDate(lab.when[e]) + "</li>";
- }
-
- if(events !== '') {
- events = "<small>Orari:</small>"+
- "<ul>" +
- events +
- "</ul>";
- }
-
- var li = "<li>"+
- "<p class='title'>" + lab.collettivo + "</p>"+
- "<p class='dshort'>" + lab.dshort + "</p>"+
- PROJECT.getHtmlA("Url: ", lab.page) +
- PROJECT.getHtmlA("Sito: ", lab.site) +
- PROJECT.getHtmlA("Email: ", lab.contatto, null, true) +
- PROJECT.getHtmlA("Social: ", lab.sn)+
- "<br>" +
- events +
- PROJECT.hr +
- "</li>";
-
- 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 += "<li>" +
- PROJECT.getHtmlDate(todayEvents[i], true) +
- hr +
- "</li>";
-
- }
-
- if(todayEvents.length === 0) {
- events = "<i>Oggi non sono previsti laboratori o assemblee.</i>";
- } else {
- events = "<p class='title'>OGGI: " + moment().format('DD/MM/YYYY') + "</p><ul>" + events + "</ul>";
- }
-
- return events;
- };
- PROJECT.dateRender = function(date) {
- date.sort(sortHours);
- var dates = "<p class='title'>" + date[0].day.toUpperCase() + "</p>";
- dates += "<ul>";
- for(var i = 0, len = date.length; i < len; i++) {
- var hr = i == len - 1 ? "" : PROJECT.hr;
- dates += "<li>" +
- PROJECT.getHtmlDate(date[i], true) +
- hr +
- "</li>";
- }
- dates += "</ul>";
-
- 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("<ul>" + lab + "</ul>");
-
- init = false;
- };
|