Pith - miter
miter/front/pin.php [8.5 kb]
Modified: 17:48:02 114 026 (11 Jul 026)
14 Days Ago
<?php
$pin_url_txt = $user_pin ?? '';
$pin_get = 'miters/' . $pin_url_txt . '.txt';

if (file_exists($pin_get)) {
	$pin_arc = file($pin_get, FILE_IGNORE_NEW_LINES);
	
	$pin_data  = $pin_arc[0] ?? '';
	$pin_link  = $pin_arc[1] ?? '';
	$pin_img   = $pin_arc[2] ?? '';
	$pin_keys  = $pin_arc[3] ?? '';
	$pin_odate = $pin_arc[4] ?? '';
	$pin_gdate = $pin_arc[5] ?? '';
	$pin_udate = $pin_arc[6] ?? '';
    
	$pin = htmlspecialchars($pin_data, ENT_QUOTES, 'UTF-8');
	$pin = str_replace('&#039;', '\'', $pin); 
	$pin = str_replace(['&lt;br /&gt;', '&lt;br&gt;'], '<br />', $pin);
	
	$pin = preg_replace('/(?<!\w)#([0-9a-zA-Z]+)/m', '<a href="index.php?q=$1">#$1</a>', $pin);
	$pin = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>$1</b>', $pin);
	$pin = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>$1</i>', $pin);
	$pin = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>$1</u>', $pin);
	$pin = preg_replace('#\[s\](.*?)\[/s\]#si', '<s>$1</s>', $pin);
	
	$pin = preg_replace_callback('#\[img\](.*?)\[/img\]#si', function($match) {
		$url = filter_var($match[1], FILTER_SANITIZE_URL);
		return '<a href="' . htmlspecialchars($url, ENT_QUOTES, 'UTF-8') . '" target="_blank"><img src="' . htmlspecialchars($url, ENT_QUOTES, 'UTF-8') . '"></a>';
	}, $pin);

	$pin = preg_replace_callback('#\[url\](.*?)\[/url\]#si', function($match) {
		$url = filter_var($match[1], FILTER_SANITIZE_URL);
		return '<a href="' . htmlspecialchars($url, ENT_QUOTES, 'UTF-8') . '" target="_blank">' . htmlspecialchars($match[1], ENT_QUOTES, 'UTF-8') . '</a>';
	}, $pin);

	$pin = str_replace('[hr]', '<hr />', $pin);
	
	if (strpos($pin, '&gt;') === 0) {
		$pin = preg_replace('/&gt;([^<]*)/m', '<span class="green_text">&gt;$1</span>', $pin, 1);
	}
	$pin = preg_replace('/<br \/>&gt;([^<]*)/m', '<br /><span class="green_text">&gt;$1</span>', $pin);
	
	$safe_username = htmlspecialchars($user_name ?? '', ENT_QUOTES, 'UTF-8');
	$safe_url_txt  = htmlspecialchars($pin_url_txt, ENT_QUOTES, 'UTF-8');
	$safe_odate    = htmlspecialchars($pin_odate, ENT_QUOTES, 'UTF-8');
	$safe_pin_link = htmlspecialchars(str_replace('gifv', 'mp4', $pin_link), ENT_QUOTES, 'UTF-8');
	
	try {
		$p_start = new DateTime('now');
		$p_end   = new DateTime($pin_gdate ?: 'now');
		$p_dif   = $p_start->diff($p_end);
		$p_d     = $p_dif->days;

		if ($p_d < 1) {
			$p_since = ($p_dif->h < 1) ? $p_dif->i . "m" : $p_dif->h . "h";
		} else {
			if ($p_d > 365) {
				$p_y = floor($p_d / 365);
				$p_since = $p_y . 'y ' . ($p_d - ($p_y * 365)) . 'd';
			} else {
				$p_since = $p_d . 'd';
			}
		}
	} catch (Exception $e) {
		$p_since = 'unknown';
	}
?>

<div class="m_table">
	<div class="m_td">
		
		<span class="name"><?= $safe_username ?> &middot; <?= $p_since ?></span><br />
		<div class="space_name"></div>
		
		<span class="miter_text"><?= $pin ?></span><br />

		<?php if (!empty($pin_img)): ?>
			<a href="<?= htmlspecialchars($pin_img, ENT_QUOTES, 'UTF-8') ?>" target="_blank">
				<img src="uploads/<?= htmlspecialchars($pin_img, ENT_QUOTES, 'UTF-8') ?>" class="embed_img" alt="">
			</a>
			<div class="space_img_bot"></div>
		<?php endif; ?>
		
		<?php if (!empty($pin_link)): ?>
			<?php if (strpos($pin_link, 'youtube.com/') !== false || strpos($pin_link, 'youtu.be/') !== false): 
				$pin_link = str_replace('shorts/', 'watch?v=', $pin_link);
				if (empty($pin_img) && preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $pin_link, $yt_match)): 
			?>
					<div class="embed_yt_iso">
						<iframe src="https://www.youtube.com/embed/<?= htmlspecialchars($yt_match[1], ENT_QUOTES, 'UTF-8') ?>" frameborder="0" allowfullscreen class="yt"></iframe>
					</div>
					<div class="space_img_bot"></div>
				<?php endif; ?>
			
			<?php elseif (preg_match('/\.(mp4|webm)$/i', $pin_link, $vid_match)): 
				if (empty($pin_img)): ?>
					<div class="embed_yt_iso">
						<video class="video_miter" controls><source src="<?= $safe_pin_link ?>" type="video/<?= strtolower($vid_match[1]) ?>"></video>
					</div>
					<div class="space_img_bot"></div>
				<?php endif; ?>
				
			<?php elseif (preg_match('/\.(jpg|jpeg|png|gif|svg|webp|jfif|apng|avif)$/i', $pin_link)): 
				if (empty($pin_img)): ?>
					<a href="<?= $safe_pin_link ?>" target="_blank"><img src="<?= $safe_pin_link ?>" class="embed_img" alt=""></a>
					<div class="space_img_bot"></div>
				<?php endif; ?>
				
			<?php elseif (strpos($pin_link, 'index.php?miter=') !== false): 
				$quote_p_link = str_replace('index.php?miter=', 'miters/', $pin_link) . '.txt';
				if (file_exists($quote_p_link)):
					$quote_p_arc = file($quote_p_link, FILE_IGNORE_NEW_LINES);
					$quote_p = htmlspecialchars($quote_p_arc[0] ?? '', ENT_QUOTES, 'UTF-8');
					$quote_p = str_replace(['&lt;br /&gt;', '&lt;br&gt;'], '<br />', $quote_p);
					$quote_p = preg_replace_callback('@(https?://([-\w\.]+)+(:\d+)?(/([-\w/_\.]*(\?\S+)?)?)?)@', function($w) { 
						return '<a href="'.htmlspecialchars($w[1], ENT_QUOTES, 'UTF-8').'" target="_blank">'.htmlspecialchars(substr($w[1], 0, 30), ENT_QUOTES, 'UTF-8').'..</a>'; 
					}, $quote_p);
					
					$quote_p = preg_replace('/(?<!\S)#([0-9a-zA-Z]+)/m', '<a href="index.php?q=$1">#$1</a>', $quote_p);
					$quote_p = preg_replace('#\[b\](.*?)\[/b\]#', '<b>$1</b>', $quote_p);
					$quote_p = preg_replace('#\[i\](.*?)\[/i\]#', '<i>$1</i>', $quote_p);
					$quote_p = preg_replace('#\[u\](.*?)\[/u\]#', '<u>$1</u>', $quote_p);
					$quote_p = preg_replace('#\[s\](.*?)\[/s\]#', '<s>$1</s>', $quote_p);
					$quote_p = str_replace('[hr]', '<hr />', $quote_p);
					
					if (substr($quote_p, 0, 4) === '&gt;') $quote_p = preg_replace('/&gt;([^<]*)/m', '<span class="green_text">&gt;$1</span>', $quote_p, 1); 
					$quote_p = preg_replace('/<br \/>&gt;([^<]*)/m', '<br /><span class="green_text">&gt;$1</span>', $quote_p);
					
					$quote_page_contents_p = @file_get_contents($pin_link);
					$quote_p_user = ($quote_page_contents_p && preg_match("/<title>(.+)<\/title>/i", $quote_page_contents_p, $m)) ? str_replace('Miter -', '', $m[1]) : '';
					
					$q_end_p = new DateTime($quote_p_arc[5] ?? 'now');
					$q_dif_p = (new DateTime('now'))->diff($q_end_p);
					$q_since_p = ($q_dif_p->days < 1) ? (($q_dif_p->h < 1) ? $q_dif_p->i . "m" : $q_dif_p->h . "h") : $q_dif_p->days . "d";
			?>
					<div class="quote_container">
						<span class="name">@<?= htmlspecialchars(trim($quote_p_user), ENT_QUOTES, 'UTF-8') ?> &middot; <?= $q_since_p ?></span><br />
						<div class="quote_name"></div>
						<?= $quote_p ?><br />
						<div class="quote_permalink"></div>
						
						<a href="<?= $safe_pin_link ?>" target="_blank" class="permalink" style="color:silver;">
							<?= htmlspecialchars($quote_p_arc[4] ?? '', ENT_QUOTES, 'UTF-8') ?>
							<?= (($quote_p_arc[6] ?? '') > ($quote_p_arc[5] ?? '')) ? ' &#177;' : '' ?>
						</a>
					</div>
				<?php endif; ?>
				
			<?php else: ?>
				<div class="link_container-div">
					<a href="<?= $safe_pin_link ?>" target="_blank"><?= $safe_pin_link ?></a>
				</div>
			<?php endif; ?>
		<?php endif; ?>  
		
		<a href="index.php?miter=<?= $safe_url_txt ?>" class="permalink" style="color:silver;">
			<?= $safe_odate ?><?= ($pin_udate > $pin_gdate) ? ' &#177;' : '' ?>
		</a><br />
		
		<div class="footer_table-div">
			<div class="footer_left-div">
				<?php if (($login ?? false) === true): 
					$q_host = htmlspecialchars($_SERVER['HTTP_HOST'] ?? '', ENT_QUOTES, 'UTF-8');
				?>
					<a href="index.php?quote=https://<?= $q_host ?>/index.php?miter=<?= $safe_url_txt ?>"><img src="buttons/quote.png" class="footer_img_left" title="Quote" alt="Quote"></a>
				<?php else: ?>
					<img src="buttons/quote.png" class="footer_img_left" title="Quote" alt="Quote">
				<?php endif; ?>
				
				<img src="buttons/like.png" class="footer_img" title="Like" alt="Like">
				<a href="index.php?miter=<?= $safe_url_txt ?>"><img src="buttons/share.png" class="footer_img" title="Share" alt="Share"></a>
				<img src="buttons/pin.png" class="footer_img" title="Pinned" alt="Pinned">
				
				<?php if (($login ?? false) === true): ?>
					<a href="back/miter/delete.php?d=<?= $safe_url_txt ?>" onclick="return confirm_delete()"><img src="buttons/delete.png" class="footer_img" title="Delete" alt="Delete"></a>
					<a href="index.php?edit=<?= $safe_url_txt ?>"><img src="buttons/edit.png" class="footer_img" title="Edit" alt="Edit"></a>
					<a href="back/miter/pin.php"><img src="buttons/pin.png" class="footer_img" title="Unpin" alt="Unpin"></a>
				<?php endif; ?>
			</div>
		</div>

	</div>
</div>

<?php 
} 
?>
Updates
Wedge - Android 126.026
Wedge - Linux 124.026
Shim - Android 117.026
Miter - 114.026
Kerf - Android 112.026
Dev
TVShow (227) 'CSA'
TVShow (228) 'APT'
TVProgram (83) 'BXT'
Miter Update(s)
Peen (Messaging)

Menu
Calendar
Project Tin (024/029)
Miter
RSS Feed
User Avatar
@vgmlr
=SUM(parts)