Skip to content

Commit f94062e

Browse files
Moved original message to the checkbox label, and made the number of images stick out a bit more.
1 parent 4ddfdaa commit f94062e

4 files changed

Lines changed: 32 additions & 48 deletions

File tree

src/class-tiny-settings.php

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ public function admin_init() {
5959
register_setting('media', $field);
6060
add_settings_field($field, self::translate('Connection status'), $this->get_method('render_pending_status'), 'media', $section);
6161

62-
add_action('wp_ajax_tiny_image_sizes_notices', $this->get_method('image_sizes_notices'));
62+
add_action('wp_ajax_tiny_image_sizes_notice', $this->get_method('image_sizes_notice'));
6363
add_action('wp_ajax_tiny_compress_status', $this->get_method('connection_status'));
6464
}
6565

66-
public function image_sizes_notices() {
67-
$this->render_image_sizes_notices($_GET["image_sizes_selected"], $_GET["original_selected"]);
66+
public function image_sizes_notice() {
67+
$this->render_image_sizes_notice($_GET["image_sizes_selected"]);
6868
exit();
6969
}
7070

@@ -179,28 +179,23 @@ public function render_api_key() {
179179
}
180180

181181
public function render_sizes() {
182-
echo '<p>' . self::translate_escape('You can choose to compress different image sizes created by WordPress here') . '.<br/>';
183-
echo self::translate_escape('Remember each additional image size will affect your TinyPNG monthly usage') . "!";?>
182+
echo '<p>' . self::translate_escape('Choose sizes to compress') . ':';?>
184183
<input type="hidden" name="<?php echo self::get_prefixed_name('sizes[' . self::DUMMY_SIZE .']'); ?>" value="on"/></p>
185184
<?php
186-
$original_enabled = false;
187185
foreach ($this->get_sizes() as $size => $option) {
188-
if ($size === Tiny_Metadata::ORIGINAL) {
189-
$original_enabled = $option['tinify'];
190-
}
191186
$this->render_size_checkbox($size, $option);
192187
}
193188

194-
echo '<div id="tiny-image-sizes-notices">';
195-
$this->render_image_sizes_notices(count(self::get_active_tinify_sizes()), $original_enabled);
189+
echo '<div id="tiny-image-sizes-notice">';
190+
$this->render_image_sizes_notice(count(self::get_active_tinify_sizes()));
196191
echo '</div>';
197192
}
198193

199194
private function render_size_checkbox($size, $option) {
200195
$id = self::get_prefixed_name("sizes_$size");
201196
$field = self::get_prefixed_name("sizes[$size]");
202197
if ($size === Tiny_Metadata::ORIGINAL) {
203-
$label = self::translate_escape("original");
198+
$label = self::translate_escape("original") . ' (' . self::translate_escape('overwritten by compressed image') . ')';
204199
} else {
205200
$label = $size . " - ${option['width']}x${option['height']}";
206201
}?>
@@ -209,7 +204,7 @@ private function render_size_checkbox($size, $option) {
209204
<?php
210205
}
211206

212-
public function render_image_sizes_notices($active_image_sizes_count, $original_selected) {
207+
public function render_image_sizes_notice($active_image_sizes_count) {
213208
echo '<br/>';
214209
if ($active_image_sizes_count < 1) {
215210
echo '<p>' . self::translate_escape('With these settings no images will be compressed') . '.</p>';
@@ -218,11 +213,12 @@ public function render_image_sizes_notices($active_image_sizes_count, $original_
218213
$free_images_per_month = floor(self::MONTHLY_FREE_COMPRESSIONS / $active_image_sizes_count);
219214

220215
echo '<p>';
221-
printf(self::translate_escape('With these settings you can compress %s images for free each month') . '.', $free_images_per_month);
216+
echo self::translate_escape('With these settings you can compress');
217+
echo ' <strong>';
218+
printf(self::translate_escape('%s images'), $free_images_per_month);
219+
echo '</strong> ';
220+
echo self::translate_escape('for free each month') . '.';
222221
echo '</p>';
223-
if ($original_selected) {
224-
echo '<p>' . self::translate_escape('Note: your original images will be overwritten with the compressed versions') . '!</p>';
225-
}
226222
}
227223
}
228224

src/languages/tiny-compress-images-nl_NL.po

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ msgstr "Bestandscompressie"
1919
msgid "original"
2020
msgstr "origineel"
2121

22-
msgid "You can choose to compress different image sizes created by WordPress here"
23-
msgstr "Je kunt hier kiezen welke afmetingen je wilt comprimeren van de afbeeldingen"
22+
msgid "Choose sizes to compress"
23+
msgstr "Kies afmetingen om te comprimeren"
2424

2525
msgid "Remember each additional image size will affect your TinyPNG monthly usage"
2626
msgstr "Elke afmetingen zal apart worden gecomprimeerd en telt mee voor je verbruik"
@@ -133,14 +133,20 @@ msgstr "Als je meer afbeeldingen wilt comprimeren kun je je %s aanpassen"
133133
msgid "Upgrade your %s if you like to compress more images"
134134
msgstr "Upgrade je %s als je meer afbeeldingen wilt comprimeren"
135135

136-
msgid "With these settings you can compress %s images for free each month"
137-
msgstr "Met deze instellingen kun je elke maand %s afbeeldingen gratis comprimeren"
136+
msgid "With these settings you can compress"
137+
msgstr "Met deze instellingen kun je elke maand"
138+
139+
msgid "%s images"
140+
msgstr "%s afbeeldingen"
141+
142+
msgid "for free each month"
143+
msgstr "gratis comprimeren"
138144

139145
msgid "With these settings no images will be compressed"
140146
msgstr "Met deze instellingen worden geen afbeeldingen gecomprimeerd"
141147

142-
msgid "Note: your original images will be overwritten with the compressed versions"
143-
msgstr "Belangrijk: je originele afbeeldingen worden overschreven met de gecomprimeerde afbeeldingen"
148+
msgid "overwritten by compressed image"
149+
msgstr "overschreven door gecomprimeerde afbeelding"
144150

145151
msgid "Please fill in an API key to start compressing images"
146152
msgstr "Vul een API-sleutel in om te starten met comprimeren"

src/scripts/admin.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,9 @@
157157
jQuery('#tiny-compress-status').load(ajaxurl + '?action=tiny_compress_status')
158158

159159
jQuery('input[name*="tinypng_sizes"]').on("click", function() {
160-
// Unfortunately, we need some additional information to display the correct notices.
161-
originalSelected = jQuery('input[name="tinypng_sizes[0]"]:checked').length
160+
// Unfortunately, we need some additional information to display the correct notice.
162161
totalSelectedSizes = jQuery('input[name*="tinypng_sizes"]:checked').length
163-
jQuery('#tiny-image-sizes-notices').load(ajaxurl + '?action=tiny_image_sizes_notices&image_sizes_selected=' + totalSelectedSizes + '&original_selected=' + originalSelected)
162+
jQuery('#tiny-image-sizes-notice').load(ajaxurl + '?action=tiny_image_sizes_notice&image_sizes_selected=' + totalSelectedSizes)
164163
})
165164
}
166165

test/integration/SettingsIntegrationTest.php

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -86,25 +86,8 @@ public function testShouldPersistNoSizes() {
8686
$this->assertEquals(0, count(array_map('elementName', $elements)));
8787
}
8888

89-
public function testShouldShowOriginalsMessageWhenChecked() {
90-
$elements = self::$driver->findElement(WebDriverBy::id('tiny-image-sizes-notices'))->findElements(WebDriverBy::tagName('p'));
91-
$statuses = array_map('innerText', $elements);
92-
$this->assertContains('Note: your original images will be overwritten with the compressed versions!', $statuses);
93-
}
94-
95-
public function testShouldHideOriginalsMessageWhenUnchecked() {
96-
$element = self::$driver->findElement(
97-
WebDriverBy::xpath('//input[@type="checkbox" and @name="tinypng_sizes[0]" and @checked="checked"]'));
98-
$element->click();
99-
self::$driver->findElement(WebDriverBy::tagName('form'))->submit();
100-
101-
$elements = self::$driver->findElement(WebDriverBy::id('tiny-image-sizes-notices'))->findElements(WebDriverBy::tagName('p'));
102-
$statuses = array_map('innerText', $elements);
103-
$this->assertNotContains('Note: your original images will be overwritten with the compressed versions!', $statuses);
104-
}
105-
10689
public function testShouldShowTotalImagesInfo() {
107-
$elements = self::$driver->findElement(WebDriverBy::id('tiny-image-sizes-notices'))->findElements(WebDriverBy::tagName('p'));
90+
$elements = self::$driver->findElement(WebDriverBy::id('tiny-image-sizes-notice'))->findElements(WebDriverBy::tagName('p'));
10891
$statuses = array_map('innerText', $elements);
10992
$this->assertContains('With these settings you can compress 100 images for free each month.', $statuses);
11093
}
@@ -114,9 +97,9 @@ public function testShouldUpdateTotalImagesInfo() {
11497
WebDriverBy::xpath('//input[@type="checkbox" and @name="tinypng_sizes[0]" and @checked="checked"]'));
11598
$element->click();
11699
self::$driver->wait(2)->until(WebDriverExpectedCondition::textToBePresentInElement(
117-
WebDriverBy::cssSelector('#tiny-image-sizes-notices'), 'With these settings you can compress 125 images for free each month.'));
100+
WebDriverBy::cssSelector('#tiny-image-sizes-notice'), 'With these settings you can compress 125 images for free each month.'));
118101
// Not really necessary anymore to assert this.
119-
$elements = self::$driver->findElement(WebDriverBy::id('tiny-image-sizes-notices'))->findElements(WebDriverBy::tagName('p'));
102+
$elements = self::$driver->findElement(WebDriverBy::id('tiny-image-sizes-notice'))->findElements(WebDriverBy::tagName('p'));
120103
$statuses = array_map('innerText', $elements);
121104
$this->assertContains('With these settings you can compress 125 images for free each month.', $statuses);
122105
}
@@ -128,9 +111,9 @@ public function testShouldShowCorrectNoImageSizesInfo() {
128111
$element->click();
129112
}
130113
self::$driver->wait(2)->until(WebDriverExpectedCondition::textToBePresentInElement(
131-
WebDriverBy::cssSelector('#tiny-image-sizes-notices'), 'With these settings no images will be compressed.'));
114+
WebDriverBy::cssSelector('#tiny-image-sizes-notice'), 'With these settings no images will be compressed.'));
132115
// Not really necessary anymore to assert this.
133-
$elements = self::$driver->findElement(WebDriverBy::id('tiny-image-sizes-notices'))->findElements(WebDriverBy::tagName('p'));
116+
$elements = self::$driver->findElement(WebDriverBy::id('tiny-image-sizes-notice'))->findElements(WebDriverBy::tagName('p'));
134117
$statuses = array_map('innerText', $elements);
135118
$this->assertContains('With these settings no images will be compressed.', $statuses);
136119
}

0 commit comments

Comments
 (0)