#!/bin/bash

# Скрипт для создания ZIP-архива плагина ContentZavod
# Использование: ./build.sh

# Цвета для вывода
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# Название плагина
PLUGIN_NAME="contentzavod"

# Версия плагина (извлекается из PHP файла)
PLUGIN_VERSION=$(grep "Version:" contentzavod.php | awk '{print $3}')

# Имя ZIP-архива
ZIP_FILE="${PLUGIN_NAME}.zip"

echo -e "${YELLOW}==================================${NC}"
echo -e "${YELLOW}  Сборка плагина ContentZavod${NC}"
echo -e "${YELLOW}  Multilingual Edition${NC}"
echo -e "${YELLOW}==================================${NC}"
echo ""
echo -e "Версия: ${GREEN}${PLUGIN_VERSION}${NC}"
echo -e "Архив: ${GREEN}${ZIP_FILE}${NC}"
echo -e "Языков: ${BLUE}10${NC}"
echo ""

# Проверяем наличие основного файла плагина
if [ ! -f "contentzavod.php" ]; then
  echo -e "${RED}Ошибка: Файл contentzavod.php не найден.${NC}"
  exit 1
fi

# Проверяем наличие папки с переводами
if [ ! -d "languages" ]; then
  echo -e "${RED}Ошибка: Папка languages не найдена.${NC}"
  exit 1
fi

# Удаляем старый архив, если существует
if [ -f "$ZIP_FILE" ]; then
  echo -e "${YELLOW}Удаление старого архива...${NC}"
  rm -f "$ZIP_FILE"
fi

# Создаём временную директорию для сборки
TEMP_DIR="temp_build_$$"
mkdir -p "$TEMP_DIR/$PLUGIN_NAME"

echo -e "${YELLOW}Копирование основных файлов...${NC}"

# Копируем основные файлы плагина
cp contentzavod.php "$TEMP_DIR/$PLUGIN_NAME/"
cp uninstall.php "$TEMP_DIR/$PLUGIN_NAME/"

echo -e "${YELLOW}Копирование документации...${NC}"

# Копируем документацию
cp README.md "$TEMP_DIR/$PLUGIN_NAME/"
cp README-en.md "$TEMP_DIR/$PLUGIN_NAME/" 2>/dev/null || true
cp README-es.md "$TEMP_DIR/$PLUGIN_NAME/" 2>/dev/null || true
cp README-de.md "$TEMP_DIR/$PLUGIN_NAME/" 2>/dev/null || true
cp README-fr.md "$TEMP_DIR/$PLUGIN_NAME/" 2>/dev/null || true
cp README-zh.md "$TEMP_DIR/$PLUGIN_NAME/" 2>/dev/null || true
cp LOCALIZATION.md "$TEMP_DIR/$PLUGIN_NAME/" 2>/dev/null || true
cp INSTALLATION.txt "$TEMP_DIR/$PLUGIN_NAME/" 2>/dev/null || true

echo -e "${YELLOW}Копирование файлов локализации...${NC}"

# Копируем папку с переводами
mkdir -p "$TEMP_DIR/$PLUGIN_NAME/languages"
cp -r languages/*.mo "$TEMP_DIR/$PLUGIN_NAME/languages/" 2>/dev/null || true
cp -r languages/*.po "$TEMP_DIR/$PLUGIN_NAME/languages/" 2>/dev/null || true
cp languages/contentzavod.pot "$TEMP_DIR/$PLUGIN_NAME/languages/" 2>/dev/null || true

# Подсчитываем количество языков
LANG_COUNT=$(ls -1 "$TEMP_DIR/$PLUGIN_NAME/languages/"*.mo 2>/dev/null | wc -l | tr -d ' ')
echo -e "${GREEN}✓ Скопировано языков: ${LANG_COUNT}${NC}"

echo -e "${YELLOW}Копирование ресурсов (assets)...${NC}"

# Копируем папку assets, если существует
if [ -d "assets" ]; then
  mkdir -p "$TEMP_DIR/$PLUGIN_NAME/assets"
  cp -r assets/* "$TEMP_DIR/$PLUGIN_NAME/assets/" 2>/dev/null || true
  ASSETS_COUNT=$(find "$TEMP_DIR/$PLUGIN_NAME/assets" -type f | wc -l | tr -d ' ')
  echo -e "${GREEN}✓ Скопировано файлов assets: ${ASSETS_COUNT}${NC}"
else
  echo -e "${YELLOW}Папка assets не найдена, пропускаю.${NC}"
fi

# Копируем readme.txt для WordPress.org
if [ -f "readme.txt" ]; then
  echo -e "${YELLOW}Копирование readme.txt для WordPress.org...${NC}"
  cp readme.txt "$TEMP_DIR/$PLUGIN_NAME/"
  # Копируем локализованные readme-*.txt, если есть
  for f in readme-*.txt; do
    if [ -f "$f" ]; then
      echo -e "${YELLOW}Копирование ${f}...${NC}"
      cp "$f" "$TEMP_DIR/$PLUGIN_NAME/"
    fi
  done
else
  echo -e "${YELLOW}Создание readme.txt для WordPress.org...${NC}"
  cat > "$TEMP_DIR/$PLUGIN_NAME/readme.txt" << 'EOF'
=== ContentZavod ===
Contributors: fittin
Tags: content, seo, api, automation, news, multilingual
Requires at least: 5.0
Tested up to: 6.4
Stable tag: 2.4.3
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Content factory for SEO acceleration and traffic increase. Multilingual support (10 languages).

== Description ==

ContentZavod is a powerful WordPress plugin that automatically integrates quality content into your website.

= Key Features =

* 🔄 Automatic content retrieval through API
* 🗺️ Sitemap integration
* 🌍 Multilingual support (10 languages)
* ⚙️ Easy setup with intuitive admin panel
* 🔐 Secure API token storage
* 🚀 SEO optimization

= Supported Languages =

* Russian (Русский)
* English
* Spanish (Español)
* German (Deutsch)
* French (Français)
* Italian (Italiano)
* Portuguese (Português)
* Chinese (中文)
* Japanese (日本語)
* Arabic (العربية)

== Installation ==

1. Upload plugin through WordPress admin panel
2. Activate the plugin
3. Go to Settings → ContentZavod
4. Enter API token
5. Update permalinks

== Changelog ==

= 2.4.3 =
* Added multilingual support (10 languages)
* Full interface localization
* Multilingual documentation
* Performance optimization
* Bug fixes

= 2.4.0 =
* Final stable release
* Performance optimization
* Improved admin panel
* Fixed all known bugs

== Support ==

Website: https://contentzavod.fittin.ru
Email: support@fittin.ru
EOF
fi

# Переходим во временную директорию
cd "$TEMP_DIR"

# Создаём ZIP-архив
echo -e "${YELLOW}Создание ZIP-архива...${NC}"
zip -r "../$ZIP_FILE" "$PLUGIN_NAME" -x "*.DS_Store" -x "__MACOSX" > /dev/null 2>&1

# Возвращаемся обратно
cd ..

# Удаляем временную директорию
rm -rf "$TEMP_DIR"

# Проверяем, успешно ли создан архив
if [ -f "$ZIP_FILE" ]; then
  FILE_SIZE=$(du -h "$ZIP_FILE" | cut -f1)
  echo ""
  echo -e "${GREEN}✅ Архив успешно создан!${NC}"
  echo -e "Файл: ${GREEN}${ZIP_FILE}${NC}"
  echo -e "Размер: ${GREEN}${FILE_SIZE}${NC}"
  echo ""
  
  # Подсчитываем статистику
  TOTAL_FILES=$(unzip -l "$ZIP_FILE" | grep -c "contentzavod/")
  MO_FILES=$(unzip -l "$ZIP_FILE" | grep -c "\.mo$")
  PO_FILES=$(unzip -l "$ZIP_FILE" | grep -c "\.po$")
  README_FILES=$(unzip -l "$ZIP_FILE" | grep -c "README.*\.md$")
  
  echo -e "${BLUE}📊 Статистика:${NC}"
  echo -e "  Всего файлов: ${GREEN}${TOTAL_FILES}${NC}"
  echo -e "  Языковых пакетов (MO): ${GREEN}${MO_FILES}${NC}"
  echo -e "  Исходных переводов (PO): ${GREEN}${PO_FILES}${NC}"
  echo -e "  README файлов: ${GREEN}${README_FILES}${NC}"
  echo ""
  
  echo -e "${YELLOW}📦 Содержимое архива:${NC}"
  unzip -l "$ZIP_FILE" | grep -v "Archive:" | grep -v "Length" | grep -v "^-" | tail -n +2 | head -20
  
  if [ "$TOTAL_FILES" -gt 20 ]; then
    echo -e "${YELLOW}  ... и ещё $((TOTAL_FILES - 20)) файлов${NC}"
  fi
  
  echo ""
  echo -e "${GREEN}✅ Готово! Плагин можно устанавливать в WordPress.${NC}"
  echo -e "${BLUE}🌍 Поддержка ${LANG_COUNT} языков включена!${NC}"
  echo ""
  echo -e "${YELLOW}Следующие шаги:${NC}"
  echo -e "  1. Установите плагин в WordPress"
  echo -e "  2. Активируйте плагин"
  echo -e "  3. Настройте API токен"
  echo -e "  4. Язык определится автоматически"
else
  echo -e "${RED}Ошибка при создании архива.${NC}"
  exit 1
fi

