Changeset 3423970
- Timestamp:
- 12/19/2025 09:05:04 PM (2 months ago)
- Location:
- wpcf7-redirect
- Files:
-
- 16 edited
- 1 copied
-
tags/3.2.8 (copied) (copied from wpcf7-redirect/trunk)
-
tags/3.2.8/classes/class-wpcf7r-save-files.php (modified) (3 diffs)
-
tags/3.2.8/readme.txt (modified) (2 diffs)
-
tags/3.2.8/vendor/codeinwp/themeisle-sdk/load.php (modified) (1 diff)
-
tags/3.2.8/vendor/codeinwp/themeisle-sdk/src/Loader.php (modified) (2 diffs)
-
tags/3.2.8/vendor/codeinwp/themeisle-sdk/src/Modules/Announcements.php (modified) (3 diffs)
-
tags/3.2.8/vendor/composer/installed.json (modified) (3 diffs)
-
tags/3.2.8/vendor/composer/installed.php (modified) (3 diffs)
-
tags/3.2.8/wpcf7-redirect.php (modified) (2 diffs)
-
trunk/classes/class-wpcf7r-save-files.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/vendor/codeinwp/themeisle-sdk/load.php (modified) (1 diff)
-
trunk/vendor/codeinwp/themeisle-sdk/src/Loader.php (modified) (2 diffs)
-
trunk/vendor/codeinwp/themeisle-sdk/src/Modules/Announcements.php (modified) (3 diffs)
-
trunk/vendor/composer/installed.json (modified) (3 diffs)
-
trunk/vendor/composer/installed.php (modified) (3 diffs)
-
trunk/wpcf7-redirect.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wpcf7-redirect/tags/3.2.8/classes/class-wpcf7r-save-files.php
r3340847 r3423970 179 179 */ 180 180 public function move_file_to_upload( $file_path ) { 181 182 $validate = wp_check_filetype( $file_path ); 183 if ( ! $validate['type'] || preg_match( '#^[a-zA-Z0-9+.-]+://#', $file_path ) ) { 184 die( esc_html__( 'File type is not allowed', 'wpcf7-redirect' ) ); 185 } 186 181 187 global $wp_filesystem; 182 188 $this->filesystem_init(); … … 264 270 265 271 if ( is_dir( $dir ) && is_writable( $dir ) ) { 272 $this->init_index_file( $dir ); 266 273 $htaccess_file = path_join( $dir, '.htaccess' ); 267 274 … … 294 301 } 295 302 } 303 304 /** 305 * Initializes the index.php file. 306 * 307 * @param string $dir Upload dir path. 308 * @return void 309 */ 310 private function init_index_file( $dir ) { 311 $index_file = path_join( $dir, 'index.php' ); 312 313 if ( file_exists( $index_file ) ) { 314 list( , $second_line_comment ) = (array) file( 315 $index_file, 316 FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES 317 ); 318 319 if ( '// Silence is golden.' === $second_line_comment ) { 320 return; 321 } 322 } 323 324 $handle = @fopen( $index_file, 'w' ); 325 326 if ( $handle ) { 327 fwrite( $handle, "<?php\n" ); 328 fwrite( $handle, '// Silence is golden.' ); 329 330 fclose( $handle ); 331 } 332 } 296 333 } -
wpcf7-redirect/tags/3.2.8/readme.txt
r3422864 r3423970 4 4 Requires at least: 5.2.0 5 5 Tested up to: 6.9 6 Stable tag: 3.2. 76 Stable tag: 3.2.8 7 7 License: GPLv3 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 153 153 154 154 == Changelog == 155 156 ##### Version 3.2.8 (2025-12-19) 157 158 - Enhanced security 159 160 161 155 162 156 163 ##### Version 3.2.7 (2025-10-15) -
wpcf7-redirect/tags/3.2.8/vendor/codeinwp/themeisle-sdk/load.php
r3378810 r3423970 15 15 } 16 16 // Current SDK version and path. 17 $themeisle_sdk_version = '3.3. 49';17 $themeisle_sdk_version = '3.3.50'; 18 18 $themeisle_sdk_path = dirname( __FILE__ ); 19 19 -
wpcf7-redirect/tags/3.2.8/vendor/codeinwp/themeisle-sdk/src/Loader.php
r3378810 r3423970 332 332 */ 333 333 public static function init() { 334 /** 335 * This filter can be used to localize the labels inside each product. 336 */ 337 self::$labels = apply_filters( 'themeisle_sdk_labels', self::$labels ); 334 self::localize_labels(); 338 335 if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Loader ) ) { 339 336 self::$instance = new Loader(); … … 347 344 348 345 add_action( 'themeisle_sdk_first_activation', array( __CLASS__, 'activate' ) ); 349 } 346 347 } 348 } 349 350 /** 351 * Localize the labels. 352 */ 353 public static function localize_labels() { 354 $originals = self::$labels; 355 $all_translations = []; 356 357 global $wp_filter; 358 if ( isset( $wp_filter['themeisle_sdk_labels'] ) ) { 359 foreach ( $wp_filter['themeisle_sdk_labels']->callbacks as $priority => $hooks ) { 360 foreach ( $hooks as $hook ) { 361 // Each callback gets fresh originals, not previous callback's output 362 $result = call_user_func( $hook['function'], $originals ); 363 $all_translations[] = $result; 364 } 365 } 366 367 // Remove the filter so it doesn't run again via apply_filters 368 remove_all_filters( 'themeisle_sdk_labels' ); 369 } 370 371 // Merge all results, first real translation wins 372 self::$labels = self::merge_all_translations( $originals, $all_translations ); 373 } 374 /** 375 * Merge all translations. 376 * 377 * @param array $originals The original labels. 378 * @param array $all_translations The all translations. 379 * 380 * @return array The merged labels. 381 */ 382 private static function merge_all_translations( $originals, $all_translations ) { 383 $result = $originals; 384 385 foreach ( $all_translations as $translations ) { 386 $result = self::merge_if_translated( $result, $translations, $originals ); 387 } 388 389 return $result; 390 } 391 /** 392 * Merge if translated. 393 * 394 * @param array $current The current labels. 395 * @param array $new The new labels. 396 * @param array $originals The original labels. 397 * @return array The merged labels. 398 */ 399 private static function merge_if_translated( $current, $new, $originals ) { 400 foreach ( $new as $key => $value ) { 401 if ( ! isset( $originals[ $key ] ) ) { 402 // New key, accept it 403 if ( ! isset( $current[ $key ] ) ) { 404 $current[ $key ] = $value; 405 } 406 continue; 407 } 408 409 if ( is_array( $value ) && is_array( $originals[ $key ] ) ) { 410 $current[ $key ] = self::merge_if_translated( 411 $current[ $key ], 412 $value, 413 $originals[ $key ] 414 ); 415 } else { 416 // Only accept if: 417 // 1. New value is actually translated (differs from original) 418 // 2. Current value is NOT already translated 419 $is_new_translated = ( $value !== $originals[ $key ] ); 420 $is_current_untranslated = ( $current[ $key ] === $originals[ $key ] ); 421 422 if ( $is_new_translated && $is_current_untranslated ) { 423 $current[ $key ] = $value; 424 } 425 } 426 } 427 428 return $current; 350 429 } 351 430 -
wpcf7-redirect/tags/3.2.8/vendor/codeinwp/themeisle-sdk/src/Modules/Announcements.php
r3299385 r3423970 246 246 } 247 247 248 $logo_url = ! empty( $data['logo_url'] ) ? $data['logo_url'] : $this->get_sdk_uri() . 'assets/images/themeisle-logo.png'; 249 $cta_label = ! empty( $data['cta_label'] ) ? $data['cta_label'] : Loader::$labels['announcements']['notice_link_label']; 248 250 $sale_url = ! empty( $data['sale_url'] ) ? $data['sale_url'] : ''; 249 251 $hide_other_notices = ! empty( $data['hide_other_notices'] ) ? $data['hide_other_notices'] : ! $can_dismiss; … … 341 343 <img 342 344 width="45" 343 src="<?php echo esc_url( $ this->get_sdk_uri() . 'assets/images/themeisle-logo.png'); ?>"345 src="<?php echo esc_url( $logo_url ); ?>" 344 346 /> 345 347 </div> … … 361 363 class="button button-primary themeisle-sale-button" 362 364 > 363 <?php echo esc_html( Loader::$labels['announcements']['notice_link_label']); ?>365 <?php echo esc_html( $cta_label ); ?> 364 366 </a> 365 367 </div> -
wpcf7-redirect/tags/3.2.8/vendor/composer/installed.json
r3378810 r3423970 3 3 { 4 4 "name": "codeinwp/themeisle-sdk", 5 "version": "3.3. 49",6 "version_normalized": "3.3. 49.0",5 "version": "3.3.50", 6 "version_normalized": "3.3.50.0", 7 7 "source": { 8 8 "type": "git", 9 9 "url": "https://github.com/Codeinwp/themeisle-sdk.git", 10 "reference": " 605f78bbbd8526f7597a89077791043d9ecc8c20"10 "reference": "3c1f8dfc2390e667bbc086c5d660900a7985efa6" 11 11 }, 12 12 "dist": { 13 13 "type": "zip", 14 "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/ 605f78bbbd8526f7597a89077791043d9ecc8c20",15 "reference": " 605f78bbbd8526f7597a89077791043d9ecc8c20",14 "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/3c1f8dfc2390e667bbc086c5d660900a7985efa6", 15 "reference": "3c1f8dfc2390e667bbc086c5d660900a7985efa6", 16 16 "shasum": "" 17 17 }, … … 20 20 "yoast/phpunit-polyfills": "^2.0" 21 21 }, 22 "time": "2025- 09-18T13:41:05+00:00",22 "time": "2025-11-25T19:36:35+00:00", 23 23 "type": "library", 24 24 "installation-source": "dist", … … 41 41 "support": { 42 42 "issues": "https://github.com/Codeinwp/themeisle-sdk/issues", 43 "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3. 49"43 "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3.50" 44 44 }, 45 45 "install-path": "../codeinwp/themeisle-sdk" -
wpcf7-redirect/tags/3.2.8/vendor/composer/installed.php
r3378810 r3423970 2 2 'root' => array( 3 3 'name' => 'codeinwp/redirection-for-contact-form-7', 4 'pretty_version' => 'v3.2. 7',5 'version' => '3.2. 7.0',6 'reference' => ' 9cb057ba7f84897e50999bb7ad33ed26754d1d0b',4 'pretty_version' => 'v3.2.8', 5 'version' => '3.2.8.0', 6 'reference' => '7fb33bb24bd77aa5378bd38a04372aadee884478', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'codeinwp/redirection-for-contact-form-7' => array( 14 'pretty_version' => 'v3.2. 7',15 'version' => '3.2. 7.0',16 'reference' => ' 9cb057ba7f84897e50999bb7ad33ed26754d1d0b',14 'pretty_version' => 'v3.2.8', 15 'version' => '3.2.8.0', 16 'reference' => '7fb33bb24bd77aa5378bd38a04372aadee884478', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../', … … 21 21 ), 22 22 'codeinwp/themeisle-sdk' => array( 23 'pretty_version' => '3.3. 49',24 'version' => '3.3. 49.0',25 'reference' => ' 605f78bbbd8526f7597a89077791043d9ecc8c20',23 'pretty_version' => '3.3.50', 24 'version' => '3.3.50.0', 25 'reference' => '3c1f8dfc2390e667bbc086c5d660900a7985efa6', 26 26 'type' => 'library', 27 27 'install_path' => __DIR__ . '/../codeinwp/themeisle-sdk', -
wpcf7-redirect/tags/3.2.8/wpcf7-redirect.php
r3378810 r3423970 3 3 * Plugin Name: Redirection for Contact Form 7 4 4 * Description: The ultimate add-on for Contact Form 7 - redirect to any page after submission, fire scripts, save submissions in database, and much more options to make Contact Form 7 powerful than ever. 5 * Version: 3.2. 75 * Version: 3.2.8 6 6 * Author: Themeisle 7 7 * Author URI: http://themeisle.com … … 29 29 } 30 30 31 define( 'WPCF7_PRO_REDIRECT_PLUGIN_VERSION', '3.2. 7' );31 define( 'WPCF7_PRO_REDIRECT_PLUGIN_VERSION', '3.2.8' ); 32 32 define( 'WPCF7_PRO_MIGRATION_VERSION', '1' ); 33 33 define( 'WPCF7_PRO_REDIRECT_CLASSES_PATH', plugin_dir_path( __FILE__ ) . 'classes/' ); -
wpcf7-redirect/trunk/classes/class-wpcf7r-save-files.php
r3340847 r3423970 179 179 */ 180 180 public function move_file_to_upload( $file_path ) { 181 182 $validate = wp_check_filetype( $file_path ); 183 if ( ! $validate['type'] || preg_match( '#^[a-zA-Z0-9+.-]+://#', $file_path ) ) { 184 die( esc_html__( 'File type is not allowed', 'wpcf7-redirect' ) ); 185 } 186 181 187 global $wp_filesystem; 182 188 $this->filesystem_init(); … … 264 270 265 271 if ( is_dir( $dir ) && is_writable( $dir ) ) { 272 $this->init_index_file( $dir ); 266 273 $htaccess_file = path_join( $dir, '.htaccess' ); 267 274 … … 294 301 } 295 302 } 303 304 /** 305 * Initializes the index.php file. 306 * 307 * @param string $dir Upload dir path. 308 * @return void 309 */ 310 private function init_index_file( $dir ) { 311 $index_file = path_join( $dir, 'index.php' ); 312 313 if ( file_exists( $index_file ) ) { 314 list( , $second_line_comment ) = (array) file( 315 $index_file, 316 FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES 317 ); 318 319 if ( '// Silence is golden.' === $second_line_comment ) { 320 return; 321 } 322 } 323 324 $handle = @fopen( $index_file, 'w' ); 325 326 if ( $handle ) { 327 fwrite( $handle, "<?php\n" ); 328 fwrite( $handle, '// Silence is golden.' ); 329 330 fclose( $handle ); 331 } 332 } 296 333 } -
wpcf7-redirect/trunk/readme.txt
r3422864 r3423970 4 4 Requires at least: 5.2.0 5 5 Tested up to: 6.9 6 Stable tag: 3.2. 76 Stable tag: 3.2.8 7 7 License: GPLv3 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 153 153 154 154 == Changelog == 155 156 ##### Version 3.2.8 (2025-12-19) 157 158 - Enhanced security 159 160 161 155 162 156 163 ##### Version 3.2.7 (2025-10-15) -
wpcf7-redirect/trunk/vendor/codeinwp/themeisle-sdk/load.php
r3378810 r3423970 15 15 } 16 16 // Current SDK version and path. 17 $themeisle_sdk_version = '3.3. 49';17 $themeisle_sdk_version = '3.3.50'; 18 18 $themeisle_sdk_path = dirname( __FILE__ ); 19 19 -
wpcf7-redirect/trunk/vendor/codeinwp/themeisle-sdk/src/Loader.php
r3378810 r3423970 332 332 */ 333 333 public static function init() { 334 /** 335 * This filter can be used to localize the labels inside each product. 336 */ 337 self::$labels = apply_filters( 'themeisle_sdk_labels', self::$labels ); 334 self::localize_labels(); 338 335 if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Loader ) ) { 339 336 self::$instance = new Loader(); … … 347 344 348 345 add_action( 'themeisle_sdk_first_activation', array( __CLASS__, 'activate' ) ); 349 } 346 347 } 348 } 349 350 /** 351 * Localize the labels. 352 */ 353 public static function localize_labels() { 354 $originals = self::$labels; 355 $all_translations = []; 356 357 global $wp_filter; 358 if ( isset( $wp_filter['themeisle_sdk_labels'] ) ) { 359 foreach ( $wp_filter['themeisle_sdk_labels']->callbacks as $priority => $hooks ) { 360 foreach ( $hooks as $hook ) { 361 // Each callback gets fresh originals, not previous callback's output 362 $result = call_user_func( $hook['function'], $originals ); 363 $all_translations[] = $result; 364 } 365 } 366 367 // Remove the filter so it doesn't run again via apply_filters 368 remove_all_filters( 'themeisle_sdk_labels' ); 369 } 370 371 // Merge all results, first real translation wins 372 self::$labels = self::merge_all_translations( $originals, $all_translations ); 373 } 374 /** 375 * Merge all translations. 376 * 377 * @param array $originals The original labels. 378 * @param array $all_translations The all translations. 379 * 380 * @return array The merged labels. 381 */ 382 private static function merge_all_translations( $originals, $all_translations ) { 383 $result = $originals; 384 385 foreach ( $all_translations as $translations ) { 386 $result = self::merge_if_translated( $result, $translations, $originals ); 387 } 388 389 return $result; 390 } 391 /** 392 * Merge if translated. 393 * 394 * @param array $current The current labels. 395 * @param array $new The new labels. 396 * @param array $originals The original labels. 397 * @return array The merged labels. 398 */ 399 private static function merge_if_translated( $current, $new, $originals ) { 400 foreach ( $new as $key => $value ) { 401 if ( ! isset( $originals[ $key ] ) ) { 402 // New key, accept it 403 if ( ! isset( $current[ $key ] ) ) { 404 $current[ $key ] = $value; 405 } 406 continue; 407 } 408 409 if ( is_array( $value ) && is_array( $originals[ $key ] ) ) { 410 $current[ $key ] = self::merge_if_translated( 411 $current[ $key ], 412 $value, 413 $originals[ $key ] 414 ); 415 } else { 416 // Only accept if: 417 // 1. New value is actually translated (differs from original) 418 // 2. Current value is NOT already translated 419 $is_new_translated = ( $value !== $originals[ $key ] ); 420 $is_current_untranslated = ( $current[ $key ] === $originals[ $key ] ); 421 422 if ( $is_new_translated && $is_current_untranslated ) { 423 $current[ $key ] = $value; 424 } 425 } 426 } 427 428 return $current; 350 429 } 351 430 -
wpcf7-redirect/trunk/vendor/codeinwp/themeisle-sdk/src/Modules/Announcements.php
r3299385 r3423970 246 246 } 247 247 248 $logo_url = ! empty( $data['logo_url'] ) ? $data['logo_url'] : $this->get_sdk_uri() . 'assets/images/themeisle-logo.png'; 249 $cta_label = ! empty( $data['cta_label'] ) ? $data['cta_label'] : Loader::$labels['announcements']['notice_link_label']; 248 250 $sale_url = ! empty( $data['sale_url'] ) ? $data['sale_url'] : ''; 249 251 $hide_other_notices = ! empty( $data['hide_other_notices'] ) ? $data['hide_other_notices'] : ! $can_dismiss; … … 341 343 <img 342 344 width="45" 343 src="<?php echo esc_url( $ this->get_sdk_uri() . 'assets/images/themeisle-logo.png'); ?>"345 src="<?php echo esc_url( $logo_url ); ?>" 344 346 /> 345 347 </div> … … 361 363 class="button button-primary themeisle-sale-button" 362 364 > 363 <?php echo esc_html( Loader::$labels['announcements']['notice_link_label']); ?>365 <?php echo esc_html( $cta_label ); ?> 364 366 </a> 365 367 </div> -
wpcf7-redirect/trunk/vendor/composer/installed.json
r3378810 r3423970 3 3 { 4 4 "name": "codeinwp/themeisle-sdk", 5 "version": "3.3. 49",6 "version_normalized": "3.3. 49.0",5 "version": "3.3.50", 6 "version_normalized": "3.3.50.0", 7 7 "source": { 8 8 "type": "git", 9 9 "url": "https://github.com/Codeinwp/themeisle-sdk.git", 10 "reference": " 605f78bbbd8526f7597a89077791043d9ecc8c20"10 "reference": "3c1f8dfc2390e667bbc086c5d660900a7985efa6" 11 11 }, 12 12 "dist": { 13 13 "type": "zip", 14 "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/ 605f78bbbd8526f7597a89077791043d9ecc8c20",15 "reference": " 605f78bbbd8526f7597a89077791043d9ecc8c20",14 "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/3c1f8dfc2390e667bbc086c5d660900a7985efa6", 15 "reference": "3c1f8dfc2390e667bbc086c5d660900a7985efa6", 16 16 "shasum": "" 17 17 }, … … 20 20 "yoast/phpunit-polyfills": "^2.0" 21 21 }, 22 "time": "2025- 09-18T13:41:05+00:00",22 "time": "2025-11-25T19:36:35+00:00", 23 23 "type": "library", 24 24 "installation-source": "dist", … … 41 41 "support": { 42 42 "issues": "https://github.com/Codeinwp/themeisle-sdk/issues", 43 "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3. 49"43 "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3.50" 44 44 }, 45 45 "install-path": "../codeinwp/themeisle-sdk" -
wpcf7-redirect/trunk/vendor/composer/installed.php
r3378810 r3423970 2 2 'root' => array( 3 3 'name' => 'codeinwp/redirection-for-contact-form-7', 4 'pretty_version' => 'v3.2. 7',5 'version' => '3.2. 7.0',6 'reference' => ' 9cb057ba7f84897e50999bb7ad33ed26754d1d0b',4 'pretty_version' => 'v3.2.8', 5 'version' => '3.2.8.0', 6 'reference' => '7fb33bb24bd77aa5378bd38a04372aadee884478', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'codeinwp/redirection-for-contact-form-7' => array( 14 'pretty_version' => 'v3.2. 7',15 'version' => '3.2. 7.0',16 'reference' => ' 9cb057ba7f84897e50999bb7ad33ed26754d1d0b',14 'pretty_version' => 'v3.2.8', 15 'version' => '3.2.8.0', 16 'reference' => '7fb33bb24bd77aa5378bd38a04372aadee884478', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../', … … 21 21 ), 22 22 'codeinwp/themeisle-sdk' => array( 23 'pretty_version' => '3.3. 49',24 'version' => '3.3. 49.0',25 'reference' => ' 605f78bbbd8526f7597a89077791043d9ecc8c20',23 'pretty_version' => '3.3.50', 24 'version' => '3.3.50.0', 25 'reference' => '3c1f8dfc2390e667bbc086c5d660900a7985efa6', 26 26 'type' => 'library', 27 27 'install_path' => __DIR__ . '/../codeinwp/themeisle-sdk', -
wpcf7-redirect/trunk/wpcf7-redirect.php
r3378810 r3423970 3 3 * Plugin Name: Redirection for Contact Form 7 4 4 * Description: The ultimate add-on for Contact Form 7 - redirect to any page after submission, fire scripts, save submissions in database, and much more options to make Contact Form 7 powerful than ever. 5 * Version: 3.2. 75 * Version: 3.2.8 6 6 * Author: Themeisle 7 7 * Author URI: http://themeisle.com … … 29 29 } 30 30 31 define( 'WPCF7_PRO_REDIRECT_PLUGIN_VERSION', '3.2. 7' );31 define( 'WPCF7_PRO_REDIRECT_PLUGIN_VERSION', '3.2.8' ); 32 32 define( 'WPCF7_PRO_MIGRATION_VERSION', '1' ); 33 33 define( 'WPCF7_PRO_REDIRECT_CLASSES_PATH', plugin_dir_path( __FILE__ ) . 'classes/' );
Note: See TracChangeset
for help on using the changeset viewer.