AGGIORNAMENTO : 7 Novembre 2025 - 10:52
14.5 C
Napoli
AGGIORNAMENTO : 7 Novembre 2025 - 10:52
14.5 C
Napoli

Città della scienza, nominato segretario generale Russo

Ascolta questo articolo ora...
Caricamento in corso...

L'Assemblea dei Soci di Città della Scienza questa mattina ha eletto all'unanimità il nuovo Segretario Generale Giuseppe Russo.

Potrebbe interessarti

Leggi di più suCronaca Napoli
Il mandato è legato al commissariamento della Fondazione. Nato a Portici nel 1969, ha iniziato l'esperienza in Regione Campania nel 2005, dove ha rivestito numerosi incarichi dirigenziali, sia nell'ambito della programmazione che del sostegno alla Ricerca e all'innovazione. Negli anni è stato consigliere di amministrazione del Distretto ad alta Tecnologia per i materiali IMAST della società "Campania Innovazione" e Commissario delle Aziende per il diritto allo Studio delle università Federico II, Orientale e Parthenope."Citta' della Scienza dovra' svolgere un ruolo importante nella rigenerazione urbana di Bagnoli". A dirlo il ministro per la Coesione territoriale e del Mezzogiorno, Claudio De Vincenti, al termine della cabina di regia su Bagnoli in Prefettura a NAPOLI, parlando del ricorso presentato da Citta' della Scienza contro l'accordo tra Governo, Comune di NAPOLI e Regione Campania sul progetto di rigenerazione urbana di Bagnoli. "Noi siamo aperti alla massima collaborazione con Citta' della Scienza - dice il ministro - ma riteniamo infondato il ricorso e speriamo entri presto nel percorso che abbiamo avviato. Per noi non c'e' alcun problema con Citta' della Scienza, anzi abbiamo l'esigenza che partecipi a questo processo". Che poi aggiunge: "Mentre vanno avanti le attivita' in parte concluse come la rimozione dell'Eternit e la messa in sicurezza della colmata, per procedere alla bonifica integrale dell'area c'e' l'esigenza che si arrivi al dissequestro dell'area in modo da poter operare pienamente. Adesso e' chiaro cosa c'e' e cosa non c'e' nei terreni. Bisogna arrivare il piu' presto possibile al dissequestro per procedere al risanamento definitivo di Bagnoli".

Articolo pubblicato il 21 Dicembre 2017 - 18:28 - Redazione Cronaca

Notizie del giorno

Primo piano

Podcast

  • Napoli, il giallo del venditore ambulante trovato morto a San Giovanni a Teduccio

  • Afragola, segregata in casa e imbottita di farmaci, la salva un SMS alla prof

  • Napoli, parcheggiatore abusivo minaccia anziani: "10 euro o vi brucio l'auto". Arrestato

Clicca su icona o titolo per aprire i controlli
Ascolta gli altri episodi su Spreaker!
'.esc_html__('Impostazioni','default').''; array_unshift($links, $settings_link); return $links; } /** ---------------- Settings ---------------- */ public function register_settings() { $defaults = [ 'enabled' => 1, 'triggers' => ".vm_player_container\ndiv[id^=\"vr-\"].vr.vip\n.vr.vip\n.vr.js.vip", 'targets' => "#HB_Footer_Close_hbagency_space_30939", 'delay_ms' => 300, 'log' => 1, ]; if (!get_option(self::OPT_KEY)) { add_option(self::OPT_KEY, $defaults); } register_setting('sv_dth_group', self::OPT_KEY, [ 'type' => 'array', 'sanitize_callback' => [$this, 'sanitize_options'], 'default' => $defaults, ]); add_settings_section('sv_dth_main', 'Impostazioni principali', function () { echo '

Definisci i selettori che innescano la comparsa e il ripristino degli elementi di destinazione. Il controllo avviene in tempo reale con MutationObserver.

'; }, self::PAGE_SLUG); add_settings_field('enabled', 'Abilita controllo', [$this, 'field_enabled'], self::PAGE_SLUG, 'sv_dth_main'); add_settings_field('triggers', 'Selettori trigger', [$this, 'field_triggers'], self::PAGE_SLUG, 'sv_dth_main'); add_settings_field('targets', 'Selettori target da nascondere', [$this, 'field_targets'], self::PAGE_SLUG, 'sv_dth_main'); add_settings_field('delay_ms', 'Ritardo avvio (ms)', [$this, 'field_delay'], self::PAGE_SLUG, 'sv_dth_main'); add_settings_field('log', 'Log su console', [$this, 'field_log'], self::PAGE_SLUG, 'sv_dth_main'); } public function sanitize_options($opts) { $out = []; $out['enabled'] = empty($opts['enabled']) ? 0 : 1; $out['log'] = empty($opts['log']) ? 0 : 1; $out['delay_ms'] = isset($opts['delay_ms']) ? max(0, intval($opts['delay_ms'])) : 0; foreach (['triggers','targets'] as $key) { $raw = isset($opts[$key]) ? (string)$opts[$key] : ''; $parts = preg_split('/[\r\n,]+/', $raw); $clean = []; foreach ($parts as $p) { $p = trim($p); if ($p !== '') $clean[] = $p; } $out[$key] = implode("\n", array_unique($clean)); } return $out; } public function field_enabled() { $o = get_option(self::OPT_KEY); ?>

Uno per riga o separati da virgola. Se presente almeno uno, i target vengono nascosti.

Selettori degli elementi da nascondere/ripristinare (uno per riga o separati da virgola).

Ritardo prima di avviare l’osservazione (ms).

DOM Triggered Hider

split_lines($o['triggers'] ?? ''); $targets = $this->split_lines($o['targets'] ?? ''); if (empty($triggers) || empty($targets)) return; $cfg = [ 'enabled' => true, 'triggers' => $triggers, 'targets' => $targets, 'delay' => intval($o['delay_ms'] ?? 0), 'log' => !empty($o['log']), ]; wp_register_script('sv-dth', '', [], '1.0.2', true); wp_enqueue_script('sv-dth'); $js = '(function(){ var cfg = '.wp_json_encode($cfg).'; if(!cfg || !cfg.enabled){ return; } var triggerSel = (cfg.triggers||[]).join(",").trim(); var targetSel = (cfg.targets||[]).join(",").trim(); var delay = parseInt(cfg.delay||0,10)||0; var log = !!cfg.log; function logInfo(){ if(log) console.log.apply(console, ["[SV-DTH]"].concat([].slice.call(arguments))); } function logWarn(){ if(log) console.warn.apply(console, ["[SV-DTH]"].concat([].slice.call(arguments))); } function logErr(){ if(log) console.error.apply(console, ["[SV-DTH]"].concat([].slice.call(arguments))); } if(!triggerSel){ logWarn("Nessun selettore trigger configurato."); return; } if(!targetSel){ logWarn("Nessun selettore target configurato."); return; } try { var st = document.createElement("style"); st.textContent = ".svdom-hidden{display:none !important;}"; document.head.appendChild(st); } catch(e){ logErr("Errore iniezione stile:", e); } function qsa(sel, root){ root = root || document; try { return Array.prototype.slice.call(root.querySelectorAll(sel)); } catch(e){ logErr("Selettore non valido:", sel, e); return []; } } function anyTriggerPresent(){ return qsa(triggerSel).length > 0; } function hideTargets(){ qsa(targetSel).forEach(function(el){ if(!el) return; if(!el.dataset) el.dataset = {}; if(!el.dataset.svHidden){ el.dataset.svHidden = "1"; el.classList.add("svdom-hidden"); logInfo("Nascondo target", el); } }); } function showTargets(){ qsa(targetSel).forEach(function(el){ if(!el) return; if(el.dataset && el.dataset.svHidden){ delete el.dataset.svHidden; el.classList.remove("svdom-hidden"); logInfo("Ripristino target", el); } }); } function applyState(){ anyTriggerPresent() ? hideTargets() : showTargets(); } function start(){ applyState(); var obs; try{ obs = new MutationObserver(function(){ applyState(); }); obs.observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ["class","style","id"] }); logInfo("Observer avviato. Trigger:", triggerSel, " Target:", targetSel); } catch(e){ logErr("Errore avvio observer:", e); } window.__sv_dth = { apply: applyState, stop: function(){ if(obs){ obs.disconnect(); logInfo("Observer fermato."); } }, start: start }; } if(delay>0){ setTimeout(start, delay); } else { start(); } })();'; wp_add_inline_script('sv-dth', $js, 'after'); } private function split_lines(string $s): array { $parts = preg_split('/[\r\n,]+/', (string)$s); $out = []; foreach ($parts as $p) { $p = trim($p); if ($p !== '') $out[] = $p; } return array_values(array_unique($out)); } } new SV_Dom_Triggered_Hider();