*/ public static function sections(): array { return array( new Section( 'form', array( new Field( 'mode', FieldType::SELECT, 'inline', array( 'inline' => 'inline', 'modal' => 'modal', ), null, null, 'inline_modal_form' ), new Field( 'title', FieldType::SELECT, 'optional', array( 'off' => 'off', 'optional' => 'optional', 'required' => 'required', ), null, null, 'review_title' ), new Field( 'title_max', FieldType::INTEGER, 100, array(), 20, 200 ), new Field( 'content_min', FieldType::INTEGER, 0, array(), 0, 2000 ), new Field( 'content_max', FieldType::INTEGER, 5000, array(), 100, 20000 ), new Field( 'recommend', FieldType::BOOLEAN, true, array(), null, null, 'recommend_flag' ), new Field( 'display_name_choice', FieldType::BOOLEAN, true, array(), null, null, 'display_name_options' ), new Field( 'consent', FieldType::BOOLEAN, false, array(), null, null, 'consent' ), new Field( 'consent_text', FieldType::TEXTAREA, '' ), new Field( 'success_text', FieldType::TEXTAREA, '' ), new Field( 'pending_text', FieldType::TEXTAREA, '' ), ) ), new Section( 'media', array( new Field( 'photos', FieldType::BOOLEAN, true, array(), null, null, 'photo_reviews' ), new Field( 'max_photo_mb', FieldType::INTEGER, 8, array(), 1, 20 ), ) ), new Section( 'antispam', array( new Field( 'min_seconds', FieldType::INTEGER, 3, array(), 0, 60 ), new Field( 'captcha', FieldType::SELECT, 'none', array( 'none' => 'none', 'turnstile' => 'turnstile', ) ), new Field( 'captcha_site_key', FieldType::TEXT, '' ), new Field( 'captcha_secret_key', FieldType::TEXT, '', array(), null, null, null, null, true ), new Field( 'submit_limit', FieldType::INTEGER, 5, array(), 1, 100 ), new Field( 'upload_limit', FieldType::INTEGER, 40, array(), 1, 500 ), ) ), ); } }