]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/po.pm
rename todo/merge_tincho-osm_branch.mdwn to todo/merge_tina-osm_branch.mdwn
[git.ikiwiki.info.git] / IkiWiki / Plugin / po.pm
index 6107a4a2252c256e715a3b0bd210eb28d45371b3..13b98b739bcd3ea76a6c059f95601bdadc6c1aa6 100644 (file)
@@ -51,7 +51,6 @@ sub import {
        hook(type => "checkcontent", id => "po", call => \&checkcontent);
        hook(type => "canremove", id => "po", call => \&canremove);
        hook(type => "canrename", id => "po", call => \&canrename);
-       hook(type => "editcontent", id => "po", call => \&editcontent);
        hook(type => "formbuilder_setup", id => "po", call => \&formbuilder_setup, last => 1);
        hook(type => "formbuilder", id => "po", call => \&formbuilder);
 
@@ -303,9 +302,8 @@ sub filter (@) {
        my $page = $params{page};
        my $destpage = $params{destpage};
        my $content = $params{content};
-       if (istranslation($page) && ! alreadyfiltered($page, $destpage)) {
+       if (istranslation($page)) {
                $content = po_to_markup($page, $content);
-               setalreadyfiltered($page, $destpage);
        }
        return $content;
 }
@@ -520,15 +518,6 @@ sub canrename (@) {
        return undef;
 }
 
-# As we're previewing or saving a page, the content may have
-# changed, so tell the next filter() invocation it must not be lazy.
-sub editcontent () {
-       my %params=@_;
-
-       unsetalreadyfiltered($params{page}, $params{page});
-       return $params{content};
-}
-
 sub formbuilder_setup (@) {
        my %params=@_;
        my $form=$params{form};
@@ -548,7 +537,7 @@ sub formbuilder_setup (@) {
                # their buttons, which is why this hook must be run last.
                # The canrename/canremove hooks already ensure this is forbidden
                # at the backend level, so this is only UI sugar.
-               if (istranslation($form->field("page"))) {
+               if (istranslation(scalar $form->field("page"))) {
                        map {
                                for (my $i = 0; $i < @{$params{buttons}}; $i++) {
                                        if (@{$params{buttons}}[$i] eq $_) {
@@ -736,42 +725,6 @@ sub myisselflink ($$) {
        return;
 }
 
-# ,----
-# | Blackboxes for private data
-# `----
-
-{
-       my %filtered;
-
-       sub alreadyfiltered($$) {
-               my $page=shift;
-               my $destpage=shift;
-
-               return exists $filtered{$page}{$destpage}
-                        && $filtered{$page}{$destpage} eq 1;
-       }
-
-       sub setalreadyfiltered($$) {
-               my $page=shift;
-               my $destpage=shift;
-
-               $filtered{$page}{$destpage}=1;
-       }
-
-       sub unsetalreadyfiltered($$) {
-               my $page=shift;
-               my $destpage=shift;
-
-               if (exists $filtered{$page}{$destpage}) {
-                       delete $filtered{$page}{$destpage};
-               }
-       }
-
-       sub resetalreadyfiltered() {
-               undef %filtered;
-       }
-}
-
 # ,----
 # | Helper functions
 # `----
@@ -993,10 +946,9 @@ sub refreshpofiles ($@) {
                }
 
                if (-e $pofile) {
-                       system("msgmerge", "--previous", "-q", "-U", "--backup=none", $pofile, $potfile) == 0
-                               or error("po(refreshpofiles) ".
-                                        sprintf(gettext("failed to update %s"),
-                                                $pofile));
+                       if (! (system("msgmerge", "--previous", "-q", "-U", "--backup=none", $pofile, $potfile) == 0)) {
+                               print STDERR ("po(refreshpofiles) ". sprintf(gettext("failed to update %s"), $pofile));
+                       }
                }
                else {
                        File::Copy::syscopy($potfile,$pofile)
@@ -1147,7 +1099,6 @@ sub commit_and_refresh ($) {
                IkiWiki::rcs_update();
        }
        # Reinitialize module's private variables.
-       resetalreadyfiltered();
        resettranslationscache();
        flushmemoizecache();
        # Trigger a wiki refresh.