=== Orki Table Builder Pro ===
Contributors: swarnodigital
Tags: table, tables, shortcode, responsive table, table builder
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.15.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Create, style, and manage tables visually, then drop them anywhere with a shortcode or block.

== Description ==

Orki Table Builder Pro lets you build tables from your WordPress admin using a visual, spreadsheet-like editor — no code required. Style every part of the table (colors, borders, fonts, images, links), then insert it anywhere using a simple shortcode or the block editor.

Developed by Orki — https://orki.in

**Core features**

* Excel-style visual editor: column letters (A, B, C…) and row numbers (1, 2, 3…), click a heading to select a whole row or column; multi-select by dragging or with Shift/Ctrl+click
* Toolbar (top and bottom): cut/copy/paste, font/size, bold/italic/underline, fill and font color, alignment, merge/split (cells, whole rows, or whole columns), sort, find & replace, real Conditional Formatting rules
* Row and column management: insert/delete/duplicate/move, resize by dragging a header's edge, drag-and-drop reordering, and right-click context menus
* Image Column and Link Column — dedicated column types with WordPress Media Library integration for images and files
* Advanced Cell editor for rich HTML content (images, links, formatting) inside any standard cell, with a dedicated popup editor
* Table Categories, including a category-wide shortcode that lists every table in that category on one page, with drag-to-reorder priority
* Import: CSV from a file upload, a URL, a file already on your server, or pasted directly — as a new table, replacing an existing one, or appended to one
* Export: CSV, XLSX, and PDF, one table at a time or several at once bundled into a ZIP
* Frontend sorting, search/filter, pagination, sticky header, and first-column freezing
* Table name display with independent font, size, color, alignment, and bold/italic/underline
* Live Preview button before you publish anywhere
* Shortcode and Gutenberg block support

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`, or install the ZIP via Plugins → Add New → Upload Plugin.
2. Activate the plugin through the "Plugins" menu.
3. Go to Orki Table Builder in the admin menu and click "Add New" to build your first table.
4. Copy the shortcode shown in the "How to Add This Table" box, or insert the table using the Orki Table Builder Pro block.

== Frequently Asked Questions ==

= Does this work on mobile? =
Yes. Tables scroll horizontally on small screens by default, and you can freeze the first column so labels stay visible while scrolling.

= Can I import data from a spreadsheet? =
Yes — CSV import is fully supported, from a file upload, a URL, a file on your server, or pasted directly, either as a new table or into an existing one. XLSX/ODS/HTML/JSON import and live Google Sheets sync are not built yet.

== Screenshots ==

1. The visual table editor — spreadsheet-style grid, toolbar, and formatting options.
2. Appearance & Behavior settings for a table.
3. The frontend output of a published table.
4. The Import page.
5. The Export page.

(Note: these are caption placeholders only. The actual screenshot image files — screenshot-1.png, screenshot-2.png, etc. — need to be captured from a real, running install and added to the plugin's /assets/ directory in the WordPress.org SVN repository; they're separate from this readme.txt and I can't generate them without a live site to screenshot.)

== Changelog ==

= 0.15.1 =
* Fixed the last remaining Plugin Check warning: an unprefixed variable at the top level of uninstall.php. Wrapped the cleanup logic in a prefixed function instead.

= 0.15.0 =
* BREAKING CHANGE, per a WordPress.org review finding: renamed the "tbp" prefix (too short/generic) to "orkitbp" throughout — classes, constants, the post type, taxonomy, meta keys, shortcode tags, hooks, nonces, enqueue handles, JS globals. If you have existing test tables, recreate them (the post type changed) and update any pasted shortcodes from [tbp_table]/[tbp_category] to [orkitbp_table]/[orkitbp_category]. See changelog.txt for full details.

= 0.14.4 =
* Addressed the WordPress.org human review findings: replaced the last hard-coded <style> tag with wp_add_inline_style(), added sanitize_text_field() to every nonce check per the reviewer's guidance, and fixed a path-traversal edge case in the "File on server" import option. See changelog.txt for full details.

= 0.14.3 =
* Fixed the last 6 Plugin Check warnings: two more nonce/sanitization false positives, and the "Changelog section too long" warning — moved the full version history to a new changelog.txt file and trimmed this section to recent releases. See changelog.txt for the complete history and full details on this and every earlier release.

= 0.14.2 =
* Fixed the root cause behind ~400 Plugin Check errors: the "Text Domain" header and every translation function call still used "table-builder-pro", but WordPress.org assigned the slug "orki-table-builder-pro" — text domain must match that exactly. Replaced throughout every PHP and JS file (verified against the block's own registered name, which is a different string and was correctly left untouched).
* Fixed 5 real output-escaping gaps in the frontend table renderer (explicit int-casts on width/height values, and documented why two calls intentionally output raw HTML rather than double-escaping it and breaking image/link/Advanced Cell rendering).
* Added missing translator comments on every translatable string with a placeholder.
* Corrected several of my own phpcs:ignore comments that referenced the wrong sniff code name (file_system_read_* instead of the actual file_system_operations_*), meaning they weren't suppressing anything before.
* Rewrote the Preview and PDF-export standalone pages to enqueue their stylesheet/script through wp_enqueue_style()/wp_enqueue_script() instead of hard-coded tags.
* The ZIP download in bulk export now reads the finished file via WP_Filesystem where possible, with a direct fallback if that can't initialize (relevant since this runs inside a file-download response, where a credentials prompt has no way to surface).
* Reviewed every remaining nonce/sanitization warning individually rather than blanket-suppressing: most were genuine false positives (a nonce verified earlier in the same function, custom sanitizing helpers or realpath()-based path validation the scanner doesn't recognize by name, or WordPress-core hooks like edited_{taxonomy} that only fire after core's own nonce check) — each now has a comment explaining specifically why, scoped as narrowly as possible.
* Tested up to: 7.1, reflecting WordPress's actual current release. As before: this states what the code should be compatible with based on using only standard, non-deprecated APIs — I still can't run this plugin on a live install myself, so treat this as a starting point for your own testing, not a substitute for it.

= 0.14.1 =
* Fixed a WordPress.org plugin-check rejection: Plugin URI and Author URI were both set to https://orki.in, and those two headers are required to be different (they describe two different things — a page about the plugin itself vs. a page about its author). Removed the Author URI line per instruction to drop it; Plugin URI stays as-is, and "Author: Orki" now shows as plain text rather than a link. Nothing else in the plugin reads that header field, so this is a self-contained fix.

For the complete version history, see changelog.txt included with this plugin.
