=== Hasibshah Attendance ===

Contributors: hasibshah
Tags: zkteco, attendance, biometric, employee attendance, time attendance
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Integrates a ZKTeco K50-A biometric attendance device with WordPress over LAN and syncs attendance logs.

== Description ==

Integrates a ZKTeco K50-A biometric attendance device with WordPress over LAN and syncs attendance logs. This plugin provides a complete dashboard to monitor your employees' attendance directly from WordPress.

Disclaimer: This plugin is an independent third-party tool developed by Hasib Shah and is not affiliated with, endorsed by, authorized, or sponsored by ZKTeco Inc. ZKTeco is a trademark of its respective owner.

== Features ==

* Direct LAN connection to ZKTeco biometric devices.
* Sync attendance logs directly into WordPress.
* Automatic attendance summary calculation (present, absent, late).
* Support for shift times, holidays, and grace periods.
* Comprehensive employee management system.
* Built-in leave management (Sick leave, Paid leave, etc.).
* Export attendance reports to CSV.
* Raw device log viewer for debugging and tracking.
* Cron-based automatic background synchronization.

== External services ==

This plugin uses Gravatar (an Automattic service) to provide fallback avatar images for employees in attendance reports and employee summaries when a local custom profile image has not been uploaded.

* **Service Name**: Gravatar (by Automattic)
* **What it is used for**: Displaying fallback avatar images in admin attendance reports and monthly report summaries when an employee does not have an uploaded profile photo.
* **What data is sent**: Standard WordPress `get_avatar_url()` requests send an identifier or hashed string to Gravatar image servers (`secure.gravatar.com`) as part of the image URL query.
* **When it is contacted**: The service is contacted by the administrator's browser when viewing attendance and monthly report pages if an employee record has no local custom profile image.
* **Why it is used**: To provide visual identification for employee records across attendance reports without requiring manual image uploads for each employee.
* **Terms of Service**: https://gravatar.com/terms-of-service/ (and Automattic Terms of Service: https://automattic.com/tos/)
* **Privacy Policy**: https://automattic.com/privacy/

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/hasibshah-attendance` directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Navigate to the 'ZKTeco Attendance' menu to configure the device connection.

== Configuration ==

1. Go to 'ZKTeco Attendance' -> 'Device Settings'.
2. Enter the IP address and Port of your ZKTeco device (must be on the same network).
3. Set your global office start time and grace time.
4. Click "Test Connection" to ensure WordPress can communicate with the device.

== Frequently Asked Questions ==

= Does it support all ZKTeco devices? =
It has been specifically built for the ZKTeco K50-A, but it generally supports devices that use standard ZKTeco UDP/TCP protocols via port 4370.

= Why is my attendance not syncing? =
Make sure the WordPress server can ping the ZKTeco device over the local network and that the specified port is open.

== Changelog ==

= 1.0.0 =
* Initial release.
