[Fusionforge-commits] r9100 - in trunk/gforge: packaging/cron.d plugins/mediawiki/cronjobs plugins/mediawiki/etc/httpd.d plugins/mediawiki/www
Olaf Lenz
olenz at libremir.placard.fr.eu.org
Tue Mar 16 13:35:42 CET 2010
Author: olenz
Date: 2010-03-16 13:35:42 +0100 (Tue, 16 Mar 2010)
New Revision: 9100
Modified:
trunk/gforge/packaging/cron.d/00phpcron
trunk/gforge/packaging/cron.d/plugin-mediawiki
trunk/gforge/plugins/mediawiki/cronjobs/create-wikis.sh
trunk/gforge/plugins/mediawiki/etc/httpd.d/03mediawiki
trunk/gforge/plugins/mediawiki/www/LocalSettings.php
Log:
Made mediawiki better configurable for non-standard-directories.
Modified: trunk/gforge/packaging/cron.d/00phpcron
===================================================================
--- trunk/gforge/packaging/cron.d/00phpcron 2010-03-16 12:10:41 UTC (rev 9099)
+++ trunk/gforge/packaging/cron.d/00phpcron 2010-03-16 12:35:42 UTC (rev 9100)
@@ -1,4 +1,5 @@
-FFCRON="/usr/share/gforge/cronjobs"
+FFDIR=/usr/share/gforge
+FFCRON=$FFDIR/cronjobs
FFUSER=gforge
# You may need to change the pathname to php CLI (command line interface)
Modified: trunk/gforge/packaging/cron.d/plugin-mediawiki
===================================================================
--- trunk/gforge/packaging/cron.d/plugin-mediawiki 2010-03-16 12:10:41 UTC (rev 9099)
+++ trunk/gforge/packaging/cron.d/plugin-mediawiki 2010-03-16 12:35:42 UTC (rev 9100)
@@ -3,4 +3,4 @@
#
# 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
+*/15 * * * * root [ -x $FFDIR/plugins/mediawiki/cronjobs/create-wikis.sh ] && $FFDIR/plugins/mediawiki/cronjobs/create-wikis.sh
Modified: trunk/gforge/plugins/mediawiki/cronjobs/create-wikis.sh
===================================================================
--- trunk/gforge/plugins/mediawiki/cronjobs/create-wikis.sh 2010-03-16 12:10:41 UTC (rev 9099)
+++ trunk/gforge/plugins/mediawiki/cronjobs/create-wikis.sh 2010-03-16 12:35:42 UTC (rev 9100)
@@ -1,16 +1,23 @@
#! /bin/sh
+sys_etc_path="/etc/gforge"
+sys_var_apth="/var/lib/gforge"
+
+# set the data dir for the plugin
+wdprefix=$sys_var_path/plugins/mediawiki/wikidata
+
+# get DB credentials
tmp3=$(mktemp)
-perl -e'require "/etc/gforge/local.pl"; print "*:*:$sys_dbname:$sys_dbuser:$sys_dbpasswd\n"' > $tmp3
+perl -e'require "'$sys_etc_path'/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' ;" \
+# get all projects that use the mediawiki plugin
+all_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=$tmp3 /usr/bin/psql -U gforge gforge \
| tail -n +3 \
| grep '^ ')
-wdprefix=/var/lib/gforge/plugins/mediawiki/wikidata
-
-for project in $projects ; do
+# create image directory and LocalSettings.php for all projects that don't have it yet
+for project in $all_projects ; do
if [ ! -d $wdprefix/$project/images ] ; then
mkdir -p $wdprefix/$project/images
fi
@@ -47,13 +54,12 @@
EOF
- filteredprojects="$filteredprojects $project"
+ new_projects="$new_projects $project"
fi
done
-projects=$filteredprojects
-
-for project in $projects ; do
+# create mediawiki database for all projects that started to use mediawiki
+for project in $new_projects ; do
schema=$(echo plugin_mediawiki_$project | sed s/-/_/g)
tmp1=$(mktemp)
@@ -99,14 +105,9 @@
done
-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=$tmp3 /usr/bin/psql -U gforge gforge \
- | tail -n +3 \
- | grep '^ ')
-
tmp4=$(mktemp)
# Disable read anonymous if project is private
-for project in $projects ; do
+for project in $all_projects ; do
ispublic=$(echo "SELECT is_public from groups where unix_group_name = '${project}' ;" \
| PGPASSFILE=$tmp3 /usr/bin/psql -U gforge gforge \
| tail -n +3 \
Modified: trunk/gforge/plugins/mediawiki/etc/httpd.d/03mediawiki
===================================================================
--- trunk/gforge/plugins/mediawiki/etc/httpd.d/03mediawiki 2010-03-16 12:10:41 UTC (rev 9099)
+++ trunk/gforge/plugins/mediawiki/etc/httpd.d/03mediawiki 2010-03-16 12:35:42 UTC (rev 9100)
@@ -1,16 +1,16 @@
# 03mediawiki begin
-<Directory /var/lib/gforge/plugins/mediawiki>
+<Directory {var_lib_gforge}/plugins/mediawiki>
Options +FollowSymLinks -Indexes
AllowOverride All
order allow,deny
allow from all
# Allow mediawiki to connect to gforge
- Include /etc/gforge/httpd.secrets
- php_admin_value include_path "/etc/gforge/custom:/etc/gforge:/usr/share/gforge:/usr/share/gforge/www/include:."
+ Include {gforge_etc}/httpd.secrets
+ php_admin_value include_path "{sys_custom_path}:/etc/gforge:{usr_share_gforge}:{usr_share_gforge}/www/include:."
</Directory>
# some directories must be protected
-<DirectoryMatch /var/lib/gforge/plugins/mediawiki/wikidata/[-a-zA-Z0-9_]*/images>
+<DirectoryMatch {var_lib_gforge}/plugins/mediawiki/wikidata/[-a-zA-Z0-9_]*/images>
Options -FollowSymLinks
AllowOverride None
</DirectoryMatch>
Modified: trunk/gforge/plugins/mediawiki/www/LocalSettings.php
===================================================================
--- trunk/gforge/plugins/mediawiki/www/LocalSettings.php 2010-03-16 12:10:41 UTC (rev 9099)
+++ trunk/gforge/plugins/mediawiki/www/LocalSettings.php 2010-03-16 12:35:42 UTC (rev 9100)
@@ -1,7 +1,15 @@
<?php
+$sys_etc_path = "/etc/gforge";
+$sys_opt_path = "/usr/share/gforge";
+$sys_var_path = "/var/lib/gforge";
+
+define('MW_INSTALL_PATH', "$sys_opt_path/www/plugins/mediawiki/wikisrc");
+
$fusionforgeproject = 'siteadmin' ;
$exppath = explode ('/', $_SERVER['PHP_SELF']) ;
+
+# determine $fusionforgeproject
while (count ($exppath) >= 4) {
if (($exppath[0] == 'plugins') && ($exppath[1] == 'mediawiki') && ($exppath[2] == 'wiki') && ($exppath[4] == 'index.php')) {
$fusionforgeproject = $exppath[3] ;
@@ -11,8 +19,7 @@
}
}
-define('MW_INSTALL_PATH','/usr/share/gforge/www/plugins/mediawiki');
-$wikidata = "/var/lib/gforge/plugins/mediawiki/wikidata/$fusionforgeproject" ;
+$wikidata = $sys_var_path . "plugins/mediawiki/wikidata/$fusionforgeproject" ;
if( defined( 'MW_INSTALL_PATH' ) ) {
$IP = MW_INSTALL_PATH;
@@ -26,10 +33,10 @@
require_once( "$IP/includes/DefaultSettings.php" );
if ( isset( $_SERVER ) && array_key_exists( 'REQUEST_METHOD', $_SERVER ) ) {
- require_once ('/etc/gforge/local.inc') ;
- require_once ('/usr/share/gforge/www/env.inc.php') ;
+ require_once ("$sys_etc_path/local.inc") ;
+ require_once ("$sys_opt_path/www/env.inc.php") ;
} else {
- require_once ('/etc/gforge/database.inc') ;
+ require_once ("$sys_etc_path/database.inc") ;
}
$sys_dbport = 5432;
@@ -66,10 +73,7 @@
$wgLanguageCode = "en";
$wgDefaultSkin = 'fusionforge';
-$wgStyleDirectory = '/usr/share/mediawiki/skins' ;
-require ('/etc/gforge/local.inc') ;
-require ('/usr/share/gforge/www/env.inc.php') ;
$GLOBALS['sys_dbhost'] = $sys_dbhost ;
$GLOBALS['sys_dbport'] = $sys_dbport ;
$GLOBALS['sys_dbname'] = $sys_dbname ;
@@ -83,7 +87,7 @@
$GLOBALS['gfwww'] = $gfwww ;
$GLOBALS['gfplugins'] = $gfplugins ;
$GLOBALS['sys_lang'] = $sys_lang ;
-require ($gfwww.'include/pre.php') ;
+require ("$sys_opt_path/www/include/pre.php") ;
$GLOBALS['sys_urlroot'] = $sys_urlroot;
$GLOBALS['sys_session_key'] = $sys_session_key;
$GLOBALS['sys_session_expire'] = $sys_session_expire;
More information about the Fusionforge-commits
mailing list