<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>Digima Connect Test2</title>
</head>
<body>
<h1>Digima Connect Test2</h1>
<p>Digima Connect Test2</p>
<p>Test2 -- Start</p>
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Digima\DigimaForm;

$message = sendDigima();
if ( empty($message) ) {
    echo '<p>Digima連携が完了しました。Digimaにてご確認下さい。</p>';
} else {
    // エラーメッセージあり
    echo '<p>エラーメッセージがありました。</p>';
    echo '<p>';
    echo $message;
    echo '</p>';
}
?>
<p>Test2 -- End</p>

<?php
function sendDigima() {
    $formCode = '【フォームコード】';
    $authCode = '【認証コード】';

    $digimaForm = DigimaForm::makeForm($formCode, $authCode);

    // title
    $digimaForm->setPageTitle('Digima Connect Test2');
    // url
    $digimaForm->setPageUrl('https://example.com/');

    $testEmail = 'test@example.com';

    // 属性項目(基本項目)
    $staticFieldArray = array(
        'first_name' => '名',
        'first_name_kana' => '名(カナ)',
        'last_name' => '姓',
        'last_name_kana' => '姓(カナ)',
        'email' => $testEmail,
        'age' => '20',
        'personal_country' => '国',
        'personal_region' => '県',
        'personal_city' => '市区町村',
        'personal_postal_code' => '郵便番号',
        'personal_address_1' => '住所1',
        'personal_address_2' => '住所2',
        'work_company_name' => '勤務先会社名',
        'work_department' => '部署名',
        'work_job_title' => '役職名',
        'work_country' => '勤務先国',
        'work_postal_code' => '勤務先郵便番号',
        'work_address_1' => '勤務先住所1',
        'work_address_2' => '勤務先住所2',
        'notes' => 'メモ',
        'company_id' => '会社ID',
        'gender' => 'female',
        'personal_website_url' => 'https://example.com/',
        'personal_landline_number' => '08011111111',
        'personal_mobile_number' => '08022222222',
        'personal_fax_number' => '08033333333',
        'work_website_url' => 'https://example.com/',
        'work_landline_number' => '08044444444',
        'work_mobile_number' => '08055555555',
        'display_name_order' => 'first_last',
        'real_estate_inquiry' => [
            'client_selected_plan' => '問い合わせ企画',
            'preferred_mode_of_communication' => '希望連絡方法',
            'preferred_time_of_communication' => '希望曜日時間帯',
            'content' => '問い合わせ内容',
            'yearly_income' => '年収'
        ],
        'real_estate_construction_inquiry' => [
            'location_details' => '建築予定地・土地の有無',
            'planned_timing' => '建築予定時期',
            'budget' => '建築予算',
            'requirements' => '建築要望',
            'type' => '問い合わせ種別',
            'model_house_name' => '問い合わせモデルハウス名',
            'reservation_timing' => '予約希望日時',
            'event_name' => '問い合わせイベント名',
            'event_timing' => '問い合わせイベント開催日時',
            'preferred_catalog_name' => '請求カタログ名',
            'exhibition_venue_name' => '問い合わせ展示場名'
        ],
        'real_estate_sale_inquiry' => [
            'property_type' => '売却物件種別',
            'property_address' => '売却物件住所',
            'property_land_area' => '売却土地面積',
            'property_building_area' => '売却建物面積',
            'property_floor_plan' => '売却物件間取り',
            'property_age' => '売却物件築年',
            'property_vacancy_status' => '現況',
            'property_owner_name' => '名義',
            'preferred_sale_time' => '売却希望時期',
            'sale_reason' => '売却理由',
            'preferred_assessment_method' => '査定方法',
            'offer_price' => '売却希望価格',
            'requests' => '売却要望'
        ],
        'real_estate_purchase_inquiry' => [
            'property_type' => '購入物件種別',
            'property_name' => '購入物件名',
            'preferred_move_in_date' => '入居希望時期',
            'property_image_url' => 'https://test.com/',
            'preferred_property_specification' => '購入希望詳細',
            'preferred_area' => '購入希望エリア'
        ]
    );

    $digimaForm->contact()->staticFields()->setMany($staticFieldArray);
    $digimaForm->contact()->customFields()->set('form_1a', 'customFields');
    $digimaForm->submit();

    $message = '';
    if ( $digimaForm->hasError() ) {
        foreach ( $digimaForm->getErrors() as $errors ) {
            switch ( $errors->getType() ) {
                case \Digima\Errors\RequestError::CODE_UNAUTHORIZED:
                    $message = $errors->getMessage();
                    break;
                case \Digima\Errors\Error::TYPE_DATA_VALIDATION_ERROR:
                    $message = $errors->getMessage();
                    break;
                default:
                    break;
            }
        }
    }
    return $message;
}
?>
</body>
</html>