From e45b34cdb82ad8fad44374c0d8f1df64952dc3a7 Mon Sep 17 00:00:00 2001 From: Ben Coburn Date: Mon, 11 Sep 2006 03:47:38 +0200 Subject: changelog redesign update - Improves handling of deleted revisions. - Import plugin disables after import. - Check act reports if plugin is still enabled after the import. - Import correctly handles summaries without the minor prefix. - Newlines and tabs are now striped out of type, sum, and extra in the changelog. darcs-hash:20060911014738-05dcb-2f6c9fdffb6346f7d3190610a72b290090b28097.gz --- lib/plugins/importoldchangelog/action.php | 11 +++++++++-- lib/plugins/plugin/admin.php | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/plugins/importoldchangelog/action.php b/lib/plugins/importoldchangelog/action.php index e927b3e26..37f3eb87d 100644 --- a/lib/plugins/importoldchangelog/action.php +++ b/lib/plugins/importoldchangelog/action.php @@ -38,8 +38,14 @@ class action_plugin_importoldchangelog extends DokuWiki_Action_Plugin { $oldline = @explode("\t", $line); if ($oldline!==false && count($oldline)>1) { // trim summary - $wasMinor = (substr($oldline[4], 0, 1)==='*'); - $sum = rtrim(substr($oldline[4], 1), "\n"); + $tmp = substr($oldline[4], 0, 1); + $wasMinor = ($tmp==='*'); + if ($tmp==='*' || $tmp===' ') { + $sum = rtrim(substr($oldline[4], 1), "\n"); + } else { + // no is_minor prefix in summary + $sum = rtrim($oldline[4], "\n"); + } // guess line type $type = 'E'; if ($wasMinor) { $type = 'e'; } @@ -171,6 +177,7 @@ function importoldchangelog_plugin_shutdown() { // import successful touch($path['import_ok']); @unlink($path['failed']); + plugin_disable('importoldchangelog'); // only needs to run once } } diff --git a/lib/plugins/plugin/admin.php b/lib/plugins/plugin/admin.php index 643754771..0062d7370 100644 --- a/lib/plugins/plugin/admin.php +++ b/lib/plugins/plugin/admin.php @@ -23,7 +23,7 @@ require_once(DOKU_PLUGIN.'admin.php'); // plugins that are an integral part of dokuwiki, they shouldn't be disabled or deleted global $plugin_protected; - $plugin_protected = array('acl','plugin','config','info','usermanager', 'importoldchangelog'); + $plugin_protected = array('acl','plugin','config','info','usermanager'); /** * All DokuWiki plugins to extend the admin function -- cgit v1.2.3