Commit 3cb5ffd2 authored by Yassine Doghri's avatar Yassine Doghri
Browse files

fix(i18n): escape language strings in form fields to prevent them from disappearing

fixes #412
parent 5f3752b4
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
<Forms.Field
    as="Select"
    name="user"
    label="<?= lang('Contributor.form.user') ?>"
    label="<?= esc(lang('Contributor.form.user')) ?>"
    options="<?= esc(json_encode($contributorOptions)) ?>"
    placeholder="<?= lang('Contributor.form.user_placeholder') ?>"
    required="true" />
@@ -25,7 +25,7 @@
<Forms.Field
    as="Select"
    name="role"
    label="<?= lang('Contributor.form.role') ?>"
    label="<?= esc(lang('Contributor.form.role')) ?>"
    options="<?= esc(json_encode($roleOptions)) ?>"
    placeholder="<?= lang('Contributor.form.role_placeholder') ?>"
    selected="<?= setting('AuthGroups.defaultPodcastGroup') ?>"
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
<Forms.Field
    as="Select"
    name="role"
    label="<?= lang('Contributor.form.role') ?>"
    label="<?= esc(lang('Contributor.form.role')) ?>"
    options="<?= esc(json_encode($roleOptions)) ?>"
    selected="<?= $contributorGroup ?>"
    placeholder="<?= lang('Contributor.form.role_placeholder') ?>"
+21 −21
Original line number Diff line number Diff line
@@ -19,9 +19,9 @@

<Forms.Field
    name="audio_file"
    label="<?= lang('Episode.form.audio_file') ?>"
    hint="<?= lang('Episode.form.audio_file_hint') ?>"
    helper="<?= lang('Common.size_limit', [formatBytes(file_upload_max_size(), true)]) ?>"
    label="<?= esc(lang('Episode.form.audio_file')) ?>"
    hint="<?= esc(lang('Episode.form.audio_file_hint')) ?>"
    helper="<?= esc(lang('Common.size_limit', [formatBytes(file_upload_max_size(), true)])) ?>"
    type="file"
    accept=".mp3,.m4a"
    required="true"
@@ -30,16 +30,16 @@

<Forms.Field
    name="cover"
    label="<?= lang('Episode.form.cover') ?>"
    hint="<?= lang('Episode.form.cover_hint') ?>"
    helper="<?= lang('Episode.form.cover_size_hint') ?>"
    label="<?= esc(lang('Episode.form.cover')) ?>"
    hint="<?= esc(lang('Episode.form.cover_hint')) ?>"
    helper="<?= esc(lang('Episode.form.cover_size_hint')) ?>"
    type="file"
    accept=".jpg,.jpeg,.png" />

<Forms.Field
    name="title"
    label="<?= lang('Episode.form.title') ?>"
    hint="<?= lang('Episode.form.title_hint') ?>"
    label="<?= esc(lang('Episode.form.title')) ?>"
    hint="<?= esc(lang('Episode.form.title_hint')) ?>"
    required="true"
    data-slugify="title" />

@@ -55,14 +55,14 @@
    <Forms.Field
        class="flex-1 w-full"
        name="season_number"
        label="<?= lang('Episode.form.season_number') ?>"
        label="<?= esc(lang('Episode.form.season_number')) ?>"
        type="number"
        value="<?= $currentSeasonNumber ?>"
    />
    <Forms.Field
        class="flex-1 w-full"
        name="episode_number"
        label="<?= lang('Episode.form.episode_number') ?>"
        label="<?= esc(lang('Episode.form.episode_number')) ?>"
        type="number"
        value="<?= $nextEpisodeNumber ?>"
        required="<?= $podcast->type === 'serial' ? 'true' : 'false' ?>"
@@ -74,17 +74,17 @@
<Forms.RadioButton
    value="full"
    name="type"
    hint="<?= lang('Episode.form.type.full_hint') ?>"
    hint="<?= esc(lang('Episode.form.type.full_hint')) ?>"
    isChecked="true" ><?= lang('Episode.form.type.full') ?></Forms.RadioButton>
<Forms.RadioButton
    value="trailer"
    name="type"
    hint="<?= lang('Episode.form.type.trailer_hint') ?>"
    hint="<?= esc(lang('Episode.form.type.trailer_hint')) ?>"
    isChecked="false" ><?= lang('Episode.form.type.trailer') ?></Forms.RadioButton>    
<Forms.RadioButton
    value="bonus"
    name="type"
    hint="<?= lang('Episode.form.type.bonus_hint') ?>"
    hint="<?= esc(lang('Episode.form.type.bonus_hint')) ?>"
    isChecked="false" ><?= lang('Episode.form.type.bonus') ?></Forms.RadioButton>
</fieldset>

@@ -119,15 +119,15 @@
<Forms.Field
    as="MarkdownEditor"
    name="description"
    label="<?= lang('Episode.form.description') ?>"
    label="<?= esc(lang('Episode.form.description')) ?>"
    required="true"
    disallowList="header,quote" />

<Forms.Field
    as="MarkdownEditor"
    name="description_footer"
    label="<?= lang('Episode.form.description_footer') ?>"
    hint="<?= lang('Episode.form.description_footer_hint') ?>"
    label="<?= esc(lang('Episode.form.description_footer')) ?>"
    hint="<?= esc(lang('Episode.form.description_footer_hint')) ?>"
    value="<?= esc($podcast->episode_description_footer_markdown) ?? '' ?>"
    disallowList="header,quote" />

@@ -144,8 +144,8 @@
>
<Forms.Field
    name="location_name"
    label="<?= lang('Episode.form.location_name') ?>"
    hint="<?= lang('Episode.form.location_name_hint') ?>" />
    label="<?= esc(lang('Episode.form.location_name')) ?>"
    hint="<?= esc(lang('Episode.form.location_name_hint')) ?>" />
</Forms.Section>

<Forms.Section
@@ -212,11 +212,11 @@
<Forms.Field 
    as="XMLEditor"
    name="custom_rss"
    label="<?= lang('Episode.form.custom_rss') ?>"
    hint="<?= lang('Episode.form.custom_rss_hint') ?>"
    label="<?= esc(lang('Episode.form.custom_rss')) ?>"
    hint="<?= esc(lang('Episode.form.custom_rss_hint')) ?>"
/>

<Forms.Toggler name="block" value="yes" checked="false" hint="<?= lang('Episode.form.block_hint') ?>"><?= lang('Episode.form.block') ?></Forms.Toggler>
<Forms.Toggler name="block" value="yes" checked="false" hint="<?= esc(lang('Episode.form.block_hint')) ?>"><?= lang('Episode.form.block') ?></Forms.Toggler>

</Forms.Section>

+21 −21
Original line number Diff line number Diff line
@@ -23,9 +23,9 @@

<Forms.Field
    name="audio_file"
    label="<?= lang('Episode.form.audio_file') ?>"
    hint="<?= lang('Episode.form.audio_file_hint') ?>"
    helper="<?= lang('Common.size_limit', [formatBytes(file_upload_max_size(), true)]) ?>"
    label="<?= esc(lang('Episode.form.audio_file')) ?>"
    hint="<?= esc(lang('Episode.form.audio_file_hint')) ?>"
    helper="<?= esc(lang('Common.size_limit', [formatBytes(file_upload_max_size(), true)])) ?>"
    type="file"
    accept=".mp3,.m4a"
    data-max-size="<?= file_upload_max_size() ?>"
@@ -33,16 +33,16 @@

<Forms.Field
    name="cover"
    label="<?= lang('Episode.form.cover') ?>"
    hint="<?= lang('Episode.form.cover_hint') ?>"
    helper="<?= lang('Episode.form.cover_size_hint') ?>"
    label="<?= esc(lang('Episode.form.cover')) ?>"
    hint="<?= esc(lang('Episode.form.cover_hint')) ?>"
    helper="<?= esc(lang('Episode.form.cover_size_hint')) ?>"
    type="file"
    accept=".jpg,.jpeg,.png" />

<Forms.Field
    name="title"
    label="<?= lang('Episode.form.title') ?>"
    hint="<?= lang('Episode.form.title_hint') ?>"
    label="<?= esc(lang('Episode.form.title')) ?>"
    hint="<?= esc(lang('Episode.form.title_hint')) ?>"
    value="<?= esc($episode->title) ?>"
    required="true"
    data-slugify="title" />
@@ -59,14 +59,14 @@
    <Forms.Field
        class="flex-1 w-full"
        name="season_number"
        label="<?= lang('Episode.form.season_number') ?>"
        label="<?= esc(lang('Episode.form.season_number')) ?>"
        type="number"
        value="<?= $episode->season_number ?>"
    />
    <Forms.Field
        class="flex-1 w-full"
        name="episode_number"
        label="<?= lang('Episode.form.episode_number') ?>"
        label="<?= esc(lang('Episode.form.episode_number')) ?>"
        type="number"
        value="<?= $episode->number ?>"
        required="<?= $podcast->type === 'serial' ? 'true' : 'false' ?>"
@@ -78,17 +78,17 @@
<Forms.RadioButton
    value="full"
    name="type"
    hint="<?= lang('Episode.form.type.full_hint') ?>"
    hint="<?= esc(lang('Episode.form.type.full_hint')) ?>"
    isChecked="<?= $episode->type === 'full' ? 'true' : 'false' ?>" ><?= lang('Episode.form.type.full') ?></Forms.RadioButton>
<Forms.RadioButton
    value="trailer"
    name="type"
    hint="<?= lang('Episode.form.type.trailer_hint') ?>"
    hint="<?= esc(lang('Episode.form.type.trailer_hint')) ?>"
    isChecked="<?= $episode->type === 'trailer' ? 'true' : 'false' ?>" ><?= lang('Episode.form.type.trailer') ?></Forms.RadioButton>    
<Forms.RadioButton
    value="bonus"
    name="type"
    hint="<?= lang('Episode.form.type.bonus_hint') ?>"
    hint="<?= esc(lang('Episode.form.type.bonus_hint')) ?>"
    isChecked="<?= $episode->type === 'bonus' ? 'true' : 'false' ?>" ><?= lang('Episode.form.type.bonus') ?></Forms.RadioButton>
</fieldset>

@@ -120,7 +120,7 @@
<Forms.Field
    as="MarkdownEditor"
    name="description"
    label="<?= lang('Episode.form.description') ?>"
    label="<?= esc(lang('Episode.form.description')) ?>"
    value="<?= esc($episode->description_markdown) ?>"
    required="true"
    disallowList="header,quote" />
@@ -128,8 +128,8 @@
<Forms.Field
    as="MarkdownEditor"
    name="description_footer"
    label="<?= lang('Episode.form.description_footer') ?>"
    hint="<?= lang('Episode.form.description_footer_hint') ?>"
    label="<?= esc(lang('Episode.form.description_footer')) ?>"
    hint="<?= esc(lang('Episode.form.description_footer_hint')) ?>"
    value="<?= esc($podcast->episode_description_footer_markdown) ?? '' ?>"
    disallowList="header,quote" />

@@ -146,8 +146,8 @@
>
<Forms.Field
    name="location_name"
    label="<?= lang('Episode.form.location_name') ?>"
    hint="<?= lang('Episode.form.location_name_hint') ?>"
    label="<?= esc(lang('Episode.form.location_name')) ?>"
    hint="<?= esc(lang('Episode.form.location_name_hint')) ?>"
    value="<?= esc($episode->location_name) ?>" />
</Forms.Section>

@@ -269,12 +269,12 @@
<Forms.Field 
    as="XMLEditor"
    name="custom_rss"
    label="<?= lang('Episode.form.custom_rss') ?>"
    hint="<?= lang('Episode.form.custom_rss_hint') ?>"
    label="<?= esc(lang('Episode.form.custom_rss')) ?>"
    hint="<?= esc(lang('Episode.form.custom_rss_hint')) ?>"
    content="<?= esc($episode->custom_rss_string) ?>"
/>

<Forms.Toggler id="block" name="block" value="yes" checked="<?= $episode->is_blocked ? 'true' : 'false' ?>" hint="<?= lang('Episode.form.block_hint') ?>"><?= lang('Episode.form.block') ?></Forms.Toggler>
<Forms.Toggler id="block" name="block" value="yes" checked="<?= $episode->is_blocked ? 'true' : 'false' ?>" hint="<?= esc(lang('Episode.form.block_hint')) ?>"><?= lang('Episode.form.block') ?></Forms.Toggler>

</Forms.Section>

+4 −4
Original line number Diff line number Diff line
@@ -26,8 +26,8 @@
        as="MultiSelect"
        id="persons"
        name="persons[]"
        label="<?= lang('Person.episode_form.persons') ?>"
        hint="<?= lang('Person.episode_form.persons_hint') ?>"
        label="<?= esc(lang('Person.episode_form.persons')) ?>"
        hint="<?= esc(lang('Person.episode_form.persons_hint')) ?>"
        options="<?= esc(json_encode($personOptions)) ?>"
        selected="<?= esc(json_encode(old('persons', []))) ?>"
        required="true"
@@ -37,8 +37,8 @@
        as="MultiSelect"
        id="roles"
        name="roles[]"
        label="<?= lang('Person.episode_form.roles') ?>"
        hint="<?= lang('Person.episode_form.roles_hint') ?>"
        label="<?= esc(lang('Person.episode_form.roles')) ?>"
        hint="<?= esc(lang('Person.episode_form.roles_hint')) ?>"
        options="<?= esc(json_encode($taxonomyOptions)) ?>"
        selected="<?= esc(json_encode(old('roles', []))) ?>"
    />
Loading