Tabesh - سامانه جامع ثبت سفارش چاپ کتاب
Comprehensive system for registering book orders Tabesh
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/tabshhh5/tabesh/archive/refs/heads/main.zipسامانه جامع ثبت سفارش چاپ کتاب
A comprehensive WordPress plugin for managing book printing orders with full WooCommerce integration, SMS notifications, and RTL (Persian) support.
📋 Features
Core Functionality
- ✅ Dynamic Price Calculator - Calculate book printing costs based on multiple parameters
- ✅ Order Management System - Complete order lifecycle management
- ✅ User Dashboard - Track order status with visual progress indicators
- ✅ Admin Panel - Comprehensive management interface for orders and settings
- ✅ Staff Panel - Modern, mobile-first panel with live search, dark/light themes, and AJAX status updates
- ✅ SMS Notifications - Automated notifications via MelliPayamak API
- ✅ Email Notifications - Email alerts for order updates
- ✅ Role-Based Access - Different views for Admin, Staff, and Customers
- ✅ Archive System - Archive and restore completed orders
Technical Features
- 🎨 RTL Support - Full right-to-left interface for Persian language
- 📱 Responsive Design - Mobile-friendly interface
- 🔌 REST API - Modern AJAX-based interactions
- 🗄️ Custom Database Tables - Optimized data storage
- 🔒 Security - Follows WordPress coding standards
- ⚡ LiteSpeed Compatible - Optimized for LiteSpeed servers
📦 Installation
Requirements
- WordPress 6.8 or higher
- PHP 8.2.2 or higher
- WooCommerce (latest version)
- MySQL 5.7+ or MariaDB 10.2+
Installation Steps
-
Download the Plugin
git clone https://github.com/tabshhh12/Tabesh.git -
Upload to WordPress
- Upload the
Tabeshfolder to/wp-content/plugins/ - Or create a ZIP file and upload via WordPress admin panel
- Upload the
-
Activate the Plugin
- Go to WordPress Admin → Plugins
- Find "Tabesh - سامانه جامع ثبت سفارش چاپ کتاب"
- Click "Activate"
-
Configure Settings
- Go to Tabesh → Settings
- Configure product parameters, pricing, and SMS settings
🚀 Usage
Shortcodes
Order Form (V1 - Legacy)
Display the legacy order submission form:
[tabesh_order_form]
Order Form V2 (New - Recommended)
Display the advanced order form with dynamic dependency mapping:
[tabesh_order_form_v2]
Features:
- Dynamic option filtering based on pricing matrix V2
- Cascading form that shows only allowed combinations
- Real-time price calculation
- Better performance with object caching
- Requires V2 pricing engine to be enabled
See ORDER_FORM_V2_GUIDE.md for complete documentation.
Order Form with Revolution Slider Integration (New)
Display the order form with real-time event dispatching for Revolution Slider:
[tabesh_order_form_slider]
Features:
- All V2 form features plus slider integration
- Real-time JavaScript events on field changes
- Seamless Revolution Slider integration
- Works standalone without slider (graceful degradation)
- Clean API for custom integrations
Attributes:
[tabesh_order_form_slider slider_id="my-slider" enable_slider_events="true"]
See docs/REVOLUTION_SLIDER_INTEGRATION.md for complete documentation and docs/REVOLUTION_SLIDER_QUICKSTART.md for quick start guide.
User Orders
Show logged-in user's orders:
[tabesh_user_orders]
Staff Panel
Display staff management panel (requires edit_shop_orders capability):
[tabesh_staff_panel]
Admin Dashboard
Show admin dashboard overview (requires manage_woocommerce capability):
[tabesh_admin_dashboard]
Product Pricing (New V2)
Manage pricing parameters with matrix-based engine (requires manage_woocommerce capability):
[tabesh_product_pricing]
See PRICING_ENGINE_V2.md for details about the new pricing system.
Admin Menu
After activation, access the plugin via:
- Dashboard: Tabesh → Dashboard
- Active Orders: Tabesh → Active Orders
- Archived Orders: Tabesh → Archived Orders
- Settings: Tabesh → Settings
⚙️ Configuration
Product Parameters
Configure in Tabesh → Settings → Product Parameters:
- Book sizes (قطع کتاب)
- Paper types and weights
- Print types (color, B&W, mixed)
- Binding types
- License types
- Cover options
- Extra services
SMS Settings
Configure in Tabesh → Settings → SMS:
- Enter MelliPayamak credentials
- Set sender number
- Add admin phone for notifications
- Enable/disable notification triggers
Pricing
The pricing algorithm is currently defined in code. To modify:
- Edit
includes/class-tabesh-order.php - Modify the
calculate_price()method - Future versions will include GUI for pricing configuration
🗃️ Database Structure
Tables Created
wp_tabesh_orders- Store all order datawp_tabesh_settings- Plugin configurationwp_tabesh_logs- Activity logs
🔌 API Endpoints
REST API Routes
All routes are prefixed with /wp-json/tabesh/v1/
- POST
/calculate-price- Calculate order price - POST
/submit-order- Submit new order (requires authentication) - POST
/update-status- Update order status (requires permission)
🎨 Customization
Styling
CSS files located in assets/css/:
frontend.css- Front-end stylesadmin.css- Admin panel styles
JavaScript
JS files located in assets/js/:
frontend.js- Front-end functionalityadmin.js- Admin panel functionality
🔒 Security
- Nonce verification for all forms
- Input sanitization and validation
- SQL injection prevention
- XSS protection
- Role-based access control
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📝 License
This plugin is licensed under the GPL v2 or later.
👥 Credits
Developed by Chapco
📞 Support
For support and questions:
- Create an issue on GitHub
- Contact: Chapco Support
🔧 Troubleshooting
Pricing Configuration Issues
If you're experiencing issues with pricing configuration settings not saving or displaying correctly, we've created comprehensive debugging tools:
- Diagnostic Tool - Upload
tabesh-diagnostic.phpto your WordPress root and access it via browser to identify issues - Enhanced Logging - Enable WP_DEBUG to see detailed logs in
wp-content/debug.log - Console Debugging - Open browser console (F12) when saving settings to see real-time feedback
📖 Complete Guide: See PRICING_TROUBLESHOOTING.md for detailed instructions
📋 Fix Summary: See FIX_SUMMARY_PRICING.md for complete technical details
Common Issues
- Settings disappear after save: Check debug logs and ensure database permissions are correct
- Fields not displaying: Clear browser cache and verify WooCommerce is active
- Price calculation errors: Verify all pricing fields are filled in correct format (
key=value)
🗺️ Roadmap
Planned Features
- [ ] GUI-based pricing configuration
- [ ] Multiple product types (posters, cards, etc.)
- [ ] Advanced reporting and analytics
- [ ] File upload management
- [ ] Integration with more SMS providers
- [ ] Multi-language support
- [ ] Payment gateway integration
- [ ] Automated invoice generation
- [ ] Customer file requirements checker
📜 Changelog
Version 1.0.0 (2024)
- Initial release
- Core order management system
- Price calculation engine
- SMS notifications via MelliPayamak
- Admin, Staff, and User panels
- WooCommerce integration
- RTL support for Persian
- Responsive design
Made with ❤️ for the Persian printing industry