[evolvis-commits] r13809: Added a script and cronjob for automated wiki creation
mirabilos at evolvis.org
mirabilos at evolvis.org
Mon Feb 28 02:59:50 CET 2011
Author: mirabilos
Date: 2011-02-28 02:59:50 +0100 (Mon, 28 Feb 2011)
New Revision: 13809
Added:
trunk/gforge_base/evolvisforge-5.1/gforge/packaging/cron.d/plugin-mediawiki
trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/drop-wiki.sh
trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/cronjobs/
trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/cronjobs/create-wikis.sh
Removed:
trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/db-delete.pl
trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/db-upgrade.pl
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-in/plugin-mediawiki.postinst
trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-in/plugin-mediawiki.prerm
trunk/gforge_base/evolvisforge-5.1/gforge/packaging/dirs/plugin-mediawiki
trunk/gforge_base/evolvisforge-5.1/gforge/packaging/install/plugin-mediawiki
trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/common/MediaWikiPlugin.class.php
trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/www/frame.php
Log:
Added a script and cronjob for automated wiki creation
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-in/plugin-mediawiki.postinst
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-in/plugin-mediawiki.postinst 2011-02-28 01:59:47 UTC (rev 13808)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-in/plugin-mediawiki.postinst 2011-02-28 01:59:50 UTC (rev 13809)
@@ -25,7 +25,6 @@
case "$1" in
configure)
- # /usr/share/@PACKAGE@/plugins/mediawiki/bin/db-upgrade.pl
/usr/share/@PACKAGE@/bin/register-plugin mediawiki "Mediawiki"
@PACKAGE at -config
for flavour in apache apache-perl apache-ssl apache2 ; do
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-in/plugin-mediawiki.prerm
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-in/plugin-mediawiki.prerm 2011-02-28 01:59:47 UTC (rev 13808)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-in/plugin-mediawiki.prerm 2011-02-28 01:59:50 UTC (rev 13809)
@@ -21,7 +21,6 @@
remove|deconfigure)
/usr/share/@PACKAGE@/bin/unregister-plugin mediawiki
invoke-rc.d apache reload
- # /usr/share/@PACKAGE@/plugins/mediawiki/bin/db-delete.pl
;;
upgrade|failed-upgrade)
;;
Added: trunk/gforge_base/evolvisforge-5.1/gforge/packaging/cron.d/plugin-mediawiki
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/packaging/cron.d/plugin-mediawiki (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/packaging/cron.d/plugin-mediawiki 2011-02-28 01:59:50 UTC (rev 13809)
@@ -0,0 +1,6 @@
+#
+# Regular cron jobs for plugin-mediawiki
+#
+
+# Create new wikis four times an hour
+*/15 * * * * root [ -x /usr/share/gforge/plugins/mediawiki/cronjobs/create-wikis.sh ] && /usr/share/gforge/plugins/mediawiki/cronjobs/create-wikis.sh
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/packaging/dirs/plugin-mediawiki
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/packaging/dirs/plugin-mediawiki 2011-02-28 01:59:47 UTC (rev 13808)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/packaging/dirs/plugin-mediawiki 2011-02-28 01:59:50 UTC (rev 13809)
@@ -1,6 +1,8 @@
etc/gforge/plugins/mediawiki
etc/mediawiki-extensions/extensions-available
+usr/share/gforge/plugins/mediawiki/bin
usr/share/gforge/plugins/mediawiki/common
+usr/share/gforge/plugins/mediawiki/cronjobs
usr/share/gforge/www/plugins/mediawiki
usr/share/gforge/etc/httpd.d
usr/share/mediawiki/skins
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/packaging/install/plugin-mediawiki
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/packaging/install/plugin-mediawiki 2011-02-28 01:59:47 UTC (rev 13808)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/packaging/install/plugin-mediawiki 2011-02-28 01:59:50 UTC (rev 13809)
@@ -1,4 +1,6 @@
+plugins/mediawiki/bin/* usr/share/gforge/plugins/mediawiki/bin/
plugins/mediawiki/common/* usr/share/gforge/plugins/mediawiki/common/
+plugins/mediawiki/cronjobs/* usr/share/gforge/plugins/mediawiki/cronjobs/
plugins/mediawiki/www/* usr/share/gforge/www/plugins/mediawiki/
plugins/mediawiki/mediawiki-skin/* usr/share/mediawiki/skins/
plugins/mediawiki/etc/httpd.d/* usr/share/gforge/etc/httpd.d/
Deleted: trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/db-delete.pl
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/db-delete.pl 2011-02-28 01:59:47 UTC (rev 13808)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/db-delete.pl 2011-02-28 01:59:50 UTC (rev 13809)
@@ -1,187 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Debian-specific script to delete plugin-specific tables
-# Roland Mas <lolando at debian.org>
-
-use strict ;
-use diagnostics ;
-
-use DBI ;
-use MIME::Base64 ;
-use HTML::Entities ;
-
-use vars qw/$dbh @reqlist $query/ ;
-use vars qw/$sys_default_domain $sys_cvs_host $sys_download_host
- $sys_shell_host $sys_users_host $sys_docs_host $sys_lists_host
- $sys_dns1_host $sys_dns2_host $FTPINCOMING_DIR $FTPFILES_DIR
- $sys_urlroot $sf_cache_dir $sys_name $sys_themeroot
- $sys_news_group $sys_dbhost $sys_dbname $sys_dbuser $sys_dbpasswd
- $sys_ldap_base_dn $sys_ldap_host $admin_login $admin_password
- $server_admin $domain_name $newsadmin_groupid $statsadmin_groupid
- $skill_list/ ;
-use vars qw/$pluginname/ ;
-
-sub is_lesser ( $$ ) ;
-sub is_greater ( $$ ) ;
-sub debug ( $ ) ;
-sub parse_sql_file ( $ ) ;
-
-require ("/usr/share/gforge/lib/include.pl") ; # Include a few predefined functions
-require ("/usr/share/gforge/lib/sqlparser.pm") ; # Our magic SQL parser
-
-debug "You'll see some debugging info during this installation." ;
-debug "Do not worry unless told otherwise." ;
-
-&db_connect ;
-
-# debug "Connected to the database OK." ;
-
-$pluginname = "mediawiki" ;
-
-$dbh->{AutoCommit} = 0;
-$dbh->{RaiseError} = 1;
-eval {
- my ($sth, @array, $version, $action, $path, $target, $rname) ;
-
- my $pattern = "plugin_" . $pluginname . '_%' ;
-
- $query = "SELECT relname FROM pg_class WHERE relname LIKE '$pattern' AND relkind='v'" ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- while (@array = $sth->fetchrow_array ()) {
- $rname = $array [0] ;
- &drop_view_if_exists ($rname) ;
- }
- $sth->finish () ;
-
- $query = "SELECT relname FROM pg_class WHERE relname LIKE '$pattern' AND relkind='r'" ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- while (@array = $sth->fetchrow_array ()) {
- $rname = $array [0] ;
- &drop_table_if_exists ($rname) ;
- }
- $sth->finish () ;
-
- $query = "SELECT relname FROM pg_class WHERE relname LIKE '$pattern' AND relkind='i'" ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- while (@array = $sth->fetchrow_array ()) {
- $rname = $array [0] ;
- &drop_index_if_exists ($rname) ;
- }
- $sth->finish () ;
-
- $query = "SELECT relname FROM pg_class WHERE relname LIKE '$pattern' AND relkind='s'" ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- while (@array = $sth->fetchrow_array ()) {
- $rname = $array [0] ;
- &drop_sequence_if_exists ($rname) ;
- }
- $sth->finish () ;
-
- $dbh->commit ();
-
-
- debug "It seems your database deletion went well and smoothly. That's cool." ;
- debug "Please enjoy using Debian GForge." ;
-
- # There should be a commit at the end of every block above.
- # If there is not, then it might be symptomatic of a problem.
- # For safety, we roll back.
- $dbh->rollback ();
-};
-
-if ($@) {
- warn "Transaction aborted because $@" ;
- debug "Transaction aborted because $@" ;
- debug "Last SQL query was:\n$query\n(end of query)" ;
- $dbh->rollback ;
- debug "Please report this bug on the Debian bug-tracking system." ;
- debug "Please include the previous messages as well to help debugging." ;
- debug "You should not worry too much about this," ;
- debug "your DB is still in a consistent state and should be usable." ;
- exit 1 ;
-}
-
-$dbh->rollback ;
-$dbh->disconnect ;
-
-sub debug ( $ ) {
- my $v = shift ;
- chomp $v ;
- print STDERR "$v\n" ;
-}
-
-sub drop_table_if_exists ( $ ) {
- my $tname = shift or die "Not enough arguments" ;
- $query = "SELECT count(*) FROM pg_class WHERE relname='$tname' AND relkind='r'" ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- if ($array [0] != 0) {
- # debug "Dropping table $tname" ;
- $query = "DROP TABLE $tname" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-}
-
-sub drop_sequence_if_exists ( $ ) {
- my $sname = shift or die "Not enough arguments" ;
- $query = "SELECT count(*) FROM pg_class WHERE relname='$sname' AND relkind='S'" ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- if ($array [0] != 0) {
- # debug "Dropping sequence $sname" ;
- $query = "DROP SEQUENCE $sname" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-}
-
-sub drop_index_if_exists ( $ ) {
- my $iname = shift or die "Not enough arguments" ;
- $query = "SELECT count(*) FROM pg_class WHERE relname='$iname' AND relkind='i'" ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- if ($array [0] != 0) {
- # debug "Dropping index $iname" ;
- $query = "DROP INDEX $iname" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-}
-
-sub drop_view_if_exists ( $ ) {
- my $iname = shift or die "Not enough arguments" ;
- $query = "SELECT count(*) FROM pg_class WHERE relname='$iname' AND relkind='v'" ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- if ($array [0] != 0) {
- # debug "Dropping view $iname" ;
- $query = "DROP VIEW $iname" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-}
Deleted: trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/db-upgrade.pl
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/db-upgrade.pl 2011-02-28 01:59:47 UTC (rev 13808)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/db-upgrade.pl 2011-02-28 01:59:50 UTC (rev 13809)
@@ -1,276 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Debian-specific script to upgrade the database between releases
-# Roland Mas <lolando at debian.org>
-#
-# Adapted for mediawiki
-
-use strict ;
-use diagnostics ;
-
-use DBI ;
-use MIME::Base64 ;
-use HTML::Entities ;
-
-use vars qw/$dbh @reqlist $query/ ;
-use vars qw/$sys_default_domain $sys_cvs_host $sys_download_host
- $sys_shell_host $sys_users_host $sys_docs_host $sys_lists_host
- $sys_dns1_host $sys_dns2_host $FTPINCOMING_DIR $FTPFILES_DIR
- $sys_urlroot $sf_cache_dir $sys_name $sys_themeroot
- $sys_news_group $sys_dbhost $sys_dbname $sys_dbuser $sys_dbpasswd
- $sys_ldap_base_dn $sys_ldap_host $admin_login $admin_password
- $server_admin $domain_name $newsadmin_groupid $statsadmin_groupid
- $skill_list/ ;
-use vars qw/$pluginname/ ;
-
-sub is_lesser ( $$ ) ;
-sub is_greater ( $$ ) ;
-sub debug ( $ ) ;
-sub parse_sql_file ( $ ) ;
-
-require ("/usr/share/gforge/lib/include.pl") ; # Include a few predefined functions
-require ("/usr/share/gforge/lib/sqlparser.pm") ; # Our magic SQL parser
-
-debug "You'll see some debugging info during this installation." ;
-debug "Do not worry unless told otherwise." ;
-
-&db_connect ;
-
-# debug "Connected to the database OK." ;
-
-$pluginname = "mediawiki" ;
-
-$dbh->{AutoCommit} = 0;
-$dbh->{RaiseError} = 1;
-eval {
- my ($sth, @array, $version, $path, $target) ;
-
- &create_metadata_table ("0") ;
-
- $version = &get_db_version ;
- $target = "0.1" ;
- if (is_lesser $version, $target) {
- my @filelist = ( "/usr/share/gforge/plugins/$pluginname/lib/$pluginname-init.sql" ) ;
-
- foreach my $file (@filelist) {
- debug "Processing $file" ;
- @reqlist = @{ &parse_sql_file ($file) } ;
-
- foreach my $s (@reqlist) {
- $query = $s ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
- }
- @reqlist = () ;
-
- &update_db_version ($target) ;
- debug "Committing." ;
- $dbh->commit () ;
- }
-
- debug "It seems your database install/upgrade went well and smoothly. That's cool." ;
- debug "Please enjoy using Debian GForge." ;
-
- # There should be a commit at the end of every block above.
- # If there is not, then it might be symptomatic of a problem.
- # For safety, we roll back.
- $dbh->rollback ();
-};
-
-if ($@) {
- warn "Transaction aborted because $@" ;
- debug "Transaction aborted because $@" ;
- debug "Last SQL query was:\n$query\n(end of query)" ;
- $dbh->rollback ;
- debug "Please report this bug on the Debian bug-tracking system." ;
- debug "Please include the previous messages as well to help debugging." ;
- debug "You should not worry too much about this," ;
- debug "your DB is still in a consistent state and should be usable." ;
- exit 1 ;
-}
-
-$dbh->rollback ;
-$dbh->disconnect ;
-
-sub is_lesser ( $$ ) {
- my $v1 = shift || 0 ;
- my $v2 = shift || 0 ;
-
- my $rc = system "dpkg --compare-versions $v1 lt $v2" ;
-
- return (! $rc) ;
-}
-
-sub is_greater ( $$ ) {
- my $v1 = shift || 0 ;
- my $v2 = shift || 0 ;
-
- my $rc = system "dpkg --compare-versions $v1 gt $v2" ;
-
- return (! $rc) ;
-}
-
-sub debug ( $ ) {
- my $v = shift ;
- chomp $v ;
- print STDERR "$v\n" ;
-}
-
-sub create_metadata_table ( $ ) {
- my $v = shift || "0" ;
- my $tablename = "plugin_" .$pluginname . "_meta_data" ;
- # Do we have the metadata table?
-
- $query = "SELECT count(*) FROM pg_class WHERE relname = '$tablename' and relkind = 'r'";
- # debug $query ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- # Let's create this table if we have it not
-
- if ($array [0] == 0) {
- debug "Creating $tablename table." ;
- $query = "CREATE TABLE $tablename (key varchar primary key, value text not null)" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-
- $query = "SELECT count(*) FROM $tablename WHERE key = 'db-version'";
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- # Empty table? We'll have to fill it up a bit
-
- if ($array [0] == 0) {
- debug "Inserting first data into $tablename table." ;
- $query = "INSERT INTO $tablename (key, value) VALUES ('db-version', '$v')" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-}
-
-sub update_db_version ( $ ) {
- my $v = shift or die "Not enough arguments" ;
- my $tablename = "plugin_" .$pluginname . "_meta_data" ;
-
- debug "Updating $tablename table." ;
- $query = "UPDATE $tablename SET value = '$v' WHERE key = 'db-version'" ;
- # debug $query ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
-}
-
-sub get_db_version () {
- my $tablename = "plugin_" .$pluginname . "_meta_data" ;
-
- $query = "SELECT value FROM $tablename WHERE key = 'db-version'" ;
- # debug $query ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- my $version = $array [0] ;
-
- return $version ;
-}
-
-sub drop_table_if_exists ( $ ) {
- my $tname = shift or die "Not enough arguments" ;
- $query = "SELECT count(*) FROM pg_class WHERE relname='$tname' AND relkind='r'" ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- if ($array [0] != 0) {
- # debug "Dropping table $tname" ;
- $query = "DROP TABLE $tname" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-}
-
-sub drop_sequence_if_exists ( $ ) {
- my $sname = shift or die "Not enough arguments" ;
- $query = "SELECT count(*) FROM pg_class WHERE relname='$sname' AND relkind='S'" ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- if ($array [0] != 0) {
- # debug "Dropping sequence $sname" ;
- $query = "DROP SEQUENCE $sname" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-}
-
-sub drop_index_if_exists ( $ ) {
- my $iname = shift or die "Not enough arguments" ;
- $query = "SELECT count(*) FROM pg_class WHERE relname='$iname' AND relkind='i'" ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- if ($array [0] != 0) {
- # debug "Dropping index $iname" ;
- $query = "DROP INDEX $iname" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-}
-
-sub drop_view_if_exists ( $ ) {
- my $iname = shift or die "Not enough arguments" ;
- $query = "SELECT count(*) FROM pg_class WHERE relname='$iname' AND relkind='v'" ;
- my $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- my @array = $sth->fetchrow_array () ;
- $sth->finish () ;
-
- if ($array [0] != 0) {
- # debug "Dropping view $iname" ;
- $query = "DROP VIEW $iname" ;
- # debug $query ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- $sth->finish () ;
- }
-}
-
-sub bump_sequence_to ( $$ ) {
- my ($sth, @array, $seqname, $targetvalue) ;
-
- $seqname = shift ;
- $targetvalue = shift ;
-
- do {
- $query = "select nextval ('$seqname')" ;
- $sth = $dbh->prepare ($query) ;
- $sth->execute () ;
- @array = $sth->fetchrow_array () ;
- $sth->finish () ;
- } until $array[0] >= $targetvalue ;
-}
Added: trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/drop-wiki.sh
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/drop-wiki.sh (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/drop-wiki.sh 2011-02-28 01:59:50 UTC (rev 13809)
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+# Usage: drop-wiki.sh <unix-name>
+
+project=$1
+
+wdprefix=/var/lib/gforge/plugins/mediawiki/wikidata
+
+# Minimal sanitisation of project name
+project=$(echo $project | sed s/[^-a-zA-Z0-9_]//g)
+if [ -d $wdprefix/$project ] ; then
+ rm -r $wdprefix/$project
+fi
+
+schema=$(echo plugin_mediawiki_$project | sed s/-/_/g)
+su -s /bin/sh postgres -c "/usr/bin/psql gforge" <<-EOF
+DROP SCHEMA $schema CASCADE;
+EOF
Property changes on: trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/bin/drop-wiki.sh
___________________________________________________________________
Added: svn:executable
+ *
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/common/MediaWikiPlugin.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/common/MediaWikiPlugin.class.php 2011-02-28 01:59:47 UTC (rev 13808)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/common/MediaWikiPlugin.class.php 2011-02-28 01:59:50 UTC (rev 13809)
@@ -80,17 +80,6 @@
$use_mediawikiplugin = getStringFromRequest('use_mediawikiplugin');
if ( $use_mediawikiplugin == 1 ) {
$group->setPluginUse ( $this->name );
-
- db_begin () ;
- $schemaname = "plugin_mediawiki_$fusionforgeproject" ;
- $schemaname = str_replace ('-', '_', $schemaname) ;
-
- $res = db_query_params ('CREATE SCHEMA $1',
- array ($schemaname)) ;
-
- db_commit () ;
-
-
} else {
$group->setPluginUse ( $this->name, false );
}
Added: trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/cronjobs/create-wikis.sh
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/cronjobs/create-wikis.sh (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/cronjobs/create-wikis.sh 2011-02-28 01:59:50 UTC (rev 13809)
@@ -0,0 +1,70 @@
+#! /bin/sh
+
+tmp3=$(mktemp)
+perl -e'require "/etc/gforge/local.pl"; print "*:*:$sys_dbname:$sys_dbuser:$sys_dbpasswd\n"' > $tmp3
+
+projects=$(echo "SELECT g.unix_group_name from groups g, group_plugin gp, plugins p where g.group_id = gp.group_id and gp.plugin_id = p.plugin_id and p.plugin_name = 'mediawiki' ;" \
+ | PGPASSFILE=/tmp/tmp.wOirlBjmDn /usr/bin/psql -U gforge gforge \
+ | tail -n +3 \
+ | grep '^ ')
+
+wdprefix=/var/lib/gforge/plugins/mediawiki/wikidata
+
+for project in $projects ; do
+ if [ ! -d $wdprefix/$project/images ] ; then
+ mkdir -p $wdprefix/$project/images
+ chown www-data $wdprefix/$project/images
+ touch $wdprefix/$project/LocalSettings.php
+ filteredprojects="$filteredprojects $project"
+ fi
+done
+
+projects=$filteredprojects
+
+for project in $projects ; do
+ schema=$(echo plugin_mediawiki_$project | sed s/-/_/g)
+
+ tmp1=$(mktemp)
+ tmp2=$(mktemp)
+
+ if su -s /bin/sh postgres -c "/usr/bin/psql gforge" 1> $tmp1 2> $tmp2 <<-EOF \
+ && [ "$(tail -n +2 $tmp1 | head -1)" = 'CREATE SCHEMA' ] ;
+SET LC_MESSAGES = 'C' ;
+CREATE SCHEMA $schema ;
+ALTER SCHEMA $schema OWNER TO gforge;
+EOF
+ then
+ rm -f $tmp1 $tmp2
+ else
+ echo "CREATE SCHEMA's STDOUT:"
+ cat $tmp1
+ echo "CREATE SCHEMA's STDERR:"
+ cat $tmp2
+ rm -f $tmp1 $tmp2 $tmp3
+ exit 1
+ fi
+
+ tmp1=$(mktemp)
+ tmp2=$(mktemp)
+
+ if PGPASSFILE=$tmp3 /usr/bin/psql -U gforge gforge 1> $tmp1 2> $tmp2 <<-EOF \
+ && true || [ "$(tail -1 $tmp1)" = 'COMMIT' ] ;
+SET search_path = "$schema" ;
+\i /usr/share/mediawiki/maintenance/postgres/tables.sql
+CREATE TEXT SEARCH CONFIGURATION $schema.default ( COPY = pg_catalog.english );
+COMMIT ;
+EOF
+ then
+ rm -f $tmp1 $tmp2
+ else
+ echo "Database creation STDOUT:"
+ cat $tmp1
+ echo "Database creation STDERR:"
+ cat $tmp2
+ rm -f $tmp1 $tmp2 $tmp3
+ exit 1
+ fi
+
+done
+
+rm -f $tmp3
Property changes on: trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/cronjobs/create-wikis.sh
___________________________________________________________________
Added: svn:executable
+ *
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/www/frame.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/www/frame.php 2011-02-28 01:59:47 UTC (rev 13808)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/plugins/mediawiki/www/frame.php 2011-02-28 01:59:50 UTC (rev 13809)
@@ -32,7 +32,11 @@
site_project_header($params);
-echo '<iframe src="'.util_make_url('/plugins/mediawiki/wiki/'.$group->getUnixName().'/index.php').'" frameborder="no" width=100% height=700></iframe>' ;
+if (file_exists ('/var/lib/gforge/plugins/mediawiki/wikidata/'.$group->getUnixName().'/LocalSettings.php')) {
+ echo '<iframe src="'.util_make_url('/plugins/mediawiki/wiki/'.$group->getUnixName().'/index.php').'" frameborder="no" width=100% height=700></iframe>' ;
+} else {
+ print _('Wiki not created yet, please wait for a few minutes.');
+}
site_project_footer(array());
More information about the evolvis-commits
mailing list