7.7 KiB
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 hooksuninstall.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 IDinformatiq_sp_service_account- Service Account JSONinformatiq_sp_minimum_margin- Minimum margin %informatiq_sp_auto_update_enabled- Enable/disable automationinformatiq_sp_update_frequency- Cron frequencyinformatiq_sp_last_run_start- Last run start timeinformatiq_sp_last_run_end- Last run end timeinformatiq_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.shorcomposer 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)