| @@ -29,25 +29,37 @@ | ||
| 29 | 29 | * |
| 30 | 30 | * @since 1.0.0 |
| 31 | 31 | */ |
| 32 | 32 | public static function activate() { |
| 33 | + add_option( 'quickwebp_installed_at', time(), '', false ); | |
| 34 | + self::maybe_add_rewrite_rules(); | |
| 35 | + } | |
| 33 | 36 | |
| 34 | - $library_to_use = get_option( 'quickwebp_settings_library', quickwebp_settings_default('quickwebp_settings_library') ); | |
| 37 | + /** | |
| 38 | + * Add rewrite rules | |
| 39 | + */ | |
| 40 | + public static function maybe_add_rewrite_rules() { | |
| 41 | + | |
| 42 | + $web_mode = get_option( 'quickwebp_settings_conversion_display_webp_mode', quickwebp_settings_default('quickwebp_settings_conversion_display_webp_mode') ); | |
| 43 | + if ( 'rewrite' !== $web_mode ) { | |
| 44 | + return; | |
| 45 | + } | |
| 35 | 46 | |
| 36 | - switch ($library_to_use) { | |
| 47 | + global $is_apache, $is_iis7, $is_nginx; | |
| 37 | 48 | |
| 38 | - case 'gd': | |
| 39 | - if ( !extension_loaded('gd') ) { | |
| 40 | - update_option( 'quickwebp_settings_library', 'imagick' ); | |
| 41 | - } | |
| 42 | - break; | |
| 49 | + include_once QUICKWEBP_PLUGIN_PATH . 'admin/rewrite-rules/class-apache.php'; | |
| 50 | + include_once QUICKWEBP_PLUGIN_PATH . 'admin/rewrite-rules/class-nginx.php'; | |
| 51 | + include_once QUICKWEBP_PLUGIN_PATH . 'admin/rewrite-rules/class-iis.php'; | |
| 43 | 52 | |
| 44 | - case 'imagick': | |
| 45 | - if ( !extension_loaded('imagick') ) { | |
| 46 | - update_option( 'quickwebp_settings_library', 'gd' ); | |
| 47 | - } | |
| 48 | - break; | |
| 53 | + if ( $is_apache ) { | |
| 54 | + $rules = new Quickwebp_Apache(); | |
| 55 | + } elseif ( $is_iis7 ) { | |
| 56 | + $rules = new Quickwebp_IIS(); | |
| 57 | + } elseif ( $is_nginx ) { | |
| 58 | + $rules = new Quickwebp_Nginx(); | |
| 59 | + } else { | |
| 60 | + return; | |
| 49 | 61 | } |
| 50 | 62 | |
| 63 | + $rules->add(); | |
| 51 | 64 | } |
| 52 | - | |
| 53 | 65 | } |