=== TimeGuard - Freelancer Time Log Pro === Contributors: fredawd Tags: time tracking, time tracker, admin bar, invoicing, freelancers Requires at least: 6.0 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 1.1.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Time tracking for freelancers: admin-bar timer, manual entries, hourly rates, billable hours, earnings, and CSV export. == Description == TimeGuard (formerly Freelancer Time Log Pro) is a lightweight time tracker for freelancers who want to log work fast without leaving wp-admin. * Start / pause / resume timer in the WordPress admin bar * Draggable floating timer that survives page loads * Add entries by hand when you forgot to start the timer * Client + project assignment, ticket number, tag and description * Hourly rate per project, billable toggle per entry, automatic earnings * This week / this month / all time overview with summary cards * Project overview with total time, billable share and earnings * CSV export (all, per project, per client) * Delete single entries, a project's logged time, or everything Suggestions or feature requests? Reach out via https://www.alentejowebdesign.nl/ == Installation == 1. Upload the plugin folder to `/wp-content/plugins/` or install via the WordPress plugin screen. 2. Activate the plugin through the 'Plugins' menu in WordPress. 3. Go to **TimeGuard > Projects** and set up your clients, projects and hourly rates. 4. Use the Start/Stop button in the admin bar, or **New Entry** on the Entries screen. == Frequently Asked Questions == = Where are my time entries stored? = In your own WordPress database, in the table `wp_frtlp_time_entries`, per user. = Does uninstalling delete my time entries? = No. Uninstalling removes the plugin settings but deliberately leaves the entries table intact so billing history is never lost by accident. = Can I export my time entries? = Yes: all entries, per project, or per client, as CSV including rate and amount columns. = I upgraded from 1.0.x. Do I lose anything? = No. The database, option names and text domain are unchanged. Existing entries get the hourly rate you configure for their project. == Screenshots == 1. Entries overview with summary cards, rates and earnings 2. Projects overview with billable share per project 3. Admin bar timer and floating timer widget 4. Save-entry modal == Changelog == = 1.1.0 = * New: TimeGuard interface for the Entries and Projects screens. * New: hourly rate per project, billable flag per entry, automatic earnings. * New: add time entries manually, without using the timer. * New: tags on entries, week/month/all-time filtering and pagination. * New: rebuild the project list from your logged entries if it was ever emptied, and apply project rates to entries that do not have one yet. * Fixed: "Add project" and "Remove row" on the Projects screen did nothing, because the handler was never initialised and the client list was never loaded on that screen. * Fixed: a failed database write during Save no longer discards the tracked time. * Fixed: the tracked duration is now calculated server-side only and can no longer be overridden by the browser. * Fixed: the full site user list is no longer exposed on the Entries screen. * Fixed: projects whose names differ only in punctuation or casing no longer collapse into one another. * Fixed: CSS and JavaScript are versioned by plugin version again, so updates are no longer served from browser cache. * Fixed: invalid project rows now produce a warning instead of disappearing silently. * Fixed: the database upgrade now runs for whoever opens wp-admin first, instead of only for administrators, so non-admin users can never hit the new screens before the new columns exist. * Fixed: the plugin survives being executed more than once in the same request, which happens on stacks using OPcache preload or a loader that uses require() instead of require_once(). The class is declared conditionally and the plugin boots exactly once. * Removed: unused stop-save AJAX endpoint and dead cache helpers. = 1.0.3 = * Updated script loading and prefixed plugin identifiers for WordPress.org review compliance. = 1.0.2 = * Updated text domain and internationalization loading for WordPress.org compliance. = 1.0.0 = * Initial public release. == Upgrade Notice == = 1.1.0 = Interface overhaul plus rates and earnings. Fixes the broken "Add project" button and prevents time loss on failed saves. Your existing entries and settings are kept. = 1.0.3 = WordPress.org review compliance update.