X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Fupdate-gosa;h=55214d133d92abce2ba557858b96896ab11558e8;hb=049641fae8b746c2903149dc64219f4a758124a5;hp=186947d5afd344da366bd9848bf60c923afd40c9;hpb=8037157447e699234c75d4e03550ba7159f987e5;p=gosa.git diff --git a/gosa-core/update-gosa b/gosa-core/update-gosa index 186947d5a..55214d133 100755 --- a/gosa-core/update-gosa +++ b/gosa-core/update-gosa @@ -1,5 +1,25 @@ -#!/usr/bin/php5 +#!/usr/bin/php compiled/${language}/LC_MESSAGES/messages.po)", $val); + system ("(cd ".LOCALE_DIR." && msgcat --use-first ".implode(" ", $po_files)." > compiled/${language}/LC_MESSAGES/messages.po)", $val); if ($val != 0){ echo "Merging of message files failed - aborted"; exit (4); @@ -164,6 +188,60 @@ function rescan_i18n() exit (5); } } + + echo "! Warning: you may need to reload your webservice!\n"; +} + + +function rescan_guide() +{ + $master_guide= "doc/guide.xml"; + echo "Updating Online Help Index...\n"; + $master_guide_content="\n". + "\n\n". + "\n\n". + "\n". + "\n"; + + $guide= 'doc/core/guide.xml'; + if(file_exists($guide) && is_readable($guide)) { + $master_guide_content.= file_get_contents($guide); + } + + if(file_exists('doc/plugins')) { + $plugins= scandir('doc/plugins'); + foreach($plugins as $key => $plugin) { + if($plugin != '.' && $plugin != '..') { + if(is_dir('doc/plugins/'.$plugin)) { + $guide= 'doc/plugins/'.$plugin.'/guide.xml'; + if(file_exists($guide) && is_readable($guide)) { + $master_guide_content.= file_get_contents($guide); + } + } + } + } + } + + $master_guide_content.= ""; + + $master_guide_content= preg_replace("/[ \t][ \t]*/", " ", $master_guide_content); + + if((file_exists($master_guide) && is_writable($master_guide)) || is_writable('doc')) { + file_put_contents($master_guide, $master_guide_content); + } + } @@ -179,9 +257,9 @@ function parse_ini($file) $plugin= &$tmp['gosa-plugin']; if (isset($plugin['name'])&& isset($plugin['description'])){ $res= $plugin['name']; - $provides[$res]= $plugin[$res]; $description[$res]= $plugin['description']; $versions[$res]= $plugin['version']; + $provides[$res]= $res; if (isset($plugin['depends'])){ $depends[$res]= explode(',', preg_replace('/\s+/', '', $plugin['depends'])); } @@ -342,7 +420,11 @@ function install_plugin($file) /* Calculate destination */ if (preg_match("%^.*locale/%", $source)){ - $dest= GOSA_HOME."/locale/plugin/$name/".preg_replace("%^.*locale/%", "", $source); + $dest= GOSA_HOME."/locale/plugins/$name/".preg_replace("%^.*locale/%", "", $source); + } elseif (preg_match("%^.*help/%", $source)) { + $dest= GOSA_HOME."/doc/plugins/$name/".preg_replace("%^.*help/%", "", $source); + } elseif (preg_match("%^.*html/%", $source)) { + $dest= GOSA_HOME."/html/plugins/$name/".preg_replace("%^.*html/%", "", $source); } else { $dest= GOSA_HOME."/plugins/".substr($entry->getPathName(), strlen($path) + 1); } @@ -377,6 +459,7 @@ function install_plugin($file) /* Update caches */ rescan_classes(); rescan_i18n(); + rescan_guide(); } @@ -434,6 +517,7 @@ function remove_plugin($name) /* Update caches */ rescan_classes(); rescan_i18n(); + rescan_guide(); } @@ -445,6 +529,7 @@ $description= $provides= $depends= $versions= $conflicts= array(); if ($argc < 2){ rescan_classes(); rescan_i18n(); + rescan_guide(); exit (0); }