+
+
+
+
+ +
+ + +
+
+
+ + + + + + + + +
+ + +
+

"" | +

+ + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + query("SELECT COUNT(*) FROM plugin_track_footprint"); + $total = $countStmt->fetchColumn(); + $totalPages = ceil($total / $pageSize); + + $stmt = $db->prepare("SELECT * FROM plugin_track_footprint + ORDER BY date DESC, created_at DESC + LIMIT ? OFFSET ?"); + $stmt->execute(array($pageSize, $offset)); + $footprints = $stmt->fetchAll(PDO::FETCH_ASSOC); + } + + if (empty($footprints)) { + if ($searchPerformed && $searchKeyword) { + echo ''; + } else { + echo ''; + } + } else { + foreach ($footprints as $footprint) { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + + echo ''; + + echo ''; + + echo ''; + + // 关联文章列表显示 + echo ''; + + echo ''; + + echo ''; + } + } + } catch (PDOException $e) { + echo ''; + } + ?> + +
' . sprintf(_t('没有找到与"%s"相关的足迹'), htmlspecialchars($searchKeyword)) . '
' . _t('没有任何足迹') . '
' . $footprint['id'] . '' . ($footprint['name'] ?: '-') . '' . ($footprint['address'] ?: '-') . '' . ($footprint['location_type'] ?: '-') . ''; + if ($footprint['categories']) { + $categories = explode(',', $footprint['categories']); + foreach ($categories as $category) { + $category = trim($category); + $badgeClass = ''; + $categoryText = ''; + + switch($category) { + case 'visited': + $badgeClass = 'mytrack-categories-visited-badge'; + $categoryText = '去过'; + break; + case 'want': + $badgeClass = 'mytrack-categories-want-badge'; + $categoryText = '想去'; + break; + case 'plan': + $badgeClass = 'mytrack-categories-plan-badge'; + $categoryText = '计划'; + break; + default: + $badgeClass = 'mytrack-categories-badge'; + $categoryText = $category; + } + echo '' . $categoryText . ''; + } + } else { + echo '-'; + } + echo ''; + if ($footprint['rating_level'] && $footprint['rating_level'] > 0) { + echo '
'; + for ($i = 1; $i <= 5; $i++) { + if ($i <= $footprint['rating_level']) { + echo ''; + } else { + echo ''; + } + } + echo '
'; + } else { + echo '-'; + } + echo '
'; + if ($footprint['markerColor']) { + $colorDisplayClass = 'mytrack-marker-color-display-' . $footprint['markerColor']; + echo ''; + } else { + echo '-'; + } + echo ''; + if (!empty($footprint['highlights'])) { + $highlights = explode(',', $footprint['highlights']); + $displayCount = 0; + foreach ($highlights as $highlight) { + $highlight = trim($highlight); + if ($highlight) { + echo '' . htmlspecialchars($highlight) . ''; + $displayCount++; + if ($displayCount >= 3) { + echo '...'; + break; + } + } + } + } else { + echo '-'; + } + echo ''; + echo '' . _t('编辑') . ''; + echo ''; + echo '' . _t('删除') . ''; + echo '
' . _t('加载数据失败: ') . $e->getMessage() . '
+
+
+ +
+
    + 1) { + $currentPage = $currentPage; + $adminUrl = $options->adminUrl; + + echo '
  • '; + if ($currentPage > 1) { + $prevUrl = \Typecho\Common::url('extending.php?panel=MyTrack/Manage.php&page=' . ($currentPage - 1), $adminUrl); + if ($searchKeyword) { + $prevUrl .= '&search=' . urlencode($searchKeyword); + } + echo '' . _t('上一页') . ''; + } else { + echo '' . _t('上一页') . ''; + } + echo '
  • '; + + for ($i = 1; $i <= $totalPages; $i++) { + echo '
  • '; + if ($i === $currentPage) { + echo '' . $i . ''; + } else { + $pageUrl = \Typecho\Common::url('extending.php?panel=MyTrack/Manage.php&page=' . $i, $adminUrl); + if ($searchKeyword) { + $pageUrl .= '&search=' . urlencode($searchKeyword); + } + echo '' . $i . ''; + } + echo '
  • '; + } + + echo '
  • '; + if ($currentPage < $totalPages) { + $nextUrl = \Typecho\Common::url('extending.php?panel=MyTrack/Manage.php&page=' . ($currentPage + 1), $adminUrl); + if ($searchKeyword) { + $nextUrl .= '&search=' . urlencode($searchKeyword); + } + echo '' . _t('下一页') . ''; + } else { + echo '' . _t('下一页') . ''; + } + echo '
  • '; + } + ?> +
+
+
+