static function activate()
 {
     // add graphics rules if enabled
     if (module::get_var("image_optimizer", "enable_thumb")) {
         image_optimizer::add_image_optimizer_rule("thumb");
     }
     if (module::get_var("image_optimizer", "enable_resize")) {
         image_optimizer::add_image_optimizer_rule("resize");
     }
 }
 public function save()
 {
     access::verify_csrf();
     $form = $this->_get_admin_form();
     if ($form->validate()) {
         foreach (array('jpg', 'png', 'gif') as $type) {
             module::set_var("image_optimizer", "path_" . $type, $form->paths->{"path_" . $type}->value);
             module::set_var("image_optimizer", "optlevel_thumb_" . $type, $form->thumb->{"optlevel_thumb_" . $type}->value);
             module::set_var("image_optimizer", "optlevel_resize_" . $type, $form->resize->{"optlevel_resize_" . $type}->value);
         }
         module::set_var("image_optimizer", "rotate_jpg", $form->rotate->rotate_jpg->value == 1);
         foreach (array('thumb', 'resize') as $target) {
             module::set_var("image_optimizer", "convert_" . $target . "_gif", $form->{$target}->{"convert_" . $target . "_gif"}->value);
             module::set_var("image_optimizer", "convert_" . $target . "_png", $form->{$target}->{"convert_" . $target . "_png"}->value);
             module::set_var("image_optimizer", "metastrip_" . $target, $form->{$target}->{"metastrip_" . $target}->value == 1);
             module::set_var("image_optimizer", "progressive_" . $target, $form->{$target}->{"progressive_" . $target}->value == 1);
             // deal with enable changes
             $enable_old = module::get_var("image_optimizer", "enable_" . $target);
             $enable_new = $form->{$target}->{"enable_" . $target}->value == 1;
             if ($enable_new && !$enable_old) {
                 image_optimizer::add_image_optimizer_rule($target);
                 module::set_var("image_optimizer", "enable_" . $target, true);
             } elseif (!$enable_new && $enable_old) {
                 image_optimizer::remove_image_optimizer_rule($target);
                 module::set_var("image_optimizer", "enable_" . $target, false);
             }
             // deal with update mode changes
             $update_mode_old = module::get_var("image_optimizer", "update_mode_" . $target);
             $update_mode_new = $form->{$target}->{"update_mode_" . $target}->value == 1;
             if ($update_mode_new && !$update_mode_old) {
                 image_optimizer::activate_update_mode($target);
             } elseif (!$update_mode_new && $update_mode_old) {
                 image_optimizer::deactivate_update_mode($target);
             }
             // dirty images if needed
             if ($form->{$target}->{"rebuild_" . $target}->value == 1) {
                 image_optimizer::dirty($target);
             }
         }
         // all done; redirect with message
         message::success(t("Image optimizer settings updated successfully"));
         url::redirect("admin/image_optimizer");
     }
     // not valid - print screen from existing form
     $this->_print_screen($form);
 }