WP Manifestindependent plugin directory
manifest / utilities / time-tracking

Time Tracking WP Registry grade A-. Low-severity findings · 1 findingWP RegistryLow-severity findings · 1 findingOpen the reportA-

Advanced time tracking plugin with drag-to-select calendar, category management, and detailed time logging for WordPress users.

★ 3stars
49release downloads
v3.9.12latest · 10mo ago

Install

Download time-tracking.zip From the v3.9.12 release on GitHub, Dec 4, 2025

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/sinanisler/time-tracking/releases/download/v3.9.12/time-tracking.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Calendar, Time Tracking and To-Do

Advanced time tracking plugin with drag-to-select calendar, category management, and detailed time logging for WordPress users.

image

Description

Time Tracking is a powerful and intuitive time management plugin for WordPress that helps users track their work hours, manage tasks, and monitor productivity.

Features

  • Interactive calendar with drag-to-select time blocks
  • Task management with detailed descriptions
  • Category system with color coding
  • Built-in timer for tracking time
  • User privacy - each user has their own private data
  • Customizable settings (working hours, timezone, dark mode)
  • Data export/import functionality
  • Translation ready

Installation

  1. Upload the time-tracking folder to /wp-content/plugins/
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Navigate to 'Time Tracking' in the WordPress admin menu
  4. Configure your settings and start tracking!

Releases

21 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v3.9.12 latest
Dec 4, 2025 10mo ago
time-tracking.zip
8
Dec 4, 2025 10mo ago
time-tracking.zip
2
Dec 4, 2025 10mo ago
time-tracking.zip
6
Dec 4, 2025 10mo ago
time-tracking.zip
2
Dec 4, 2025 10mo ago
time-tracking.zip
2
Dec 4, 2025 10mo ago
time-tracking.zip
4
Dec 4, 2025 10mo ago
time-tracking.zip
3
Dec 4, 2025 10mo ago
time-tracking.zip
1
Dec 4, 2025 10mo ago
time-tracking.zip
2
Dec 4, 2025 10mo ago
time-tracking.zip
2
Dec 4, 2025 10mo ago
time-tracking.zip
3
Dec 4, 2025 10mo ago
time-tracking.zip
1
Dec 4, 2025 10mo ago
time-tracking.zip
1
Dec 4, 2025 10mo ago
time-tracking.zip
1
Dec 4, 2025 10mo ago
time-tracking.zip
2
Dec 4, 2025 10mo ago
time-tracking.zip
1
Dec 4, 2025 10mo ago
time-tracking.zip
1
Dec 4, 2025 10mo ago
time-tracking.zip
1
Dec 4, 2025 10mo ago
time-tracking.zip
1
Dec 4, 2025 10mo ago
time-tracking.zip
2
Nov 14, 2025 11mo ago
time-tracking.zip
3
A- grade

Security

Time Tracking 3.9.12 · audited by WP Registry

Low-severity findings only.

1 low
Audited release
3.9.12
Findings
1
Worst severity
low
Content hash
ca243fe7134d34cfef7cec93…

Findings

  • low Unauthenticated CSRF on admin_init ?force-check=1 clears the plugin-update cache

    csrf

    time_tracking_force_update_check is hooked to admin_init with no current_user_can, nonce, or even is_user_logged_in. Any request that runs admin_init with GET force-check=1 (strict) calls delete_site_transient('update_plugins') then wp_redirect(remove_query_arg('force-check')) and exit. That includes: (1) a Subscriber loading wp-admin/profile.php?force-check=1; (2) an unauthenticated GET to wp-admin/admin-ajax.php?action=heartbeat&force-check=1 (admin-ajax.php fires admin_init for nopriv actions; can be triggered by an img src). The parameter name is the same one WordPress core uses on update-core.php / plugins.php, so this also intercepts an administrator's legitimate 'Check again' before core can refresh core/theme updates. Blast radius is a site-wide cache reset plus extra GitHub API traffic on the next pre_set_site_transient_update_plugins, not a settings or file write.

    includes/update-github.php:283-290

    Recommendation

    Remove this handler or gate it with current_user_can('update_plugins') plus check_admin_referer on a plugin-specific query arg (not force-check). Prefer delete_site_transient + wp_update_plugins() on the existing manage_options tt_check_for_updates AJAX action only.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.