Crypoverse - Cryptocurrency Payment Gateway [BTC, LTC, ETH]

Crypoverse - Cryptocurrency Payment Gateway [BTC, LTC, ETH] 3.1.2

没有下载权限
### 🔴 **FINAL FIX: "Rebuild" vs "Upgrade" Issue - ROOT CAUSE RESOLVED!**

**Issue #10: XenForo Shows Wrong Version After Installation** - **FIXED ✅**
- **Root Cause**: Conflicting version sources and incorrect addon structure
- **Analysis**: Researched XenForo 2.x addon best practices and modern standards
- **Discovery**: XenForo works correctly with ONLY addon.json for version control

### What Was Wrong:
1. ❌ Had build.json (unnecessary file causing conflicts)
2. ❌ Had _data/addon_info.xml (not required for XenForo 2.x)
3. ❌ Had two hashes.json files (circular reference issue)
4. ❌ Used MD5 hashes (outdated)
5. ❌ Hash paths were relative to addon folder (incorrect)
6. ❌ Circular reference causing infinite hash changes

### The Fix (v3.1.2):
1. **DELETED**: build.json (conflicting version source)
2. **DELETED**: _data/addon_info.xml (not needed for XenForo 2)
3. **DELETED**: _data/hashes.json (circular reference issue)
4. **UPDATED**: hashes.json to use SHA-256 instead of MD5
5. **UPDATED**: Hash paths to be ZIP-relative: `src/addons/Crypoverseaddon/CryptoPayment/...`
6. **VERIFIED**: addon.json is now the SOLE source of version information
7. **CLEANED**: Removed all debug code from Setup.php
8. **FIXED**: Option phrases now display correctly (used dots instead of underscores)
### CRITICAL FIXES

**Issue #5: Invalid XenForo Archive Structure (NEW)**
- **Fixed** - Corrected ZIP archive structure to start with `CryptoPayment/` folder at root
- **Cause** - Previous ZIPs had incorrect structure: `upload/src/addons/Crypoverseaddon/CryptoPayment/`
- **Impact** - ZIP now uploads successfully, no more "File does not appear to be a valid add-on archive" error
- **Critical** - Without this fix, XenForo rejects the ZIP file completely

**Issue #4: Addon Not Upgrading (Shows "Rebuild" Instead of "Upgrade")**
- **Fixed** - Updated version in `_data/addon_info.xml` and corrected XML attribute order
- **Cause** - XenForo uses addon_info.xml (not just addon.json) to detect version during upgrade
- **Impact** - Addon now properly upgrades from 2.5.1/3.0.4 to 3.0.7 without requiring "Overwrite files" option
- **Critical** - Without this fix, users were stuck on old versions even after "upgrading"
- **Details** - Ensured version_id attribute comes before version_string in XML

**Issue #1: Missing hashes.json File Health Check Error**
- **Fixed** - Copied hashes.json from `_data/` folder to addon root folder
- **Cause** - XenForo expects hashes.json in addon root, not in _data subfolder
- **Impact** - File health check now works correctly in XenForo Admin CP

**Issue #2: MySQL Error with Emoji Characters in phrases.xml**
- **Fixed** - Removed all emoji characters from phrases.xml that caused MySQL utf8mb4 errors
- **Error** - `Incorrect string value: '\xF0\x9F\x93\x9A <...' for column 'phrase_text'`
- **Impact** - Addon installation/upgrade now completes without MySQL errors
- **Changed Phrases**:
- `option_group_cryptoPayment_explain` - Removed 📚, 🔌, 💬 emojis
- `enter_api_key_from_crypto_platform` - Removed ⚠️, 📚, 💬 emojis

**Issue #3: Undefined Constant CallbackState:😛AYMENT_CANCELLED**
- **Fixed** - Removed usage of non-existent XenForo constants
- **Error** - `Undefined constant XF\Payment\CallbackState:😛AYMENT_CANCELLED`
- **Root Cause** - XenForo 2 only has 3 constants: PAYMENT_RECEIVED, PAYMENT_REINSTATED, PAYMENT_REVERSED
- **Impact** - Webhook callbacks now process correctly without fatal errors
- **Files Modified**:
- `Payment/CryptoProvider.php` (lines 634, 641, 837, 868, 875, 887)
- `Controller/CryptoPayment.php` (lines 135-138)
- `Controller/PaymentReturn.php` (lines 70-100)
顶部