# File Manifest Complete list of all files in the Informatiq Smart Google Pricing plugin. ## Core Plugin Files ### Main Files - **`informatiq-smart-google-pricing.php`** - Main plugin file with activation/deactivation hooks - **`uninstall.php`** - Clean uninstall script (removes all data) - **`composer.json`** - Composer configuration for Google API Client - **`.gitignore`** - Git ignore rules (includes vendor for distribution) ## Includes Directory (`includes/`) Core functionality classes: - **`class-informatiq-sp-logger.php`** - Logging system - WC_Logger integration - Custom database table for price update logs - Methods: `log_price_update()`, `get_todays_logs()`, `clear_old_logs()` - **`class-informatiq-sp-google-api.php`** - Google Merchant Center API - Service Account authentication - Product matching via SKU/GTIN - Competitive pricing retrieval - Methods: `get_competitive_price()`, `test_connection()` - **`class-informatiq-sp-price-updater.php`** - Price calculation logic - Tax-aware pricing (handles WooCommerce tax settings) - Minimum margin protection - Random offset calculation (0.05-0.20) - In-stock product filtering - Methods: `process_all_products()`, `process_product_by_id()` - **`class-informatiq-sp-scheduler.php`** - WP Cron automation - Daily/twice daily/6-hour schedules - Automatic price update execution - Last run tracking - Methods: `run_daily_update()`, `trigger_manual_update()`, `reschedule()` ## Admin Directory (`admin/`) - **`class-informatiq-sp-admin.php`** - WordPress admin interface - Settings page under WooCommerce menu - Form fields for all settings - AJAX handlers for manual sync and connection test - Logs display - Methods: `render_admin_page()`, `handle_manual_sync()`, `handle_test_connection()` ## Assets Directory (`assets/`) ### CSS (`assets/css/`) - **`admin.css`** - Admin page styling - Responsive layout (sidebar + main content) - Status boxes and buttons - Loading states and animations - Table styling for logs ### JavaScript (`assets/js/`) - **`admin.js`** - Admin interactivity - Manual sync AJAX handler - Test connection AJAX handler - Loading states - Error/success message display ## Vendor Directory (`vendor/`) - **`autoload.php`** - Custom autoloader - Works with Composer-installed libraries - Works with manually placed libraries - Supports both PSR-4 and old-style class names - Shows admin notice if dependencies missing **Expected structure after setup:** ``` vendor/ ├── autoload.php (included in plugin) ├── google/ │ ├── apiclient/ │ └── apiclient-services/ ├── guzzlehttp/ ├── psr/ ├── firebase/ └── monolog/ ``` ## Languages Directory (`languages/`) - **`informatiq-smart-pricing.pot`** - Translation template - All translatable strings - Ready for localization ## Documentation Files ### User Documentation - **`README.md`** - Complete plugin documentation - Features overview - Installation instructions - Configuration guide - How it works - API reference - **`QUICKSTART.md`** - 10-minute setup guide - Quick setup for developers - Quick setup for end users - Common troubleshooting - Next steps - **`INSTALLATION.md`** - Detailed installation guide - Google Service Account setup - Plugin configuration - Product requirements - Advanced configuration - Security recommendations - **`VENDOR-SETUP.md`** - Vendor library setup guide - Manual download instructions - Composer installation - Directory structure - Simplified installation methods ### Developer Documentation - **`FILE-MANIFEST.md`** - This file - Complete file listing - Purpose of each file - Code references ## Utility Scripts - **`setup-vendor.sh`** - Automated vendor setup script - Checks for Composer - Installs Google API Client - Optimizes autoloader - Shows installation summary - Usage: `./setup-vendor.sh` ## File Statistics ### PHP Files - Total: 7 core PHP files - Lines of code: ~2,500+ lines - Classes: 5 main classes - Functions: 50+ methods ### Assets - CSS: 1 file (~300 lines) - JavaScript: 1 file (~150 lines) ### Documentation - Markdown files: 5 guides - Total documentation: ~1,500+ lines ## Code Organization ### Naming Conventions - **Classes**: `Informatiq_SP_*` (WordPress style) - **Functions**: `informatiq_sp_*` prefix - **Options**: `informatiq_sp_*` prefix - **Hooks**: `informatiq_sp_*` prefix - **Text Domain**: `informatiq-smart-pricing` ### Database Tables - **`{prefix}_informatiq_sp_logs`** - Price update logs - Columns: id, product_id, product_name, old_price, new_price, competitor_price, message, created_at - Created on activation - Dropped on uninstall ### WordPress Options - `informatiq_sp_merchant_id` - Google Merchant ID - `informatiq_sp_service_account` - Service Account JSON - `informatiq_sp_minimum_margin` - Minimum margin % - `informatiq_sp_auto_update_enabled` - Enable/disable automation - `informatiq_sp_update_frequency` - Cron frequency - `informatiq_sp_last_run_start` - Last run start time - `informatiq_sp_last_run_end` - Last run end time - `informatiq_sp_last_run_results` - Last run results array ### Cron Events - **`informatiq_sp_daily_price_update`** - Main cron event - Frequencies: daily, twice_daily, every_6_hours - Registered on activation - Cleared on deactivation ## Key Code Locations ### Main Plugin Initialization - Plugin bootstrap: `informatiq-smart-google-pricing.php:66` - Class includes: `informatiq-smart-google-pricing.php:99` - Activation hook: `informatiq-smart-google-pricing.php:122` ### Google API Integration - Authentication: `class-informatiq-sp-google-api.php:51` - Product search: `class-informatiq-sp-google-api.php:108` - Price fetching: `class-informatiq-sp-google-api.php:143` ### Price Calculation - Main processor: `class-informatiq-sp-price-updater.php:37` - Tax calculation: `class-informatiq-sp-price-updater.php:197` - Minimum price check: `class-informatiq-sp-price-updater.php:230` ### Admin Interface - Settings page: `class-informatiq-sp-admin.php:84` - Manual sync: `class-informatiq-sp-admin.php:478` - AJAX handlers: `class-informatiq-sp-admin.php:478-545` ### Logging - Database logging: `class-informatiq-sp-logger.php:85` - WC Logger: `class-informatiq-sp-logger.php:47-82` - Log retrieval: `class-informatiq-sp-logger.php:120-143` ## Distribution Checklist When distributing the plugin: - [ ] Run `./setup-vendor.sh` or `composer install --no-dev` - [ ] Verify `vendor/google/apiclient/` exists - [ ] Test activation in WordPress - [ ] Test connection to Google API - [ ] Run manual sync to verify functionality - [ ] Check error logs for any issues - [ ] Create ZIP with all files including vendor/ - [ ] Document any system requirements ## File Size **Without vendor directory:** - ~500 KB (plugin code only) **With vendor directory:** - ~10-15 MB uncompressed - ~2-3 MB when ZIP compressed This is acceptable for WordPress plugin distribution and eliminates the need for end users to run Composer. ## Version Control ### Included in Git - All plugin code - All documentation - Vendor directory (for distribution) - composer.json (for development) ### Excluded from Git - composer.lock - Development files - IDE configurations - OS-specific files (.DS_Store, etc.) ## Support Files For support and maintenance, check: - **WooCommerce Logs**: `WooCommerce > Status > Logs` - **Plugin Logs**: Custom table `wp_informatiq_sp_logs` - **Cron Status**: Use WP Crontrol plugin to view scheduled events - **Error Log**: Standard WordPress/PHP error logs --- **Total Files**: 17 plugin files + vendor dependencies **Ready for Production**: Yes ✓ **WordPress.org Ready**: Yes (with minor modifications to readme.txt format)