Pith - miter
miter/front/echo.php [6.9 kb]
Modified: 17:48:02 114 026 (11 Jul 026)
14 Days Ago
<?php
    $m_data   = $grab[0] ?? ''; // miter
    $m_link   = $grab[1] ?? ''; // link image video
    $m_img    = $grab[2] ?? ''; // upload
    $m_keys   = $grab[3] ?? ''; // keywords
    $m_odate  = $grab[4] ?? ''; // otc date
    $m_gdate  = $grab[5] ?? ''; // gregorian date
    $m_udate  = $grab[6] ?? ''; // update date

    // permalink address build
    $o_perm = str_replace(['miters/', '.txt'], '', $miter_content ?? '');
    $safe_o_perm = urlencode($o_perm);

    $miter = htmlspecialchars($m_data, ENT_QUOTES, 'UTF-8');
    $miter = str_replace('&#039;', '\'', $miter); // dumb solution
    $miter = str_replace(['&lt;br&gt;', '&lt;br /&gt;'], '<br>', $miter); // older content
    
    $miter = preg_replace('/(?<!\w)#([0-9a-zA-Z]+)/m', '<a href="index.php?q=$1">#$1</a>', $miter);
    $miter = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>$1</b>', $miter);
    $miter = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>$1</i>', $miter);
    $miter = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>$1</u>', $miter);
    $miter = preg_replace('#\[s\](.*?)\[/s\]#si', '<s>$1</s>', $miter);
    
    $miter = preg_replace_callback('#\[img\](.*?)\[/img\]#si', function($match) {
        $url = filter_var($match[1], FILTER_SANITIZE_URL);
        return '<a href="' . htmlspecialchars($url, ENT_QUOTES) . '" target="_blank"><img src="' . htmlspecialchars($url, ENT_QUOTES) . '"></a>';
    }, $miter);

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

    $miter = str_replace('[hr]', '<hr />', $miter);
    
    if (strpos($miter, '&gt;') === 0) {
        $miter = preg_replace('/&gt;([^<]*)/m', '<span class="green_text">&gt;$1</span>', $miter, 1);
    }
    $miter = preg_replace('/<br>&gt;([^<]*)/m', '<br><span class="green_text">&gt;$1</span>', $miter);

    // time since calculator
    try {
        $d_start = new DateTime('now');
        $d_end   = new DateTime($m_gdate ?: 'now');
        $d_dif   = $d_start->diff($d_end);
        $d_d     = $d_dif->days;

        if ($d_d < 1) {
            $d_since = ($d_dif->h < 1) ? $d_dif->i . "m" : $d_dif->h . "h";
        } else {
            if ($d_d > 365) {
                $d_y = floor($d_d / 365);
                $d_y_d = $d_d - ($d_y * 365);
                $d_since = $d_y . 'y ' . $d_y_d . 'd';
            } else {
                $d_since = $d_d . 'd';
            }
        }
    } catch (Exception $e) {
        $d_since = 'unknown';
    }
?>

<div class="m_table">
    <div class="m_td">
        
        <span class="name"><?= htmlspecialchars($user_name ?? ' ', ENT_QUOTES) ?> &middot; <?= htmlspecialchars($d_since, ENT_QUOTES) ?></span><br>
        <div class="space_name"></div>
        
        <span class="miter_text"><?= $miter ?></span><br>

        <?php if (strlen($m_img) !== 0): ?>
            <div class="crop_container"><img src="images/<?= htmlspecialchars($m_img, ENT_QUOTES) ?>" alt=""></div>
            <div class="space_img"></div>
        <?php endif; ?>

        <?php if (strlen($m_img) === 0 && strlen($m_link) != 0): ?>
            <?php 
                $m_link = str_replace('gifv', 'mp4', $m_link);
                $escaped_link = htmlspecialchars($m_link, ENT_QUOTES);
            ?>

            <?php if (strpos($m_link, 'youtube.com/') !== false || strpos($m_link, 'youtu.be/') !== false): ?>
                <?php 
                    if (strpos($m_link, 'shorts/') !== false) {
                        $m_link = str_replace('shorts/', 'watch?v=', $m_link);
                    }
                    preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $m_link, $yt_match);
                ?>
                <?php if (!empty($yt_match[1])): ?>
                    <div class="embed_yt"><iframe src="https://www.youtube.com/embed/<?= htmlspecialchars($yt_match[1], ENT_QUOTES) ?>" frameborder="0" allowfullscreen class="yt"></iframe></div>
                    <div class="space_img"></div>
                <?php endif; ?>

            <?php elseif (preg_match('/\.(mp4|webm)$/i', $m_link, $video_match)): ?>
                <div class="embed_video">
                    <video class="video_miter" controls loop preload="metadata">
                        <source src="<?= $escaped_link ?>" type="video/<?= strtolower($video_match[1]) ?>">
                    </video>
                </div>
                <div class="space_img"></div>

            <?php elseif (preg_match('/\.(jpg|jpeg|png|gif|svg|webp|jfif|apng|avif)$/i', $m_link)): ?>
                <div class="crop_container"><img src="<?= $escaped_link ?>" alt=""></div>
                <div class="space_img"></div>

            <?php elseif (strpos($m_link, 'index.php?m=') !== false): ?>
                <?php include 'front/quote.php'; ?>

            <?php else: ?>
                <div class="link_container-div">
                    <a href="<?= $escaped_link ?>" target="_blank"><?= $escaped_link ?></a>
                </div>
            <?php endif; ?>
        <?php endif; ?>

        <div class="date_table-div">
            <a href="index.php?m=<?= $safe_o_perm ?>" class="permalink">
                <?= htmlspecialchars($m_odate, ENT_QUOTES) ?><?= ($m_udate > $m_gdate) ? ' &#177;' : '' ?>
            </a>
        </div>

        <div class="footer_table-div">
            <div class="footer_left-div">
                <?php if (($login ?? false) === true): ?>
                    <a href="index.php?quote=<?= $safe_o_perm ?>"><img src="images/icons/quote.png" class="footer_img_left" alt="Quote"></a>
                <?php else: ?>
                    <img src="images/icons/quote.png" class="footer_img_left" alt="Quote">
                <?php endif; ?>

                <img src="images/icons/like.png" class="footer_img" alt="Like">
                <a href="index.php?m=<?= $safe_o_perm ?>"><img src="images/icons/share.png" class="footer_img" alt="Share"></a>

                <?php if (($login ?? false) === true): ?>
                    <a href="back/miter/delete.php?d=<?= $safe_o_perm ?>" onclick="return confirm_delete()"><img src="images/icons/delete.png" class="footer_img" alt="Delete"></a>
                    <a href="index.php?edit=<?= $safe_o_perm ?>"><img src="images/icons/edit.png" class="footer_img" alt="Edit"></a>
                    <a href="back/miter/pin.php?m=<?= $safe_o_perm ?>"><img src="images/icons/pin.png" class="footer_img" alt="Pin"></a>
                    <a href="<?= htmlspecialchars($miter_content ?? '', ENT_QUOTES) ?>" target="_blank"><img src="images/icons/file.png" class="footer_img" alt="File"></a>
                <?php endif; ?>
            </div>
        </div>

    </div>
</div>
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)