262 lines
7.7 KiB
Markdown
262 lines
7.7 KiB
Markdown
# 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)
|