=== YOUELBLOCKS ===
Contributors: youelblocks
Tags: form, form-builder, blocks, gutenberg, contact-form
Requires at least: 5.0
Tested up to: 6.9
Stable tag: 1.0.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Create and manage custom forms intuitively using WordPress block editor.

== Description ==

**YOUELBLOCKS** is a powerful WordPress plugin that allows you to create and manage custom forms easily and intuitively using the WordPress block editor (Gutenberg).

### 🚀 **Key Features**

* **Block-based Form Builder**: Easily build forms with drag and drop
* **Various Field Types**: Support for 15+ field types including text, email, file upload, checkbox, and more
* **Real-time Data Management**: View and manage submitted data in real-time
* **Data Export**: Export data in CSV and Excel formats
* **PDF Generation**: Convert user input to PDF for email attachment and download
* **Password Duplicate Validation**: Prevent duplicate passwords and enable data modification
* **Shortcode Support**: Display form data easily with shortcodes
* **Responsive Design**: Works perfectly on all devices
* **Enhanced Security**: Security features including nonce verification and data sanitization

### 🔧 **Technical Features**

* **WordPress 5.0+ Full Support**: Fully compatible with the latest WordPress versions
* **PHP 7.4+ Support**: Performance optimization using latest PHP features
* **Multilingual Support**: Full internationalization (i18n) support
* **REST API Compatible**: Full WordPress REST API support
* **Extensible Architecture**: Developer-friendly structure

### 📋 **System Requirements**

* **WordPress**: 5.0 or higher (recommended: 6.0+)
* **PHP**: 7.4 or higher (recommended: 8.0+)
* **Memory**: Minimum 64MB (recommended: 128MB+)
* **Required Extensions**: json, mbstring

### 🎯 **Use Cases**

* **Contact Forms**: Customer inquiries and consultation requests
* **Surveys**: User opinion collection and analysis
* **Event Registration**: Event participation applications
* **Product Orders**: Simple order forms
* **User Registration**: Custom member registration
* **Feedback Collection**: Opinion collection for service improvement
* **Contract Creation**: PDF generation and email sending
* **Application Management**: Password-based data modification and management

### 🔒 **Security Features**

* **Nonce Verification**: Security token verification for all AJAX requests
* **Data Validation**: Strict input data validation and sanitization
* **File Upload Security**: Secure file upload handling
* **Permission Management**: Access control based on user permissions
* **XSS Prevention**: Cross-site scripting attack prevention

### 🌍 **Multilingual Support**

* **Full Internationalization**: WordPress standard i18n support
* **Translation Templates**: POT file provided for translation work
* **Multilingual Strings**: All user interface text can be translated
* **Locale Support**: Support for various languages and regional settings

== Installation ==

### 1. 플러그인 설치

1. WordPress 관리자 페이지에서 **플러그인 > 새로 추가**로 이동
2. "YOUELBLOCKS"를 검색
3. **지금 설치** 버튼 클릭
4. **활성화** 버튼 클릭

### 2. 수동 설치

1. 플러그인 파일을 `/wp-content/plugins/youelblocks/` 디렉토리에 업로드
2. WordPress 관리자 페이지에서 **플러그인** 메뉴를 통해 활성화

### 3. 시스템 요구사항 확인

플러그인 활성화 시 자동으로 시스템 요구사항을 확인합니다:
* PHP 7.4 이상
* WordPress 5.0 이상
* 필요한 PHP 확장 (json, mbstring)
* 충분한 메모리 (64MB 이상)

== Frequently Asked Questions ==

### Q: WordPress 4.x에서 사용할 수 있나요?
A: 아니요. YOUELBLOCKS는 WordPress 5.0 이상에서만 지원됩니다. 블록 에디터 기능을 활용하기 위해 최신 WordPress 버전이 필요합니다.

### Q: PHP 7.4에서 작동하나요?
A: 네. PHP 7.4 이상이 필요합니다. 최신 PHP 기능을 활용하여 성능과 보안을 최적화했습니다.

### Q: 기존 폼 플러그인과 호환되나요?
A: YOUELBLOCKS는 독립적으로 작동하며, 다른 폼 플러그인과 충돌하지 않습니다. 하지만 동일한 기능을 제공하는 플러그인과는 중복될 수 있습니다.

### Q: 데이터는 어디에 저장되나요?
A: 모든 폼 데이터는 WordPress 데이터베이스에 안전하게 저장됩니다. 각 페이지별로 별도의 테이블이 생성되어 데이터를 관리합니다.

### Q: 파일 업로드가 지원되나요?
A: 네. 이미지, 문서, 스프레드시트 등 다양한 파일 형식을 업로드할 수 있습니다. 보안을 위해 파일 크기와 형식을 제한할 수 있습니다.

### Q: 다국어 지원이 되나요?
A: 네. 완전한 국제화(i18n)를 지원합니다. POT 파일을 제공하여 번역 작업을 지원합니다.

### Q: REST API를 통해 데이터에 접근할 수 있나요?
A: 네. WordPress REST API를 통해 폼 데이터에 프로그래밍 방식으로 접근할 수 있습니다.

### Q: PDF 생성 기능이 있나요?
A: 네. 사용자가 입력한 내용을 PDF로 변환하여 이메일에 첨부하거나 다운로드할 수 있습니다. wkhtmltopdf가 설치되어 있으면 실제 PDF 파일이 생성되고, 없으면 HTML 파일로 대체됩니다.

### Q: 비밀번호 중복을 방지할 수 있나요?
A: 네. 동일한 비밀번호로 다른 사용자가 등록하는 것을 방지합니다. 또한 비밀번호를 사용하여 기존 데이터를 조회하고 수정할 수 있습니다.

### Q: 이메일로 PDF를 받을 수 있나요?
A: 네. 폼 제출 후 이메일 발송 옵션을 선택하면 사용자가 입력한 내용이 PDF로 변환되어 이메일에 첨부되어 발송됩니다.

### Q: 백업과 복원이 가능한가요?
A: 네. 폼 데이터를 CSV나 Excel 형식으로 내보내고 가져올 수 있습니다.

== Screenshots ==

1. 블록 에디터에서 폼 구성
2. 다양한 필드 타입 선택
3. 실시간 데이터 관리
4. 데이터 내보내기 기능
5. 반응형 폼 디자인
6. 관리자 설정 페이지

== Changelog ==

### 6.0.16
* **확장성 및 호환성 대폭 강화**
* WordPress 5.0+ 공식 지원, 최신 6.4까지 테스트 완료
* PHP 7.4+ 지원으로 최신 PHP 기능 활용
* 완전한 다국어 지원 (i18n) 구현
* 자동 호환성 검증 시스템 추가
* 타입 힌트 및 반환 타입 명시로 안정성 향상
* 보안 강화 (Nonce 검증, 데이터 sanitization)
* 메모리 최적화 (128MB 이상 요구사항)

### 6.0.15
* 블록 에디터 성능 최적화
* 데이터베이스 쿼리 최적화
* 사용자 인터페이스 개선

### 6.0.10
* 보안 강화
* 데이터 검증 시스템 개선
* 파일 업로드 기능 강화

### 6.0.0
* 완전한 블록 에디터 통합
* 대용량 데이터 처리 시스템
* 현대적인 사용자 인터페이스

== Upgrade Notice ==

### 6.0.16
**중요**: 이 버전은 PHP 7.4 이상과 WordPress 5.0 이상이 필요합니다. 업그레이드 전 시스템 요구사항을 확인하세요.

== Developer Information ==

### 개발자 가이드

YOUELBLOCKS는 개발자 친화적인 구조로 설계되었습니다:

#### 클래스 구조
```php
YOUELBLOCKS_Manager           // 메인 관리 클래스
├── YOUELBLOCKS_Editor        // 블록 에디터 관리
├── YOUELBLOCKS_Public        // 프론트엔드 관리
├── YOUELBLOCKS_Admin         // 관리자 페이지
├── YOUELBLOCKS_Utils         // 유틸리티 함수
└── YOUELBLOCKS_Compatibility // 호환성 체크
```

#### 훅과 필터
```php
// 폼 데이터 처리 전
add_filter('youelblocks_before_save_form_data', $callback);

// 폼 데이터 처리 후
add_action('youelblocks_after_save_form_data', $callback);

// 필드 렌더링 커스터마이징
add_filter('youelblocks_field_render', $callback);
```

#### REST API
```php
// 폼 데이터 조회
GET /wp-json/youelblocks/v1/forms/{page_id}/data

// 폼 데이터 생성
POST /wp-json/youelblocks/v1/forms/{page_id}/data
```

### 기여하기

YOUELBLOCKS 개발에 기여하고 싶으시다면:

1. GitHub 저장소를 포크하세요
2. 기능 브랜치를 생성하세요
3. 변경사항을 커밋하세요
4. Pull Request를 제출하세요

### 라이선스

이 플러그인은 GPL v2 또는 그 이상의 라이선스 하에 배포됩니다.

== Support ==

### 지원 채널

* **공식 웹사이트**: https://youelblocks.co.kr
* **지원 포럼**: https://youelblocks.co.kr/support
* **이메일 지원**: support@youelblocks.co.kr
* **GitHub Issues**: https://github.com/youelblocks/youelblocks/issues

### 문서

* **사용자 가이드**: https://youelblocks.co.kr/docs
* **개발자 문서**: https://youelblocks.co.kr/docs/developer
* **API 문서**: https://youelblocks.co.kr/docs/api


== External Services ==

This plugin can optionally use **Google reCAPTCHA v2** to protect forms from spam submissions.

- **Service name**: Google reCAPTCHA v2
- **Purpose**: Verify that form submissions are made by humans, not automated bots.
- **What data is sent and when**:
  - When a user views a form with CAPTCHA enabled, their browser loads the Google reCAPTCHA script from `https://www.google.com/recaptcha/api.js`.
  - When the user submits the form, the CAPTCHA response token and basic request metadata (such as IP address, browser information, and related technical details collected by Google) are sent to `https://www.google.com/recaptcha/api/siteverify` for verification.
- **Where data is sent**:
  - Google LLC (reCAPTCHA service), via the domains `www.google.com` and related Google endpoints.
- **Terms of Service and Privacy Policy**:
  - Google reCAPTCHA Terms of Service: https://policies.google.com/terms
  - Google Privacy Policy: https://policies.google.com/privacy

reCAPTCHA can be enabled or disabled at any time from the YOUELBLOCKS admin settings page. If you do not enable CAPTCHA, no data is sent to Google reCAPTCHA.

### 커뮤니티

* **WordPress.org 포럼**: https://wordpress.org/support/plugin/youelblocks
* **GitHub Discussions**: https://github.com/youelblocks/youelblocks/discussions