Restore to commit 74e578279624c6045ca440a3459ebfa1f8d54191
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
#!/bin/bash
|
||||
|
||||
# WordPress Plugin Validation Script
|
||||
# This script validates the PHP syntax and structure of the PC Announcements plugin
|
||||
|
||||
echo "🔍 Validating PC Announcements Plugin..."
|
||||
echo "========================================"
|
||||
|
||||
PLUGIN_DIR="/home/web/data/apps/c7f9e5c6-e7c2-4258-a583-ccffcf9791c8/announcements-v274"
|
||||
|
||||
# Check if plugin directory exists
|
||||
if [ ! -d "$PLUGIN_DIR" ]; then
|
||||
echo "❌ Plugin directory not found: $PLUGIN_DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Navigate to plugin directory
|
||||
cd "$PLUGIN_DIR" || exit 1
|
||||
|
||||
echo "✅ Plugin directory found: $PLUGIN_DIR"
|
||||
|
||||
# Check main plugin file
|
||||
echo ""
|
||||
echo "📝 Checking main plugin file..."
|
||||
MAIN_FILE="pc-announcements-274.php"
|
||||
if [ ! -f "$MAIN_FILE" ]; then
|
||||
echo "❌ Main plugin file not found: $MAIN_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Main plugin file found: $MAIN_FILE"
|
||||
|
||||
# Check PHP syntax for main file
|
||||
echo ""
|
||||
echo "🔍 Checking PHP syntax for main file..."
|
||||
if php -l "$MAIN_FILE"; then
|
||||
echo "✅ Main plugin file has valid PHP syntax"
|
||||
else
|
||||
echo "❌ Main plugin file has PHP syntax errors"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check all PHP files for syntax errors
|
||||
echo ""
|
||||
echo "🔍 Checking all PHP files for syntax errors..."
|
||||
PHP_FILES=$(find . -name "*.php" -type f)
|
||||
|
||||
if [ -z "$PHP_FILES" ]; then
|
||||
echo "❌ No PHP files found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Found PHP files:"
|
||||
echo "$PHP_FILES"
|
||||
echo ""
|
||||
|
||||
SYNTAX_ERRORS=0
|
||||
for file in $PHP_FILES; do
|
||||
echo "Checking: $file"
|
||||
if php -l "$file"; then
|
||||
echo "✅ Valid syntax"
|
||||
else
|
||||
echo "❌ Syntax errors found"
|
||||
SYNTAX_ERRORS=$((SYNTAX_ERRORS + 1))
|
||||
fi
|
||||
echo ""
|
||||
done
|
||||
|
||||
if [ $SYNTAX_ERRORS -eq 0 ]; then
|
||||
echo "✅ All PHP files have valid syntax"
|
||||
else
|
||||
echo "❌ Found $SYNTAX_ERRORS PHP files with syntax errors"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check plugin header
|
||||
echo ""
|
||||
echo "🔍 Checking plugin header..."
|
||||
HEADER_CHECK=$(grep -q "Plugin Name:" "$MAIN_FILE" && grep -q "Plugin URI:" "$MAIN_FILE" && grep -q "Version:" "$MAIN_FILE" && grep -q "Requires PHP:" "$MAIN_FILE" && echo "✅ Plugin header found" || echo "❌ Plugin header incomplete")
|
||||
|
||||
if [[ "$HEADER_CHECK" == *"❌"* ]]; then
|
||||
echo "❌ Plugin header is incomplete"
|
||||
exit 1
|
||||
else
|
||||
echo "$HEADER_CHECK"
|
||||
fi
|
||||
|
||||
# Check required files and directories
|
||||
echo ""
|
||||
echo "🔍 Checking required files and directories..."
|
||||
REQUIRED_FILES=(
|
||||
"includes/class-install.php"
|
||||
"admin/class-admin.php"
|
||||
"public/class-frontend.php"
|
||||
"uninstall.php"
|
||||
"admin/templates/list-page.php"
|
||||
"admin/templates/edit-page.php"
|
||||
"admin/templates/error-page.php"
|
||||
)
|
||||
|
||||
MISSING_FILES=0
|
||||
for file in "${REQUIRED_FILES[@]}"; do
|
||||
if [ -f "$file" ]; then
|
||||
echo "✅ Found: $file"
|
||||
else
|
||||
echo "❌ Missing: $file"
|
||||
MISSING_FILES=$((MISSING_FILES + 1))
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $MISSING_FILES -eq 0 ]; then
|
||||
echo "✅ All required files found"
|
||||
else
|
||||
echo "❌ Missing $MISSING_FILES required files"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check for WordPress coding standards compliance
|
||||
echo ""
|
||||
echo "🔍 Checking WordPress coding standards..."
|
||||
STANDARD_CHECK=$(grep -q "defined('ABSPATH')" "$MAIN_FILE" && echo "✅ ABSPATH check found" || echo "❌ ABSPATH check missing")
|
||||
|
||||
if [[ "$STANDARD_CHECK" == *"❌"* ]]; then
|
||||
echo "❌ WordPress coding standards not met"
|
||||
exit 1
|
||||
else
|
||||
echo "$STANDARD_CHECK"
|
||||
fi
|
||||
|
||||
# Check for security measures
|
||||
echo ""
|
||||
echo "🔍 Checking security measures..."
|
||||
NONCE_CHECK=$(grep -r "wp_verify_nonce\|check_ajax_referer" . --include="*.php" | grep -v "grep" | head -1)
|
||||
|
||||
if [ -n "$NONCE_CHECK" ]; then
|
||||
echo "✅ Nonce validation found in plugin files"
|
||||
else
|
||||
echo "❌ Nonce validation missing"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check for proper file permissions
|
||||
echo ""
|
||||
echo "🔍 Checking file permissions..."
|
||||
PERMISSION_CHECK=$(ls -la "$MAIN_FILE" | grep -q "\-rw\-" && echo "✅ Main file has proper permissions" || echo "❌ Main file has incorrect permissions")
|
||||
|
||||
if [[ "$PERMISSION_CHECK" == *"❌"* ]]; then
|
||||
echo "⚠️ Warning: File permissions may need adjustment"
|
||||
else
|
||||
echo "$PERMISSION_CHECK"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🎉 Plugin validation completed successfully!"
|
||||
echo "============================================="
|
||||
echo "✅ All PHP files have valid syntax"
|
||||
echo "✅ Plugin header is complete"
|
||||
echo "✅ All required files are present"
|
||||
echo "✅ WordPress coding standards are met"
|
||||
echo "✅ Security measures are in place"
|
||||
echo ""
|
||||
echo "The PC Announcements 274 plugin is ready for installation!"
|
||||
Reference in New Issue
Block a user