[Pkg-mediawiki-devel] Seeking pre-upload approval (was Re: MW 1.19 for wheezy)
Thorsten Glaser
t.glaser at tarent.de
Thu Aug 30 09:52:13 UTC 2012
Hi everone,
this is a follow-up message to what was already requested in the
names of the Mediawiki and FusionForge packaging team:
On Wed, 6 Jun 2012, Thorsten Glaser wrote:
> Jonathan Wiltshire dixit:
>
> > With this in mind please bear with us for bringing this work and the associated
> > testing closer to the freeze than would otherwise be desirable, and we are
> > happy to provide status information on request.
>
> The same goes for FusionForge, which contains a plugin integrating
> MediaWiki. I’m currently working on getting these two together,
> *and* updating mediawiki-extensions for 1.19
[…]
> So please allow for changes to src:mediawiki-extensions and
> src:fusionforge to get those pieces of software working together
> well for wheezy.
I’m hereby seeking pre-upload approval for new uploads (not new
upstream versions) of src:mediawiki-extensions (the most critical
one), src:fusionforge (very important, as otherwise the mediawiki
binary package must declare a Breaks on fusionforge-plugin-mediawiki
and thus would require a sourceful upload too) and src:mediawiki
(the least critical, but still containing bugfixes and better
integration). The changes have been delayed due to dayjob issues,
illness and delays in answers to requests for testing, but are
tested now (in which subsequent issues have been found and fixed).
I would like to apologise for that, but point out that this was
announced, before the freeze, in the above-quoted mail.
To discuss the (slightly edited, e.g. to ease file removals) debdiffs:
• mediawiki-extensions_2.8.debdiff (against 2.7, which is the version
that really should have been in wheezy, had it not been for that
whole node.js issue; the debdiff against 2.6 is 6 MiB large because
MWE 2.6 targets MW 1.15 and MWE 2.7+ target MW 1.19; MWE 2.6 *will*
not work properly with MW 1.19 and #686190 is just the tip of the
iceberg so this _really_ should replace the t-p-u from earlier):
- turns out that the ECMAscript library dependencies on the extensions
package are no longer needed (eliminates the indirect hold of the
entire node.js issue)
- fix several HTML syntax issues
- fix API misuse resulting in internal strings (UNIQ‥QINU) being
shown on the pages displayed
- fix installation path so RSS_Reader can find its files
- (sort debian/patches/series)
• fusionforge_5.2~rc1wheezy1.debdiff
- most importantly, remove some non-DFSG-free files (minified .js and
binary .jar without source)
- use a native package format for wheezy, since the last few were
uploaded as native packages by accident, and the current state
in testing does not match *any* SVN revision anyway
- re-work the MediaWiki integration for MW 1.19, the old one *WILL*
*NOT* work with MW 1.19 (and the new one not with MW 1.15), with
much input from MediaWiki upstream developers (also removes dead
code, such as $sys_use_mwframe, and fixes a few other bugs)
- on 2010-03-19, the data path for the wiki data was (accidentally?)
changed, but nothing transitioned them to the new location: add a
postinst doing precisely that, and change the places where the old
path was still used in the package to the new path
- unbreak the nightly dump cronjob
- opt out of Apport automated bugreports due to bad experience in
Ubuntu, per http://www.researchut.com/site/blog/report-bugs-with-apport-2
- (add myself to Uploaders; agreed in IRC)
Note: plugins/mediawiki/mediawiki-skin/FusionForge.php.patch contains
a diff between plugins/mediawiki/mediawiki-skin/FusionForge.php.renamed
(basically a copy of skins/MonoBook.php from Mediawiki, with strings
replaced, which is generated by a Makefile in the same directory, but
which FF upstream insists should be committed into SVN) and the “real”
theme, just FusionForge.php (so you can ignore these two files when
perusing the diff).
• mediawiki_1.19.1-2.debdiff
- most importantly, includes a versioned Breaks against both
fusionforge and mediawiki-extensions versions from before
this upload (and backports thereof)
- several bugfixes to the generated HTML and PHP warning fixes
- some FusionForge integration: the latter has got a debugging
feature that interacts badly with wfSuppressWarnings() unless
it’s told that that is active
- refreshes patches and removes an unused one
Please allow me to upload these three packages to unstable
and them to migrate to testing to have a well-rounded
experience for users of MediaWiki both in FusionForge and
without, or, if for some reason you think this is not
suitable, despite our informing you about this eatly,
let’s discuss alternative plans.
Thanks in advance,
//mirabilos (Evolvis developer, FF committer, MW packager, DD)
--
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-314
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Boris Esser, Sebastian Mancke
-------------- next part --------------
diff -Nru mediawiki-1.19.1/debian/changelog mediawiki-1.19.1/debian/changelog
--- mediawiki-1.19.1/debian/changelog 2012-06-18 17:17:26.000000000 +0200
+++ mediawiki-1.19.1/debian/changelog 2012-08-30 11:09:28.000000000 +0200
@@ -1,3 +1,21 @@
+mediawiki (1:1.19.1-2) unstable; urgency=low
+
+ [ Thorsten Glaser ]
+ * Prevent <table></table> without any <tr /> inside, globally
+ * Fix more cases of not checking $wgHtml5
+ * MW’s ID (XML) sanitiser is there for a reason, use it!
+ * Prevent <ul></ul> without any <li /> inside in MonoBook
+ * Fix invalid XHTML caused by code not honouring $wgHtml5
+ * Quell some PHP warnings from sloppy code
+ * Do the wfSuppressWarnings patch used with FusionForge right
+ * Add myself to Uploaders and quieten lintian a bit
+ * Update versioned Breaks against fusionforge and mw-extensions
+
+ [ Jonathan Wiltshire ]
+ * Add Recommends on mediawiki-extensions-base and php-wikidiff2
+
+ -- Thorsten Glaser <tg at mirbsd.de> Wed, 08 Aug 2012 14:26:37 +0200
+
mediawiki (1:1.19.1-1) unstable; urgency=low
* New upstream bug fix release
diff -Nru mediawiki-1.19.1/debian/control mediawiki-1.19.1/debian/control
--- mediawiki-1.19.1/debian/control 2012-06-18 16:31:31.000000000 +0200
+++ mediawiki-1.19.1/debian/control 2012-08-08 14:29:45.000000000 +0200
@@ -2,7 +2,7 @@
Section: web
Priority: optional
Maintainer: Mediawiki Maintenance Team <pkg-mediawiki-devel at lists.alioth.debian.org>
-Uploaders: Romain Beauxis <toots at rastageeks.org>, Jonathan Wiltshire <jmw at debian.org>
+Uploaders: Romain Beauxis <toots at rastageeks.org>, Jonathan Wiltshire <jmw at debian.org>, Thorsten Glaser <tg at mirbsd.de>
Build-Depends: debhelper (>= 9),
dh-buildinfo,
ocaml-nox | ocaml, xsltproc, docbook-xml, docbook-xsl, po-debconf
@@ -14,9 +14,18 @@
Package: mediawiki
Architecture: all
Depends: apache2 | httpd, php5, php5-mysql | php5-pgsql | php5-sqlite, mime-support, libjs-jquery, libjs-jquery-tipsy, libjs-jquery-cookie, libjs-jquery-form, libjs-jquery-tablesorter, ${misc:Depends}
-Recommends: mysql-server | postgresql-contrib, php5-cli, python
+Recommends: mysql-server | postgresql-contrib, php5-cli, python, php-wikidiff2, mediawiki-extensions-base
Suggests: imagemagick | php5-gd, mediawiki-math, memcached, clamav
-Breaks: fusionforge-plugin-mediawiki (<< 5.2~rc1-4~)
+Breaks: fusionforge-plugin-mediawiki (<< 5.2~rc1wheezy1~),
+ mediawiki-extensions-base (<< 2.8~),
+ mediawiki-extensions-geshi (<< 2.8~),
+ mediawiki-extensions-ldapauth (<< 2.8~),
+ mediawiki-extensions-openid (<< 2.8~),
+ mediawiki-extensions-confirmedit (<< 2.8~),
+ mediawiki-extensions-fckeditor (<< 2.8~),
+ mediawiki-extensions-collection (<< 2.8~),
+ mediawiki-extensions-graphviz (<< 2.8~),
+ mediawiki-extensions (<< 2.8~)
Description: website engine for collaborative work
MediaWiki is a wiki engine (a program for creating a collaboratively
edited website). It is designed to handle heavy websites containing
diff -Nru mediawiki-1.19.1/debian/patches/fix_invalid_sql.patch mediawiki-1.19.1/debian/patches/fix_invalid_sql.patch
--- mediawiki-1.19.1/debian/patches/fix_invalid_sql.patch 2012-05-31 00:43:48.000000000 +0200
+++ mediawiki-1.19.1/debian/patches/fix_invalid_sql.patch 2012-08-03 14:10:57.000000000 +0200
@@ -1,3 +1,5 @@
+$Id: fix_invalid_sql.patch 365 2012-08-03 12:10:57Z tg $
+
Fix invalid SQL: Debian #615983
| A database error has occurred
| Query: INSERT IGNORE INTO page_restrictions (pr_page,pr_type,pr_level,pr_cascade,pr_user,pr_expiry) SELECT 793,pr_type,pr_level,pr_cascade,pr_user,pr_expiry FROM page_restrictions WHERE pr_page = '216'
@@ -7,9 +9,9 @@
| ^
Reference: https://evolvis.org/tracker/t_follow.php/1377
---- mediawiki-1.19.0.orig/includes/Title.php
-+++ mediawiki-1.19.0/includes/Title.php
-@@ -3524,8 +3524,7 @@
+--- a/includes/Title.php
++++ b/includes/Title.php
+@@ -3524,8 +3524,7 @@ class Title {
'pr_expiry' => 'pr_expiry'
),
array( 'pr_page' => $pageid ),
diff -Nru mediawiki-1.19.1/debian/patches/fix_invalid_xhtml.patch mediawiki-1.19.1/debian/patches/fix_invalid_xhtml.patch
--- mediawiki-1.19.1/debian/patches/fix_invalid_xhtml.patch 1970-01-01 01:00:00.000000000 +0100
+++ mediawiki-1.19.1/debian/patches/fix_invalid_xhtml.patch 2012-08-03 17:23:30.000000000 +0200
@@ -0,0 +1,169 @@
+$Id: fix_invalid_xhtml.patch 366 2012-08-03 15:23:30Z tg $
+
+Fix invalid XHTML:
+• prevent <table></table> without any <tr /> inside
+• someone forgot to check whether HTML5 was enabled before toying around
+• sanitise XML IDs (a space is *not* allowed, and "Main Page" contains one)
+• let makeLink and all its callers remove HTML5-only attributes from
+ hyperlinks if someone else was not careful (rather, several someones)
+• prevent <ul></ul> without any <li /> inside
+
+--- a/includes/HTMLForm.php
++++ b/includes/HTMLForm.php
+@@ -803,6 +803,9 @@ class HTMLForm extends ContextSource {
+ $attribs['id'] = Sanitizer::escapeId( "mw-htmlform-$sectionName" );
+ }
+
++ if (!$tableHtml)
++ $tableHtml = '<tr><td><!-- empty to prevent invalid XHTML --></td></tr>';
++
+ $tableHtml = Html::rawElement( 'table', $attribs,
+ Html::rawElement( 'tbody', array(), "\n$tableHtml\n" ) ) . "\n";
+
+@@ -1206,6 +1209,8 @@ class HTMLTextField extends HTMLFormFiel
+ }
+
+ function getInputHTML( $value ) {
++ global $wgHtml5;
++
+ $attribs = array(
+ 'id' => $this->mID,
+ 'name' => $this->mName,
+@@ -1229,6 +1234,8 @@ class HTMLTextField extends HTMLFormFiel
+ # well
+ foreach ( array( 'min', 'max', 'pattern', 'title', 'step',
+ 'placeholder' ) as $param ) {
++ if ( !$wgHtml5 && $param != 'title' )
++ continue;
+ if ( isset( $this->mParams[$param] ) ) {
+ $attribs[$param] = $this->mParams[$param];
+ }
+@@ -1625,13 +1632,14 @@ class HTMLMultiSelectField extends HTMLF
+ $html .= Html::rawElement( 'h1', array(), $label ) . "\n";
+ $html .= $this->formatOptions( $info, $value );
+ } else {
+- $thisAttribs = array( 'id' => "{$this->mID}-$info", 'value' => $info );
++ $info_id = Sanitizer::escapeId($this->mID . '-' . $info);
++ $thisAttribs = array( 'id' => $info_id, 'value' => $info );
+
+ $checkbox = Xml::check(
+ $this->mName . '[]',
+ in_array( $info, $value, true ),
+ $attribs + $thisAttribs );
+- $checkbox .= ' ' . Html::rawElement( 'label', array( 'for' => "{$this->mID}-$info" ), $label );
++ $checkbox .= ' ' . Html::rawElement( 'label', array( 'for' => $info_id ), $label );
+
+ $html .= ' ' . Html::rawElement( 'div', array( 'class' => 'mw-htmlform-flatlist-item' ), $checkbox );
+ }
+--- a/includes/SkinTemplate.php
++++ b/includes/SkinTemplate.php
+@@ -1613,6 +1613,8 @@ abstract class BaseTemplate extends Quic
+ * output a <span> instead of just text.
+ */
+ function makeLink( $key, $item, $options = array() ) {
++ global $wgHtml5;
++
+ if ( isset( $item['text'] ) ) {
+ $text = $item['text'];
+ } else {
+@@ -1664,6 +1666,11 @@ abstract class BaseTemplate extends Quic
+ $attrs['class'] = $options['link-class'];
+ }
+ }
++ if ( !$wgHtml5 ) {
++ foreach ( array( 'context', 'primary' ) as $k ) {
++ unset( $attrs[$k] );
++ }
++ }
+ $html = Html::rawElement( isset( $attrs['href'] ) ? 'a' : $options['link-fallback'], $attrs, $html );
+ }
+
+--- a/skins/MonoBook.php
++++ b/skins/MonoBook.php
+@@ -60,6 +60,8 @@ class MonoBookTemplate extends BaseTempl
+ * @access private
+ */
+ function execute() {
++ global $wgHtml5;
++
+ // Suppress warnings to prevent notices about missing indexes in $this->data
+ wfSuppressWarnings();
+
+@@ -69,7 +71,7 @@ class MonoBookTemplate extends BaseTempl
+ <a id="top"></a>
+ <?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice') ?></div><?php } ?>
+
+- <h1 id="firstHeading" class="firstHeading"><span dir="auto"><?php $this->html('title') ?></span></h1>
++ <h1 id="firstHeading" class="firstHeading"><span<?php if ($wgHtml5) echo ' dir="auto"'; ?>><?php $this->html('title') ?></span></h1>
+ <div id="bodyContent" class="mw-body">
+ <div id="siteSub"><?php $this->msg('tagline') ?></div>
+ <div id="contentSub"<?php $this->html('userlangattributes') ?>><?php $this->html('subtitle') ?></div>
+@@ -93,12 +95,21 @@ class MonoBookTemplate extends BaseTempl
+ <div class="portlet" id="p-personal">
+ <h5><?php $this->msg('personaltools') ?></h5>
+ <div class="pBody">
++<?php
++ $ul_shown = false;
++ foreach ($this->getPersonalTools() as $key => $item) {
++ if (!$ul_shown) {
++?>
+ <ul<?php $this->html('userlangattributes') ?>>
+-<?php foreach($this->getPersonalTools() as $key => $item) { ?>
+- <?php echo $this->makeListItem($key, $item); ?>
+-
+-<?php } ?>
+- </ul>
++<?php
++ $ul_shown = true;
++ }
++ echo "\n" . $this->makeListItem($key, $item);
++ }
++ if ($ul_shown) {
++ echo "\n</ul>\n";
++ }
++?>
+ </div>
+ </div>
+ <div class="portlet" id="p-logo">
+--- a/includes/Linker.php
++++ b/includes/Linker.php
+@@ -1148,7 +1148,7 @@ class Linker {
+ * @return string
+ */
+ private static function formatAutocommentsCallback( $match ) {
+- global $wgLang;
++ global $wgLang, $wgHtml5;
+ $title = self::$autocommentTitle;
+ $local = self::$autocommentLocal;
+
+@@ -1189,7 +1189,9 @@ class Linker {
+ $auto .= wfMsgExt( 'colon-separator', array( 'escapenoentities', 'content' ) );
+ }
+ $auto = '<span class="autocomment">' . $auto . '</span>';
+- $comment = $pre . $link . $wgLang->getDirMark() . '<span dir="auto">' . $auto . $post . '</span>';
++ $comment = $pre . $link . $wgLang->getDirMark() .
++ '<span' . ($wgHtml5 ? ' dir="auto"' : '') . '>' . $auto .
++ $post . '</span>';
+ return $comment;
+ }
+
+@@ -1381,6 +1383,8 @@ class Linker {
+ * @return string
+ */
+ public static function commentBlock( $comment, $title = null, $local = false ) {
++ global $wgHtml5;
++
+ // '*' used to be the comment inserted by the software way back
+ // in antiquity in case none was provided, here for backwards
+ // compatability, acc. to brion -ævar
+@@ -1388,7 +1392,9 @@ class Linker {
+ return '';
+ } else {
+ $formatted = self::formatComment( $comment, $title, $local );
+- return " <span class=\"comment\" dir=\"auto\">($formatted)</span>";
++ return " <span class=\"comment\"" .
++ ($wgHtml5 ? " dir=\"auto\"" : "") .
++ ">($formatted)</span>";
+ }
+ }
+
diff -Nru mediawiki-1.19.1/debian/patches/fix_warnings.patch mediawiki-1.19.1/debian/patches/fix_warnings.patch
--- mediawiki-1.19.1/debian/patches/fix_warnings.patch 1970-01-01 01:00:00.000000000 +0100
+++ mediawiki-1.19.1/debian/patches/fix_warnings.patch 2012-07-26 16:13:43.000000000 +0200
@@ -0,0 +1,28 @@
+$Id: fix_warnings.patch 359 2012-07-26 14:13:43Z tg $
+
+Fix code:
+• array_merge expects at least one argument
+• apparently, checking for syntax with unserialize() needs an extra
+
+--- a/includes/SkinTemplate.php
++++ b/includes/SkinTemplate.php
+@@ -1808,7 +1808,7 @@ abstract class BaseTemplate extends Quic
+ }
+ }
+
+- if ( $option == 'flat' ) {
++ if ( $option == 'flat' && $validFooterLinks ) {
+ // fold footerlinks into a single array using a bit of trickery
+ $validFooterLinks = call_user_func_array(
+ 'array_merge',
+--- a/includes/media/PNG.php
++++ b/includes/media/PNG.php
+@@ -78,7 +78,7 @@ class PNGHandler extends BitmapHandler {
+ }
+
+ wfSuppressWarnings();
+- $data = unserialize( $metadata );
++ $data = @unserialize( $metadata );
+ wfRestoreWarnings();
+
+ if ( !$data || !is_array( $data ) ) {
diff -Nru mediawiki-1.19.1/debian/patches/mimetypes.patch mediawiki-1.19.1/debian/patches/mimetypes.patch
--- mediawiki-1.19.1/debian/patches/mimetypes.patch 2012-05-31 00:43:48.000000000 +0200
+++ mediawiki-1.19.1/debian/patches/mimetypes.patch 2012-08-03 14:10:57.000000000 +0200
@@ -1,6 +1,8 @@
---- mediawiki-1.19.0.orig/includes/DefaultSettings.php
-+++ mediawiki-1.19.0/includes/DefaultSettings.php
-@@ -879,8 +879,8 @@
+$Id: mimetypes.patch 365 2012-08-03 12:10:57Z tg $
+
+--- a/includes/DefaultSettings.php
++++ b/includes/DefaultSettings.php
+@@ -879,8 +879,8 @@ $wgAntivirusRequired = true;
$wgVerifyMimeType = true;
/** Sets the mime type definition file to use by MimeMagic.php. */
diff -Nru mediawiki-1.19.1/debian/patches/series mediawiki-1.19.1/debian/patches/series
--- mediawiki-1.19.1/debian/patches/series 2012-06-14 00:11:34.000000000 +0200
+++ mediawiki-1.19.1/debian/patches/series 2012-07-26 15:54:47.000000000 +0200
@@ -1,3 +1,5 @@
mimetypes.patch
suppress_warnings.patch
fix_invalid_sql.patch
+fix_invalid_xhtml.patch
+fix_warnings.patch
diff -Nru mediawiki-1.19.1/debian/patches/suppress_warnings.patch mediawiki-1.19.1/debian/patches/suppress_warnings.patch
--- mediawiki-1.19.1/debian/patches/suppress_warnings.patch 2012-06-04 20:46:28.000000000 +0200
+++ mediawiki-1.19.1/debian/patches/suppress_warnings.patch 2012-08-03 14:10:57.000000000 +0200
@@ -1,10 +1,36 @@
-$Id: suppress_warnings.patch 315 2012-06-04 18:46:27Z jmw $
+$Id: suppress_warnings.patch 365 2012-08-03 12:10:57Z tg $
Suppress warnings from being run within FusionForge’s gforge-plugin-mediawiki
---- mediawiki-1.19.0.orig/includes/GlobalFunctions.php
-+++ mediawiki-1.19.0/includes/GlobalFunctions.php
-@@ -3362,7 +3362,7 @@
+--- a/includes/GlobalFunctions.php
++++ b/includes/GlobalFunctions.php
+@@ -2199,7 +2199,9 @@ function wfNegotiateType( $cprefs, $spre
+ *
+ * @param $end Bool
+ */
++$wf__warnings_suppressed = false;
+ function wfSuppressWarnings( $end = false ) {
++ global $wf__warnings_suppressed;
+ static $suppressCount = 0;
+ static $originalLevel = false;
+
+@@ -2208,6 +2210,7 @@ function wfSuppressWarnings( $end = fals
+ --$suppressCount;
+ if ( !$suppressCount ) {
+ error_reporting( $originalLevel );
++ $wf__warnings_suppressed = false;
+ }
+ }
+ } else {
+@@ -2217,6 +2220,7 @@ function wfSuppressWarnings( $end = fals
+ define( 'E_DEPRECATED', 8192 );
+ }
+ $originalLevel = error_reporting( E_ALL & ~( E_WARNING | E_NOTICE | E_USER_WARNING | E_USER_NOTICE | E_DEPRECATED ) );
++ $wf__warnings_suppressed = true;
+ }
+ ++$suppressCount;
+ }
+@@ -3362,7 +3366,7 @@ function wfSetupSession( $sessionId = fa
wfFixSessionID();
}
wfSuppressWarnings();
diff -Nru mediawiki-1.19.1/debian/patches/texvc_location.patch mediawiki-1.19.1/debian/patches/texvc_location.patch
--- mediawiki-1.19.1/debian/patches/texvc_location.patch 2012-05-31 00:43:48.000000000 +0200
+++ mediawiki-1.19.1/debian/patches/texvc_location.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
---- mediawiki-1.19.0.orig/includes/DefaultSettings.php
-+++ mediawiki-1.19.0/includes/DefaultSettings.php
-@@ -4002,8 +4002,11 @@
- * the MediaWiki package and have latex, dvips, gs (ghostscript), andconvert
- * (ImageMagick) installed and available in the PATH.
- * Please see math/README for more information.
-+ * For Debian, install the mediawiki-math package and the following line will
-+ * use the system texvc binary
- */
- $wgUseTeX = false;
-+$wgTexvc = '/usr/bin/texvc';
-
- /* @} */ # end LaTeX }
-
diff -Nru mediawiki-1.19.1/debian/rules mediawiki-1.19.1/debian/rules
--- mediawiki-1.19.1/debian/rules 2012-06-18 16:51:36.000000000 +0200
+++ mediawiki-1.19.1/debian/rules 2012-07-26 17:27:25.000000000 +0200
@@ -6,9 +6,14 @@
override_dh_install:
dh_install
+ # Ugh. This is easier than patching, though.
+ chmod a+x debian/mediawiki/usr/share/mediawiki/includes/normal/UtfNormalTest2.php
# Now some tidying up is required
chmod a+x debian/mediawiki/usr/share/mediawiki/maintenance/postgres/compare_schemas.pl
chmod a+x debian/mediawiki/usr/share/mediawiki/maintenance/postgres/mediawiki_mysql2postgres.pl
+ chmod a+x debian/mediawiki/var/lib/mediawiki/extensions/ConfirmEdit/captcha.py
+ chmod a-x debian/mediawiki/usr/share/mediawiki/resources/jquery/images/marker.png
+ chmod a-x debian/mediawiki/var/lib/mediawiki/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.config.js
find debian/mediawiki/usr/share/mediawiki -maxdepth 1 -mindepth 1 | grep -v "\(LocalSettings.php\|AdminSettings.php\|debian-scripts\|images\|extensions\|config\)" | \
while read i; do \
dh_link "`echo "$$i" | sed -e s#debian/mediawiki/##`" \
@@ -33,6 +38,7 @@
rm -f debian/mediawiki/usr/share/mediawiki/maintenance/cssjanus/COPYING
rm -f debian/mediawiki/usr/share/mediawiki/maintenance/cssjanus/LICENSE
rm -f debian/mediawiki/var/lib/mediawiki/extensions/ParserFunctions/COPYING
+ rm -f debian/mediawiki/var/lib/mediawiki/extensions/Nuke/COPYING
# Put debian version for mediawiki version..
sed -e "s#$(DEB_UPSTREAM_VERSION)#$(DEB_NOEPOCH_VERSION)#" \
-i debian/mediawiki/usr/share/mediawiki/includes/DefaultSettings.php
diff -Nru mediawiki-1.19.1/debian/watch mediawiki-1.19.1/debian/watch
--- mediawiki-1.19.1/debian/watch 2012-01-15 00:44:13.000000000 +0100
+++ mediawiki-1.19.1/debian/watch 2012-07-26 17:27:25.000000000 +0200
@@ -1,8 +1,3 @@
-# Example watch control file for uscan
-# Rename this file to "watch" and then you can run the "uscan" command
-# to check for upstream updates and more.
-# See uscan(1) for format
-
# Compulsory line, this is a version 3 file
version=3
-------------- next part --------------
diff -Nru mediawiki-extensions-2.7/debian/changelog mediawiki-extensions-2.8/debian/changelog
--- mediawiki-extensions-2.7/debian/changelog 2012-06-29 17:55:21.000000000 +0200
+++ mediawiki-extensions-2.8/debian/changelog 2012-08-30 11:09:35.000000000 +0200
@@ -1,3 +1,15 @@
+mediawiki-extensions (2.8) unstable; urgency=low
+
+ * Remove dependency of mw-ext-collection on various ECMAscript
+ libraries that apparently are available from MW core already
+ (as log message for r87847 suggests); enables testing transition
+ * Fix paths in RSS_Reader extension
+ * Quell those UNIQ‥QINU texts by fixing PageCSS to honour the API
+ * Fix content-less ul element in Collection extension
+ * Fix invalid XHTML in InputBox extension
+
+ -- Thorsten Glaser <tg at mirbsd.de> Wed, 08 Aug 2012 14:26:37 +0200
+
mediawiki-extensions (2.7) unstable; urgency=low
* Target MediaWiki 1.19
diff -Nru mediawiki-extensions-2.7/debian/control mediawiki-extensions-2.8/debian/control
--- mediawiki-extensions-2.7/debian/control 2012-06-29 17:55:21.000000000 +0200
+++ mediawiki-extensions-2.8/debian/control 2012-08-07 14:38:13.000000000 +0200
@@ -104,8 +104,7 @@
Package: mediawiki-extensions-collection
Architecture: all
-Depends: ${misc:Depends}, mediawiki-extensions-base,
- libjs-jquery, libjs-jquery-ui, libjs-json, php5-curl
+Depends: ${misc:Depends}, mediawiki-extensions-base, php5-curl
Description: Extensions for MediaWiki -- Collection extension
This package provides the mediawiki extensions for
creating books using collections of pages.
diff -Nru mediawiki-extensions-2.7/debian/control.in mediawiki-extensions-2.8/debian/control.in
--- mediawiki-extensions-2.7/debian/control.in 2012-06-29 17:50:22.000000000 +0200
+++ mediawiki-extensions-2.8/debian/control.in 2012-08-07 14:38:13.000000000 +0200
@@ -104,8 +104,7 @@
Package: mediawiki-extensions-collection
Architecture: all
-Depends: ${misc:Depends}, mediawiki-extensions-base,
- libjs-jquery, libjs-jquery-ui, libjs-json, php5-curl
+Depends: ${misc:Depends}, mediawiki-extensions-base, php5-curl
Description: Extensions for MediaWiki -- Collection extension
This package provides the mediawiki extensions for
creating books using collections of pages.
diff -Nru mediawiki-extensions-2.7/debian/mediawiki-extensions-collection.links mediawiki-extensions-2.8/debian/mediawiki-extensions-collection.links
--- mediawiki-extensions-2.7/debian/mediawiki-extensions-collection.links 2012-06-29 16:16:17.000000000 +0200
+++ mediawiki-extensions-2.8/debian/mediawiki-extensions-collection.links 2012-08-07 14:38:13.000000000 +0200
@@ -1,5 +1,2 @@
usr/share/mediawiki-extensions/collection var/lib/mediawiki/extensions/Collection
usr/share/mediawiki-extensions/collection/Collection.php etc/mediawiki-extensions/extensions-available/Collection.php
-usr/share/javascript/jquery-ui/jquery-ui.js usr/share/mediawiki-extensions/collection/collection/jquery.ui.js
-usr/share/javascript/jquery/jquery.js usr/share/mediawiki-extensions/collection/collection/jquery.js
-usr/share/javascript/json/json2.min.js usr/share/mediawiki-extensions/collection/collection/json2.js
diff -Nru mediawiki-extensions-2.7/debian/patches/fix_collection.patch mediawiki-extensions-2.8/debian/patches/fix_collection.patch
--- mediawiki-extensions-2.7/debian/patches/fix_collection.patch 2012-06-29 17:38:56.000000000 +0200
+++ mediawiki-extensions-2.8/debian/patches/fix_collection.patch 2012-07-26 15:14:37.000000000 +0200
@@ -1,7 +1,8 @@
-$Id: fix_collection.patch 344 2012-06-29 15:38:56Z tg $
+$Id: fix_collection.patch 352 2012-07-26 13:14:37Z tg $
Fix Collection extension:
• Invalid XHTML nesting
+• Empty ul element
--- a/dist/mediawiki-extensions-collection/usr/share/mediawiki-extensions/collection/Collection.templates.php
+++ b/dist/mediawiki-extensions-collection/usr/share/mediawiki-extensions/collection/Collection.templates.php
@@ -23,12 +24,39 @@
<input name="token" type="hidden" value="<?php echo htmlspecialchars( $GLOBALS['wgUser']->editToken() ) ?>" />
<input name="bookcmd" type="hidden" value="save_collection" />
</form>
-@@ -221,7 +221,7 @@ if ( count( $this->data['collection']['i
+@@ -215,13 +215,17 @@ if ( count( $this->data['collection']['i
+ </div>
+ <?php } ?>
+
+-<ul id="collectionList">
+-
+ <?php
++$ul_shown = false;
foreach ( $this->data['collection']['items'] as $index => $item ) {
- if ( $item['type'] == 'article' ) { ?>
+- if ( $item['type'] == 'article' ) { ?>
++ if ( $item['type'] == 'article' ) {
++ if (!$ul_shown) {
++ echo '<ul id="collectionList">' . "\n";
++ $ul_shown = true;
++ }
++?>
<li id="item-<?php echo intval( $index ) ?>" class="article">
- <a onclick="return coll_remove_item(<?php echo intval( $index ) ?>)" href="<?php echo htmlspecialchars( SkinTemplate::makeSpecialUrl( 'Book', array( 'bookcmd' => 'remove_item', 'index' => $index ) ) ) ?>" title="<?php $this->msg( 'coll-remove' ) ?>"><img src="<?php echo htmlspecialchars( $mediapath . "remove.png" ) ?>" width="10" height="10" alt="<?php $this->msg( 'coll-remove' ) ?>" /></a><a>
+ <a onclick="return coll_remove_item(<?php echo intval( $index ) ?>)" href="<?php echo htmlspecialchars( SkinTemplate::makeSpecialUrl( 'Book', array( 'bookcmd' => 'remove_item', 'index' => $index ) ) ) ?>" title="<?php $this->msg( 'coll-remove' ) ?>"><img src="<?php echo htmlspecialchars( $mediapath . "remove.png" ) ?>" width="10" height="10" alt="<?php $this->msg( 'coll-remove' ) ?>" /></a>
<noscript>
<?php if ( $index == 0 ) { ?>
<img src="<?php echo htmlspecialchars( $mediapath . "trans.png" ) ?>" width="10" height="10" alt="" />
+@@ -269,8 +273,11 @@ foreach ( $this->data['collection']['ite
+ <a class="makeVisible" <?php if ( !isset( $this->data['is_ajax'] ) ) { echo 'style="display:none"'; } ?> onclick="<?php echo htmlspecialchars( 'return coll_rename_chapter(' . intval( $index ) . ', ' . Xml::encodeJsVar( $item['title'] ) . ')' ) ?>" href="javascript:void(0)">[<?php $this->msg( 'coll-rename' ) ?>]</a>
+ </li>
+ <?php }
+-} ?>
+-</ul>
++}
++if ($ul_shown) {
++ echo "</ul>\n";
++}
++?>
+
+ </div>
+
diff -Nru mediawiki-extensions-2.7/debian/patches/fix_inputbox.patch mediawiki-extensions-2.8/debian/patches/fix_inputbox.patch
--- mediawiki-extensions-2.7/debian/patches/fix_inputbox.patch 1970-01-01 01:00:00.000000000 +0100
+++ mediawiki-extensions-2.8/debian/patches/fix_inputbox.patch 2012-07-26 15:39:58.000000000 +0200
@@ -0,0 +1,100 @@
+$Id: fix_inputbox.patch 354 2012-07-26 13:39:58Z tg $
+
+Fix InputBox extension:
+• Invalid XHTML
+
+--- a/dist/mediawiki-extensions-base/usr/share/mediawiki-extensions/base/InputBox/InputBox.classes.php
++++ b/dist/mediawiki-extensions-base/usr/share/mediawiki-extensions/base/InputBox/InputBox.classes.php
+@@ -74,6 +74,7 @@ class InputBox {
+ */
+ public function getSearchForm( $type ) {
+ global $wgContLang, $wgNamespaceAliases;
++ global $wgHtml5;
+
+ // Use button label fallbacks
+ if ( !$this->mButtonLabel ) {
+@@ -98,15 +99,19 @@ class InputBox {
+ 'action' => SpecialPage::getTitleFor( 'Search' )->escapeLocalUrl(),
+ )
+ );
+- $htmlOut .= Xml::element( 'input',
+- array(
++ $tmpa = array(
+ 'class' => 'searchboxInput',
+ 'name' => 'search',
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth,
+- )
++ );
++ if (!$wgHtml5) {
++ unset($tmpa['placeholder']);
++ }
++ $htmlOut .= Xml::element( 'input',
++ $tmpa
+ );
+
+ if( $this->mPrefix != '' ){
+@@ -302,6 +307,7 @@ class InputBox {
+ */
+ public function getCreateForm() {
+ global $wgScript;
++ global $wgHtml5;
+
+ if ( $this->mType == "comment" ) {
+ if ( !$this->mButtonLabel ) {
+@@ -387,15 +393,19 @@ class InputBox {
+ )
+ );
+ }
+- $htmlOut .= Xml::openElement( 'input',
+- array(
++ $tmpa = array(
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'title',
+ 'class' => 'createboxInput',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth
+- )
++ );
++ if (!$wgHtml5) {
++ unset($tmpa['placeholder']);
++ }
++ $htmlOut .= Xml::openElement( 'input',
++ $tmpa
+ );
+ $htmlOut .= $this->mBR;
+ $htmlOut .= Xml::openElement( 'input',
+@@ -418,6 +428,7 @@ class InputBox {
+ */
+ public function getCommentForm() {
+ global $wgScript;
++ global $wgHtml5;
+
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMsgHtml( "postcomment" );
+@@ -460,15 +471,19 @@ class InputBox {
+ 'value' => $this->mEditIntro,
+ )
+ );
+- $htmlOut .= Xml::openElement( 'input',
+- array(
++ $tmpa = array(
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'preloadtitle',
+ 'class' => 'commentboxInput',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth
+- )
++ );
++ if (!$wgHtml5) {
++ unset($tmpa['placeholder']);
++ }
++ $htmlOut .= Xml::openElement( 'input',
++ $tmpa
+ );
+ $htmlOut .= Xml::openElement( 'input',
+ array(
diff -Nru mediawiki-extensions-2.7/debian/patches/fix_pagecss.patch mediawiki-extensions-2.8/debian/patches/fix_pagecss.patch
--- mediawiki-extensions-2.7/debian/patches/fix_pagecss.patch 1970-01-01 01:00:00.000000000 +0100
+++ mediawiki-extensions-2.8/debian/patches/fix_pagecss.patch 2012-08-03 14:10:57.000000000 +0200
@@ -0,0 +1,16 @@
+$Id: fix_pagecss.patch 365 2012-08-03 12:10:57Z tg $
+
+Fix PageCSS extension:
+* parser hooks are expected to return strings, not void
+ => fixes those UNIQ...QINU things showing
+
+--- a/dist/mediawiki-extensions-base/usr/share/mediawiki-extensions/base/PageCSS/PageCSS.php
++++ b/dist/mediawiki-extensions-base/usr/share/mediawiki-extensions/base/PageCSS/PageCSS.php
+@@ -38,6 +38,7 @@ class CssHook {
+ </style>
+ EOT
+ );
++ return "";
+ }
+
+ }
diff -Nru mediawiki-extensions-2.7/debian/patches/fix_rssreader.patch mediawiki-extensions-2.8/debian/patches/fix_rssreader.patch
--- mediawiki-extensions-2.7/debian/patches/fix_rssreader.patch 2012-06-29 17:38:56.000000000 +0200
+++ mediawiki-extensions-2.8/debian/patches/fix_rssreader.patch 2012-08-01 16:55:32.000000000 +0200
@@ -1,9 +1,10 @@
-$Id: fix_rssreader.patch 344 2012-06-29 15:38:56Z tg $
+$Id: fix_rssreader.patch 364 2012-08-01 14:55:32Z tg $
Fix RSS_Reader extension:
* set $egCache to false by default, since we have no www-data writable
cache directory, and I don't think we want it
* add $egCacheDir which can be overridden by people who like to cache
+* fix installation path
* fix rendering path to CSS
* fix id="RSSMainBody" being used multiple times by making it into
a CSS class that can be used for styling RSS output instead
@@ -28,7 +29,12 @@
'author' => 'Artem Kaznatcheev',
'description' => 'Adds <tt><rss></tt> tag',
'url' => 'http://www.mediawiki.org/wiki/Extension:RSS_Reader'
-@@ -37,7 +38,8 @@ $egRSSReaderPath = $wgScriptPath."/exte
+@@ -33,11 +34,12 @@ $wgExtensionCredits['parserhook'][] = ar
+
+ ### Global Variables ###
+ //path to follow for server scripts
+-$egRSSReaderPath = $wgScriptPath."/extensions/RSSReader";
++$egRSSReaderPath = $wgScriptPath."/extensions/RSS_Reader";
$egCacheTime = 3600; //default cache time in seconds
$egCacheTimeMin = 1800; //minimum cache time in seconds
$egCacheTimeMax = 7200; //maximum cache time in seconds
@@ -55,7 +61,7 @@
+ $wgOut->addLink(array(
+ 'rel' => 'stylesheet',
+ 'type' => 'text/css',
-+ 'href' => "egRSSReaderPath/RSSReader.css?$wgRSSReaderExtVersion",
++ 'href' => "$egRSSReaderPath/RSSReader.css?$wgRSSReaderExtVersion",
+ ));
if (!$width) {
@@ -131,4 +137,4 @@
+http://www.mediawiki.org/w/index.php?title=Extension:RSS_Reader&oldid=390491
+
+
-+$Id: fix_rssreader.patch 344 2012-06-29 15:38:56Z tg $
++$Id: fix_rssreader.patch 364 2012-08-01 14:55:32Z tg $
diff -Nru mediawiki-extensions-2.7/debian/patches/series mediawiki-extensions-2.8/debian/patches/series
--- mediawiki-extensions-2.7/debian/patches/series 2012-06-29 17:38:56.000000000 +0200
+++ mediawiki-extensions-2.8/debian/patches/series 2012-08-03 14:10:57.000000000 +0200
@@ -1,10 +1,12 @@
fix_472283.patch
fix_collection.patch
-fix_fckeditor.patch
-fix_graphviz.patch
fix_createbox.patch
+fix_fckeditor.patch
fix_footnote.patch
+fix_graphviz.patch
+fix_inputbox.patch
+fix_interwiki.patch
fix_languageselector.patch
+fix_pagecss.patch
fix_rssreader.patch
-fix_interwiki.patch
news_dont_break_feeds.patch
-------------- next part --------------
Removed: lib/vendor/coolfieldset/js/jquery.js
Removed: lib/vendor/jquery/jquery-1.4.2.min.js
Removed: lib/vendor/jquery-storage/jquery.Storage.js
Removed: lib/vendor/jquery-ui/js/jquery-ui-1.8.17.custom.min.js
Removed: plugins/wiki/www/themes/Sidebar/hyperwiki.jar
Removed: plugins/wiki/www/themes/default/yuicompressor-2.4.7.jar
Removed: plugins/mediawiki/www/frame.php
Replaced: plugins/mediawiki/mediawiki-skin/FusionForge.php.reference
diff -Nru fusionforge-5.2~rc1/common/include/config-vars.php fusionforge-5.2~rc1wheezy1/common/include/config-vars.php
--- fusionforge-5.2~rc1/common/include/config-vars.php 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/common/include/config-vars.php 2012-08-06 11:01:06.000000000 +0200
@@ -255,12 +255,6 @@
forge_set_config_item_bool ('use_ssl', 'scmsvn') ;
}
-// Mediawiki plugin
-if (isset ($sys_use_mwframe)) {
- forge_define_config_item ('use_frame', 'mediawiki', $sys_use_mwframe ? 1 : 0) ;
- forge_set_config_item_bool ('use_frame', 'mediawiki') ;
-}
-
// Mantis plugin
if (file_exists ($gfconfig.'plugins/mantis/config.php')) {
require_once $gfconfig.'plugins/mantis/config.php' ;
diff -Nru fusionforge-5.2~rc1/common/include/pre.php fusionforge-5.2~rc1wheezy1/common/include/pre.php
--- fusionforge-5.2~rc1/common/include/pre.php 2012-06-28 11:02:39.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/common/include/pre.php 2012-08-06 11:06:57.000000000 +0200
@@ -348,12 +348,15 @@
$LUSER =& session_get_user();
$use_tooltips = $LUSER->usesTooltips();
header ('Cache-Control: private');
- require_once forge_get_config('themes_root').'/'.$LUSER->setUpTheme().'/Theme.class.php';
+ $x_theme = $LUSER->setUpTheme();
} else {
$use_tooltips = 1;
- require_once forge_get_config('themes_root').'/'.forge_get_config('default_theme').'/Theme.class.php';
+ $x_theme = forge_get_config('default_theme');
}
+ require_once forge_get_config('themes_root').'/'.$x_theme.'/Theme.class.php';
$HTML = new Theme () ;
+ $HTML->_theme = $x_theme;
+ unset($x_theme);
} else { // Script run from cron or a command line
require_once $gfcommon.'include/squal_exit.php';
}
diff -Nru fusionforge-5.2~rc1/debian/changelog fusionforge-5.2~rc1wheezy1/debian/changelog
--- fusionforge-5.2~rc1/debian/changelog 2012-06-28 20:16:27.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/debian/changelog 2012-08-30 11:11:39.000000000 +0200
@@ -1,3 +1,19 @@
+fusionforge (5.2~rc1wheezy1) unstable; urgency=low
+
+ * Since this package was accidentally uploaded as native package,
+ and there is a large delta to what’s in upstream SVN right now,
+ upload this deliberately as native package now.
+ * Add myself to uploaders
+ * Opt out of Apport reports
+ * Integrate with MediaWiki 1.19 (Closes: #679932)
+ * Update versioned Depends on MediaWiki
+ * Move wikis to new (as of 2010-03-19, possibly by accident) data path
+ * Check image upload is enabled before trying to do so (Closes: #679521)
+ * Unbreak and silence the MediaWiki nightly dump cronjob (Closes: #680165)
+ * Remove minified ECMAscript and binary *.jar from the source
+
+ -- Thorsten Glaser <tg at mirbsd.de> Thu, 30 Aug 2012 11:06:02 +0200
+
fusionforge (5.2~rc1-5) unstable; urgency=low
* Updated Debconf translations for Portuguese (thanks to Américo
diff -Nru fusionforge-5.2~rc1/debian/control fusionforge-5.2~rc1wheezy1/debian/control
--- fusionforge-5.2~rc1/debian/control 2012-06-02 18:02:24.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/debian/control 2012-08-08 14:29:48.000000000 +0200
@@ -2,12 +2,13 @@
Section: devel
Priority: optional
Maintainer: Roland Mas <lolando at debian.org>
-Uploaders: Christian Bayle <bayle at debian.org>, Olivier Berger <obergix at debian.org>
+Uploaders: Christian Bayle <bayle at debian.org>, Olivier Berger <obergix at debian.org>, Thorsten Glaser <tg at mirbsd.de>
Build-Depends-Indep: sharutils, docbook-to-man, devscripts, gettext, isoquery, iso-codes
Build-Depends: debhelper (>= 7), quilt (>= 0.40), perl, confget
Standards-Version: 3.9.2
Homepage: http://fusionforge.org/
Vcs-Svn: svn://scm.fusionforge.org/scmrepos/svn/fusionforge/trunk
+XBS-Apport: No
Package: fusionforge-standard
Architecture: all
@@ -464,7 +465,7 @@
Package: fusionforge-plugin-mediawiki
Architecture: all
-Depends: gforge-common (>= 4.8), gforge-db-postgresql (>= 4.8) | gforge-db, gforge-web-apache2 (>= 4.8) | gforge-web, postgresql-contrib | mysql-server, mediawiki (>= 1:1.15.5-10~), php5-cli, php5-gd, ${misc:Depends}
+Depends: gforge-common (>= 4.8), gforge-db-postgresql (>= 4.8) | gforge-db, gforge-web-apache2 (>= 4.8) | gforge-web, postgresql-contrib, mediawiki (>= 1:1.19.1-2~), php5-cli, php5-gd, ${misc:Depends}
Provides: gforge-plugin-mediawiki
Conflicts: gforge-plugin-mediawiki (<< 5.0.51-2)
Replaces: gforge-plugin-mediawiki (<< 5.0.51-2)
diff -Nru fusionforge-5.2~rc1/etc/httpd.conf.d/plugin-mediawiki.inc fusionforge-5.2~rc1wheezy1/etc/httpd.conf.d/plugin-mediawiki.inc
--- fusionforge-5.2~rc1/etc/httpd.conf.d/plugin-mediawiki.inc 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/etc/httpd.conf.d/plugin-mediawiki.inc 2012-08-16 11:54:53.000000000 +0200
@@ -1,7 +1,8 @@
RedirectMatch 301 ^(/plugins/mediawiki/wiki/[-a-zA-Z0-9_]*)/*$ $1/index.php
AliasMatch ^/plugins/mediawiki/wiki/[-a-zA-Z0-9_]*/api.php {core/source_path}/www/plugins/mediawiki/api.php
AliasMatch ^/plugins/mediawiki/wiki/[-a-zA-Z0-9_]*/index.php {core/source_path}/www/plugins/mediawiki/index.php
-AliasMatch ^/plugins/mediawiki/wiki/([-a-zA-Z0-9_]*)/images/(.*) {core/data_path}/plugins/mediawiki/wikidata/$1/images/$2
+AliasMatch ^/plugins/mediawiki/wiki/[-a-zA-Z0-9_]*/load.php {core/source_path}/www/plugins/mediawiki/load.php
+AliasMatch ^/plugins/mediawiki/wiki/([-a-zA-Z0-9_]*)/images/(.*) {core/data_path}/plugins/mediawiki/projects/$1/images/$2
AliasMatch ^/plugins/mediawiki/wiki/([-a-zA-Z0-9_]*)/skins/(.*) {mediawiki/src_path}/skins/$2
AliasMatch ^/plugins/mediawiki/wiki/([-a-zA-Z0-9_]*)/extensions/(.*) {mediawiki/src_path}/extensions/$2
AliasMatch ^/plugins/mediawiki/dumps/(.*)$ {core/data_path}/plugins/mediawiki/dumps/$1
diff -Nru fusionforge-5.2~rc1/packaging/control/000source fusionforge-5.2~rc1wheezy1/packaging/control/000source
--- fusionforge-5.2~rc1/packaging/control/000source 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/packaging/control/000source 2012-08-07 10:15:15.000000000 +0200
@@ -2,9 +2,10 @@
Section: devel
Priority: optional
Maintainer: Roland Mas <lolando at debian.org>
-Uploaders: Christian Bayle <bayle at debian.org>, Olivier Berger <obergix at debian.org>
+Uploaders: Christian Bayle <bayle at debian.org>, Olivier Berger <obergix at debian.org>, Thorsten Glaser <tg at mirbsd.de>
Build-Depends-Indep: sharutils, docbook-to-man, devscripts, gettext, isoquery, iso-codes
Build-Depends: debhelper (>= 7), quilt (>= 0.40), perl, confget
Standards-Version: 3.9.2
Homepage: http://fusionforge.org/
Vcs-Svn: svn://scm.fusionforge.org/scmrepos/svn/fusionforge/trunk
+XBS-Apport: No
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/README.codendi fusionforge-5.2~rc1wheezy1/plugins/mediawiki/README.codendi
--- fusionforge-5.2~rc1/plugins/mediawiki/README.codendi 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/README.codendi 2012-08-24 11:51:00.000000000 +0200
@@ -41,4 +41,4 @@
#,16,31,46 * * * * root [ -x $MWCRON/create-imagedirs.php ] && $PHP $MWCRON/create-imagedirs.php
# Create wiki XML dumps every night
-#5 1 * * * root [ -x $MWCRON/dump-wikis.php ] && $PHP $MWCRON/cronjobs/dump-wikis.php
+#5 1 * * * root [ -x $MWCRON/dump-wikis.php ] && $PHP $MWCRON/dump-wikis.php
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/bin/mw-wrapper.php fusionforge-5.2~rc1wheezy1/plugins/mediawiki/bin/mw-wrapper.php
--- fusionforge-5.2~rc1/plugins/mediawiki/bin/mw-wrapper.php 2012-05-31 09:42:32.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/bin/mw-wrapper.php 2012-08-24 10:54:21.000000000 +0200
@@ -27,16 +27,33 @@
* Wrapper to call MediaWiki maintenance scripts on a forge project wiki.
*/
-if (count ($argv) < 3) {
- echo "Usage: .../mw-wrapper.php <project> <script> [ arguments... ]
+function usage($rv=1) {
+ echo "Usage: .../mw-wrapper.php [-L] <project> <script> [ arguments... ]
For instance: .../mw-wrapper.php siteadmin importDump.php /tmp/wikidump.xml
.../mw-wrapper.php siteadmin rebuildrecentchanges.php
" ;
- exit (1) ;
+ exit($rv);
+}
+
+if (count($argv) < 3) {
+ usage();
}
$wrapperscript = array_shift ($argv) ;
$fusionforgeproject = array_shift ($argv) ;
+if ($fusionforgeproject == "-L") {
+ if (count($argv) < 2) {
+ usage();
+ }
+ $fusionforgeproject = array_shift($argv);
+ $preload_localsettings = true;
+} else {
+ /*
+ * saves some warnings
+ * works if the mwscript includes e.g. commandLine.inc
+ */
+ $preload_localsettings = false;
+}
$mwscript = array_shift ($argv) ;
require_once dirname(__FILE__).'/../../../common/include/env.inc.php';
@@ -66,14 +83,19 @@
register_shutdown_function('ffmw_wrapper_fixup_searchpath',
forge_get_config('database_user'));
-define( "MEDIAWIKI", true );
-require_once $gfwww.'plugins/mediawiki/LocalSettings.php' ;
+$ff_localsettings = forge_get_config('source_path') .
+ '/www/plugins/mediawiki/LocalSettings.php';
+if ($preload_localsettings) {
+ define("MEDIAWIKI", true);
+ require_once($ff_localsettings);
+}
$src_path = forge_get_config('src_path', 'mediawiki');
$mwscript = $src_path . '/maintenance/'.$mwscript ;
-array_unshift ($argv, $mwscript, '--conf', $fusionforge_basedir . '/plugins/mediawiki/www/LocalSettings.php') ;
+array_unshift($argv, $mwscript, '--conf', $ff_localsettings);
-while (@ob_end_flush());
+while (@ob_end_flush())
+ /* nothing */;
require_once $mwscript ;
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/debian/plugin-mediawiki.postinst fusionforge-5.2~rc1wheezy1/plugins/mediawiki/debian/plugin-mediawiki.postinst
--- fusionforge-5.2~rc1/plugins/mediawiki/debian/plugin-mediawiki.postinst 2012-06-13 17:58:24.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/debian/plugin-mediawiki.postinst 2012-08-16 11:54:53.000000000 +0200
@@ -10,6 +10,60 @@
done
}
+# Accomodate wikidata path change
+move_mediawikis() {
+ local a b found
+
+ # Determine whether there are any wikis to move
+ found=0
+ for a in /var/lib/gforge/plugins/mediawiki/wikidata/*; do
+ test -d "$a/." || continue
+ found=1
+ break
+ done
+ test $found = 1 || {
+ rmdir /var/lib/gforge/plugins/mediawiki/wikidata || \
+ echo >&2 "WARNING: Could not delete /var/lib/gforge/plugins/mediawiki/wikidata"
+ return 0
+ }
+
+ # Move wikis
+ (
+ cd /var/lib/gforge/plugins/mediawiki/wikidata
+ for a in *; do
+ test -d "$a/." || {
+ echo >&2 "WARNING: Non-directory /var/lib/gforge/plugins/mediawiki/wikidata/$a not migrated!"
+ continue
+ }
+ # Conflict?
+ b=../projects/$a
+ if test -e "$b"; then
+ b=$(mktemp "/var/lib/gforge/plugins/mediawiki/projects/$a-olddata-XXXXXXXXXX") || {
+ echo >&2 "Could not create temporary file."
+ exit 1
+ }
+ rm -f "$b"
+ fi
+ # Move.
+ mv "$a" "$b" || \
+ echo >&2 "WARNING: Could not move away /var/lib/gforge/plugins/mediawiki/wikidata/$a, investigate manually!"
+ done
+ )
+
+ # Look again for remnants
+ found=0
+ for a in /var/lib/gforge/plugins/mediawiki/wikidata/*; do
+ test -e "$a" || continue
+ echo >&2 "WARNING: Non-moved files in /var/lib/gforge/plugins/mediawiki/wikidata/ exist. Investigate manually!"
+ found=1
+ break
+ done
+ test $found = 1 || \
+ rmdir /var/lib/gforge/plugins/mediawiki/wikidata || \
+ echo >&2 "Could not delete empty /var/lib/gforge/plugins/mediawiki/wikidata"
+ return 0
+}
+
case "$1" in
triggered)
if [ "$2" = /usr/share/mediawiki/maintenance/postgres ] ; then
@@ -18,6 +72,11 @@
;;
configure)
+ # Data path changed
+ test -d /var/lib/gforge/plugins/mediawiki/wikidata/. && \
+ test -d /var/lib/gforge/plugins/mediawiki/projects/. && \
+ move_mediawikis
+
# Run plugin specific db upgrade
if [ -f /usr/share/@OLDPACKAGE@/plugins/@PLUGSHORTNAME@/bin/db-upgrade.pl ]
then
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/etc/cron.d/fusionforge-plugin-mediawiki fusionforge-5.2~rc1wheezy1/plugins/mediawiki/etc/cron.d/fusionforge-plugin-mediawiki
--- fusionforge-5.2~rc1/plugins/mediawiki/etc/cron.d/fusionforge-plugin-mediawiki 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/etc/cron.d/fusionforge-plugin-mediawiki 2012-08-24 10:54:21.000000000 +0200
@@ -17,4 +17,4 @@
1,16,31,46 * * * * root [ -x $MWCRON/create-imagedirs.php ] && $PHP $MWCRON/create-imagedirs.php
# Create wiki XML dumps every night
-55 1 * * * root [ -x $MWCRON/dump-wikis.php ] && $PHP $MWCRON/cronjobs/dump-wikis.php
+55 1 * * * root [ -x $MWCRON/dump-wikis.php ] && $PHP $MWCRON/dump-wikis.php
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/include/mediawikiPlugin.class.php fusionforge-5.2~rc1wheezy1/plugins/mediawiki/include/mediawikiPlugin.class.php
--- fusionforge-5.2~rc1/plugins/mediawiki/include/mediawikiPlugin.class.php 2012-06-19 17:17:40.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/include/mediawikiPlugin.class.php 2012-08-06 11:01:06.000000000 +0200
@@ -31,8 +31,6 @@
forge_define_config_item('master_path', 'mediawiki', '$mediawiki/mwdata_path/master');
forge_define_config_item('enable_uploads', 'mediawiki', false);
forge_set_config_item_bool('enable_uploads', 'mediawiki');
-forge_define_config_item('use_frame', 'mediawiki', false);
-forge_set_config_item_bool('use_frame', 'mediawiki');
}
class MediaWikiPlugin extends Plugin {
@@ -89,11 +87,7 @@
}
if ( $project->usesPlugin ( $this->name ) ) {
$params['TITLES'][]=$this->text;
- if (forge_get_config('use_frame', 'mediawiki')){
- $params['DIRS'][]=util_make_url('/plugins/mediawiki/frame.php?group_id=' . $project->getID()) ;
- } else {
$params['DIRS'][]=util_make_url('/plugins/mediawiki/wiki/'.$project->getUnixName().'/index.php');
- }
$params['ADMIN'][]='';
$params['TOOLTIPS'][] = _('Mediawiki Space');
}
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/FusionForge.php fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/FusionForge.php
--- fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/FusionForge.php 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/FusionForge.php 2012-08-07 10:53:48.000000000 +0200
@@ -20,33 +20,48 @@
*/
class SkinFusionForge extends SkinTemplate {
/** Using fusionforge. */
- function initPage( OutputPage $out ) {
- parent::initPage( $out );
- $this->skinname = 'fusionforge';
- $this->stylename = 'fusionforge';
- $this->template = 'FusionForgeTemplate';
+ var $skinname = 'fusionforge', $stylename = 'fusionforge',
+ $template = 'FusionForgeTemplate', $useHeadElement = true;
+ function setupTemplate( $classname, $repository = false, $cache_dir = false ) {
+ $tc = new $classname();
+
+ $tc->params = array();
+ if (($tc->project = $project =
+ group_get_object_by_name($GLOBALS['fusionforgeproject']))) {
+ $tc->params['group'] = $GLOBALS['group_id'] =
+ $project->getID();
+ $tc->params['toptab'] = 'mediawiki';
+ }
+
+ return $tc;
}
+ /**
+ * @param $out OutputPage
+ */
function setupSkinUserCss( OutputPage $out ) {
global $wgHandheldStyle;
+ /* add FusionForge styles */
+ foreach ($GLOBALS['HTML']->stylesheets as $sheet) {
+ $out->addStyle($sheet['css'], $sheet['media']);
+ }
+
parent::setupSkinUserCss( $out );
- // Append to the default screen common & print styles...
- $out->addStyle( 'monobook/main.css', 'screen' );
- $out->addStyle( 'fusionforge/fusionforge.css', 'screen' );
+ $out->addModuleStyles( 'skins.monobook' );
+
+ // Ugh. Can't do this properly because $wgHandheldStyle may be a URL
if( $wgHandheldStyle ) {
// Currently in testing... try 'chick/main.css'
$out->addStyle( $wgHandheldStyle, 'handheld' );
}
- $out->addStyle( 'monobook/IE50Fixes.css', 'screen', 'lt IE 5.5000' );
- $out->addStyle( 'monobook/IE55Fixes.css', 'screen', 'IE 5.5000' );
+ // TODO: Migrate all of these
$out->addStyle( 'monobook/IE60Fixes.css', 'screen', 'IE 6' );
$out->addStyle( 'monobook/IE70Fixes.css', 'screen', 'IE 7' );
- $out->addStyle( 'monobook/rtl.css', 'screen', '', 'rtl' );
}
}
@@ -54,8 +69,10 @@
* @todo document
* @ingroup Skins
*/
-class FusionForgeTemplate extends QuickTemplate {
- var $skin;
+class FusionForgeTemplate extends BaseTemplate {
+
+ var $project = false;
+
/**
* Template filter callback for FusionForge skin.
* Takes an associative array of data set from a SkinTemplate-based
@@ -65,243 +82,210 @@
* @access private
*/
function execute() {
- global $wgRequest, $sysDTDs;
- $this->skin = $skin = $this->data['skin'];
- $action = $wgRequest->getText( 'action' );
+ global $wgHtml5;
// Suppress warnings to prevent notices about missing indexes in $this->data
wfSuppressWarnings();
- echo $sysDTDs['transitional']['doctype']; ?>
-<html xmlns="<?php $this->text('xhtmldefaultnamespace') ?>" <?php
- foreach($this->data['xhtmlnamespaces'] as $tag => $ns) {
- ?>xmlns:<?php echo "{$tag}=\"{$ns}\" ";
- } ?>xml:lang="<?php $this->text('lang') ?>" lang="<?php $this->text('lang') ?>" dir="<?php $this->text('dir') ?>">
- <head>
- <meta http-equiv="Content-Type" content="<?php $this->text('mimetype') ?>; charset=<?php $this->text('charset') ?>" />
- <?php $this->html('headlinks') ?>
- <title><?php $this->text('pagetitle') ?></title>
- <!-- FUSIONFORGE Stylesheet BEGIN -->
- <?php if (!forge_get_config('use_frame', 'mediawiki') && !$this->data['printable']){
- $GLOBALS['HTML']->headerFavIcon();
- $GLOBALS['HTML']->headerRSS();
- $GLOBALS['HTML']->headerSearch();
- } ?>
- <?php if (!forge_get_config('use_frame', 'mediawiki') && !$this->data['printable']){ $GLOBALS['HTML']->headerCSS(); } ?>
- <!-- FUSIONFORGE Stylesheet END -->
- <?php $this->html('csslinks') ?>
-
- <!--[if lt IE 7]><script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('stylepath') ?>/common/IEFixes.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"></script>
- <meta http-equiv="imagetoolbar" content="no" /><![endif]-->
-
- <?php print Skin::makeGlobalVariablesScript( $this->data ); ?>
-
- <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('stylepath' ) ?>/common/wikibits.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"><!-- wikibits js --></script>
- <!-- Head Scripts -->
-<?php $this->html('headscripts') ?>
-<?php if($this->data['jsvarurl']) { ?>
- <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('jsvarurl') ?>"><!-- site js --></script>
-<?php } ?>
-<?php if($this->data['pagecss']) { ?>
- <style type="text/css"><?php $this->html('pagecss') ?></style>
-<?php }
- if($this->data['usercss']) { ?>
- <style type="text/css"><?php $this->html('usercss') ?></style>
-<?php }
- if($this->data['userjs']) { ?>
- <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('userjs' ) ?>"></script>
-<?php }
- if($this->data['userjsprev']) { ?>
- <script type="<?php $this->text('jsmimetype') ?>"><?php $this->html('userjsprev') ?></script>
-<?php }
- if($this->data['trackbackhtml']) print $this->data['trackbackhtml']; ?>
- <!-- FUSIONFORGE Stylesheet BEGIN -->
- <?php if (!forge_get_config('use_frame', 'mediawiki') && !$this->data['printable']){ $GLOBALS['HTML']->headerCSS(); } ?>
- <!-- FUSIONFORGE Stylesheet END -->
- </head>
-<body id="mydoc" <?php if($this->data['body_ondblclick']) { ?> ondblclick="<?php $this->text('body_ondblclick') ?>"<?php } ?>
-<?php if($this->data['body_onload']) { ?> onload="<?php $this->text('body_onload') ?>"<?php } ?>
- class="mediawiki <?php $this->text('dir') ?> <?php $this->text('pageclass') ?> <?php $this->text('skinnameclass') ?>">
- <!-- FUSIONFORGE BodyHeader BEGIN -->
- <?php
- if (!forge_get_config('use_frame', 'mediawiki') && !$this->data['printable']){
- $project=group_get_object_by_name($GLOBALS['fusionforgeproject']);
- if ($project) {
- $GLOBALS['group_id']=$project->getID();
- $params['group']=$GLOBALS['group_id'];
- $params['toptab']='mediawiki';
- $params['h1']='';
- $params['title']='';
- $GLOBALS['HTML']->bodyHeader($params);
- }
- }
- ?>
- <!-- FUSIONFORGE BodyHeader END -->
- <div id="globalWrapper">
- <div id="column-content">
- <div id="content">
- <a name="top" id="top"></a>
- <?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice') ?></div><?php } ?>
- <h1 id="firstHeading" class="firstHeading"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></h1>
- <div id="bodyContent">
- <h3 id="siteSub"><?php $this->msg('tagline') ?></h3>
- <div id="contentSub"><?php $this->html('subtitle') ?></div>
- <?php if($this->data['undelete']) { ?><div id="contentSub2"><?php $this->html('undelete') ?></div><?php } ?>
- <?php if($this->data['newtalk'] ) { ?><div class="usermessage"><?php $this->html('newtalk') ?></div><?php } ?>
- <?php if($this->data['showjumplinks']) { ?><div id="jump-to-nav"><?php $this->msg('jumpto') ?> <a href="#column-one"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div><?php } ?>
- <!-- start content -->
- <?php $this->html('bodytext') ?>
- <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
- <!-- end content -->
- <?php if($this->data['dataAfterContent']) { $this->html ('dataAfterContent'); } ?>
- <div class="visualClear"></div>
- </div>
- </div>
- </div>
- <div id="column-one">
- <div id="p-cactions" class="portlet">
- <h5><?php $this->msg('views') ?></h5>
- <div class="pBody">
- <ul>
- <?php foreach($this->data['content_actions'] as $key => $tab) {
- echo '
- <li id="' . Sanitizer::escapeId( "ca-$key" ) . '"';
- if( $tab['class'] ) {
- echo ' class="'.htmlspecialchars($tab['class']).'"';
- }
- echo'><a href="'.htmlspecialchars($tab['href']).'"';
- # We don't want to give the watch tab an accesskey if the
- # page is being edited, because that conflicts with the
- # accesskey on the watch checkbox. We also don't want to
- # give the edit tab an accesskey, because that's fairly su-
- # perfluous and conflicts with an accesskey (Ctrl-E) often
- # used for editing in Safari.
- if( in_array( $action, array( 'edit', 'submit' ) )
- && in_array( $key, array( 'edit', 'watch', 'unwatch' ))) {
- echo $skin->tooltip( "ca-$key" );
- } else {
- echo $skin->tooltipAndAccesskey( "ca-$key" );
- }
- echo '>'.htmlspecialchars($tab['text']).'</a></li>';
- } ?>
- </ul>
- </div>
+ $this->html( 'headelement' );
+
+ echo "\n<!-- FUSIONFORGE BodyHeader BEGIN -->\n";
+ $GLOBALS['HTML']->bodyHeader($this->params);
+ echo "<div id=\"ff-mw-wrapper\"><div style=\"font-size:x-small;\">\n";
+ echo "<!-- FUSIONFORGE BodyHeader END -->\n";
+
+?><div id="globalWrapper">
+<div id="column-content"><div id="content">
+ <a id="top"></a>
+ <?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice') ?></div><?php } ?>
+
+ <h1 id="firstHeading" class="firstHeading"><span<?php if ($wgHtml5) echo ' dir="auto"'; ?>><?php $this->html('title') ?></span></h1>
+ <div id="bodyContent" class="mw-body">
+ <div id="siteSub"><?php $this->msg('tagline') ?></div>
+ <div id="contentSub"<?php $this->html('userlangattributes') ?>><?php $this->html('subtitle') ?></div>
+<?php if($this->data['undelete']) { ?>
+ <div id="contentSub2"><?php $this->html('undelete') ?></div>
+<?php } ?><?php if($this->data['newtalk'] ) { ?>
+ <div class="usermessage"><?php $this->html('newtalk') ?></div>
+<?php } ?><?php if($this->data['showjumplinks']) { ?>
+ <div id="jump-to-nav" class="mw-jump"><?php $this->msg('jumpto') ?> <a href="#column-one"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div>
+<?php } ?>
+ <!-- start content -->
+<?php $this->html('bodytext') ?>
+ <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
+ <!-- end content -->
+ <?php if($this->data['dataAfterContent']) { $this->html ('dataAfterContent'); } ?>
+ <div class="visualClear"></div>
</div>
+</div></div>
+<div id="column-one"<?php $this->html('userlangattributes') ?>>
+<?php $this->cactions(); ?>
<div class="portlet" id="p-personal">
<h5><?php $this->msg('personaltools') ?></h5>
<div class="pBody">
- <ul>
-<?php foreach($this->data['personal_urls'] as $key => $item) { ?>
- <li id="<?php echo Sanitizer::escapeId( "pt-$key" ) ?>"<?php
- if (isset($item['active']) && $item['active']) { ?> class="active"<?php } ?>><a href="<?php
- echo htmlspecialchars($item['href']) ?>"<?php echo $skin->tooltipAndAccesskey('pt-'.$key) ?><?php
- if(!empty($item['class'])) { ?> class="<?php
- echo htmlspecialchars($item['class']) ?>"<?php } ?>><?php
- echo htmlspecialchars($item['text']) ?></a></li>
-<?php } ?>
- </ul>
+<?php
+ $ul_shown = false;
+ foreach ($this->getPersonalTools() as $key => $item) {
+ if (!$ul_shown) {
+?>
+ <ul<?php $this->html('userlangattributes') ?>>
+<?php
+ $ul_shown = true;
+ }
+ echo "\n" . $this->makeListItem($key, $item);
+ }
+ if ($ul_shown) {
+ echo "\n</ul>\n";
+ }
+?>
</div>
</div>
<div class="portlet" id="p-logo">
- <a style="background-image: url(<?php $this->text('logopath') ?>);" <?php
- ?>href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>"<?php
- echo $skin->tooltipAndAccesskey('p-logo') ?>></a>
+<?php
+ echo Html::element( 'a', array(
+ 'href' => $this->data['nav_urls']['mainpage']['href'],
+ 'style' => "background-image: url({$this->data['logopath']});" )
+ + Linker::tooltipAndAccesskeyAttribs('p-logo') ); ?>
+
</div>
- <script type="<?php $this->text('jsmimetype') ?>"> if (window.isMSIE55) fixalpha(); </script>
<?php
- $sidebar = $this->data['sidebar'];
- if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true;
- if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;
- if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
- foreach ($sidebar as $boxName => $cont) {
- if ( $boxName == 'SEARCH' ) {
- $this->searchBox();
- } elseif ( $boxName == 'TOOLBOX' ) {
- $this->toolbox();
- } elseif ( $boxName == 'LANGUAGES' ) {
- $this->languageBox();
- } else {
- $this->customBox( $boxName, $cont );
- }
- }
+ $this->renderPortals( $this->data['sidebar'] );
?>
- </div><!-- end of the left (by default at least) column -->
- <div class="visualClear"></div>
- <div id="footer">
-<?php
- if($this->data['poweredbyico']) { ?>
- <div id="f-poweredbyico"><?php $this->html('poweredbyico') ?></div>
-<?php }
- if($this->data['copyrightico']) { ?>
- <div id="f-copyrightico"><?php $this->html('copyrightico') ?></div>
-<?php }
+</div><!-- end of the left (by default at least) column -->
+<div class="visualClear"></div>
+<?php
+ $validFooterIcons = $this->getFooterIcons( "icononly" );
+ $validFooterLinks = $this->getFooterLinks( "flat" ); // Additional footer links
+
+ if ( count( $validFooterIcons ) + count( $validFooterLinks ) > 0 ) { ?>
+<div id="footer"<?php $this->html('userlangattributes') ?>>
+<?php
+ $footerEnd = '</div>';
+ } else {
+ $footerEnd = '';
+ }
+ foreach ( $validFooterIcons as $blockName => $footerIcons ) { ?>
+ <div id="f-<?php echo htmlspecialchars($blockName); ?>ico">
+<?php foreach ( $footerIcons as $icon ) { ?>
+ <?php echo $this->getSkin()->makeFooterIcon( $icon ); ?>
+
+<?php }
+?>
+ </div>
+<?php }
- // Generate additional footer links
- $footerlinks = array(
- 'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',
- 'privacy', 'about', 'disclaimer', 'tagline',
- );
- $validFooterLinks = array();
- foreach( $footerlinks as $aLink ) {
- if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
- $validFooterLinks[] = $aLink;
- }
- }
if ( count( $validFooterLinks ) > 0 ) {
-?> <ul id="f-list">
+?> <ul id="f-list">
+<?php
+ foreach( $validFooterLinks as $aLink ) { ?>
+ <li id="<?php echo $aLink ?>"><?php $this->html($aLink) ?></li>
<?php
- foreach( $validFooterLinks as $aLink ) {
- if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
-?> <li id="<?php echo$aLink?>"><?php $this->html($aLink) ?></li>
-<?php }
}
?>
- </ul>
+ </ul>
<?php }
+echo $footerEnd;
?>
- </div>
+
</div>
-<?php $this->html('bottomscripts'); /* JS call to runBodyOnloadHook */ ?>
-<?php $this->html('reporttime') ?>
-<?php if ( $this->data['debug'] ): ?>
-<!-- Debug output:
-<?php $this->text( 'debug' ); ?>
-
--->
-<?php endif; ?>
- <!-- FUSIONFORGE Footer BEGIN -->
-<?php if (!forge_get_config('use_frame', 'mediawiki') && !$this->data['printable']){
- $GLOBALS['HTML']->footer($params);
- } else { ?>
-</body></html>
-<?php } ?>
<?php
- wfRestoreWarnings();
+ $this->printTrail();
+ echo "</div></div>\n";
+ $GLOBALS['HTML']->footer($this->params);
+ wfRestoreWarnings();
} // end of execute() method
/*************************************************************************************************/
+
+ protected function renderPortals( $sidebar ) {
+ if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true;
+ if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;
+ if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
+
+ if (session_loggedin()) {
+ $efbox_log_text = _('Log Out');
+ $efbox_log_link = "/account/logout.php?return_to=" .
+ urlencode(getStringFromServer('REQUEST_URI'));
+ } else {
+ $efbox_log_text = _('Log In');
+ $efbox_log_link = "/account/login.php?return_to=" .
+ urlencode(getStringFromServer('REQUEST_URI'));
+ }
+ $efbox_prj_link = "/projects/" .
+ $this->project->getUnixName() . "/";
+ $this->customBox("FusionForge", array(
+ "project" => array(
+ "id" => "fusionforge_project",
+ "href" => $efbox_prj_link,
+ "text" => _("Project Summary"),
+ ),
+ "loginout" => array(
+ "id" => "fusionforge_loginout",
+ "href" => $efbox_log_link,
+ "text" => $efbox_log_text,
+ ),
+ ));
+
+ foreach( $sidebar as $boxName => $content ) {
+ if ( $content === false )
+ continue;
+
+ if ( $boxName == 'SEARCH' ) {
+ $this->searchBox();
+ } elseif ( $boxName == 'TOOLBOX' ) {
+ $this->toolbox();
+ } elseif ( $boxName == 'LANGUAGES' ) {
+ $this->languageBox();
+ } else {
+ $this->customBox( $boxName, $content );
+ }
+ }
+ }
+
function searchBox() {
global $wgUseTwoButtonsSearchForm;
?>
<div id="p-search" class="portlet">
<h5><label for="searchInput"><?php $this->msg('search') ?></label></h5>
<div id="searchBody" class="pBody">
- <form action="<?php $this->text('wgScript') ?>" id="searchform"><div>
+ <form action="<?php $this->text('wgScript') ?>" id="searchform">
<input type='hidden' name="title" value="<?php $this->text('searchtitle') ?>"/>
- <input id="searchInput" name="search" type="text"<?php echo $this->skin->tooltipAndAccesskey('search');
- if( isset( $this->data['search'] ) ) {
- ?> value="<?php $this->text('search') ?>"<?php } ?> />
- <input type='submit' name="go" class="searchButton" id="searchGoButton" value="<?php $this->msg('searcharticle') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-go' ); ?> /><?php if ($wgUseTwoButtonsSearchForm) { ?>
- <input type='submit' name="fulltext" class="searchButton" id="mw-searchButton" value="<?php $this->msg('searchbutton') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-fulltext' ); ?> /><?php } else { ?>
+ <?php echo $this->makeSearchInput(array( "id" => "searchInput" )); ?>
- <div><a href="<?php $this->text('searchaction') ?>" rel="search"><?php $this->msg('powersearch-legend') ?></a></div><?php } ?>
+ <?php echo $this->makeSearchButton("go", array( "id" => "searchGoButton", "class" => "searchButton" ));
+ if ($wgUseTwoButtonsSearchForm): ?>
+ <?php echo $this->makeSearchButton("fulltext", array( "id" => "mw-searchButton", "class" => "searchButton" ));
+ else: ?>
- </div></form>
+ <div><a href="<?php $this->text('searchaction') ?>" rel="search"><?php $this->msg('powersearch-legend') ?></a></div><?php
+ endif; ?>
+
+ </form>
</div>
</div>
<?php
}
+ /**
+ * Prints the cactions bar.
+ * Shared between MonoBook and Modern
+ */
+ function cactions() {
+?>
+ <div id="p-cactions" class="portlet">
+ <h5><?php $this->msg('views') ?></h5>
+ <div class="pBody">
+ <ul><?php
+ foreach($this->data['content_actions'] as $key => $tab) {
+ echo '
+ ' . $this->makeListItem( $key, $tab );
+ } ?>
+
+ </ul>
+ </div>
+ </div>
+<?php
+ }
/*************************************************************************************************/
function toolbox() {
?>
@@ -310,51 +294,13 @@
<div class="pBody">
<ul>
<?php
- if($this->data['notspecialpage']) { ?>
- <li id="t-whatlinkshere"><a href="<?php
- echo htmlspecialchars($this->data['nav_urls']['whatlinkshere']['href'])
- ?>"<?php echo $this->skin->tooltipAndAccesskey('t-whatlinkshere') ?>><?php $this->msg('whatlinkshere') ?></a></li>
-<?php
- if( $this->data['nav_urls']['recentchangeslinked'] ) { ?>
- <li id="t-recentchangeslinked"><a href="<?php
- echo htmlspecialchars($this->data['nav_urls']['recentchangeslinked']['href'])
- ?>"<?php echo $this->skin->tooltipAndAccesskey('t-recentchangeslinked') ?>><?php $this->msg('recentchangeslinked') ?></a></li>
-<?php }
- }
- if(isset($this->data['nav_urls']['trackbacklink'])) { ?>
- <li id="t-trackbacklink"><a href="<?php
- echo htmlspecialchars($this->data['nav_urls']['trackbacklink']['href'])
- ?>"<?php echo $this->skin->tooltipAndAccesskey('t-trackbacklink') ?>><?php $this->msg('trackbacklink') ?></a></li>
-<?php }
- if($this->data['feeds']) { ?>
- <li id="feedlinks"><?php foreach($this->data['feeds'] as $key => $feed) {
- ?><a id="<?php echo Sanitizer::escapeId( "feed-$key" ) ?>" href="<?php
- echo htmlspecialchars($feed['href']) ?>" rel="alternate" type="application/<?php echo $key ?>+xml" class="feedlink"<?php echo $this->skin->tooltipAndAccesskey('feed-'.$key) ?>><?php echo htmlspecialchars($feed['text'])?></a>
- <?php } ?></li><?php
- }
+ foreach ( $this->getToolbox() as $key => $tbitem ) { ?>
+ <?php echo $this->makeListItem($key, $tbitem); ?>
- foreach( array('contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special ) {
-
- if($this->data['nav_urls'][$special]) {
- ?><li id="t-<?php echo $special ?>"><a href="<?php echo htmlspecialchars($this->data['nav_urls'][$special]['href'])
- ?>"<?php echo $this->skin->tooltipAndAccesskey('t-'.$special) ?>><?php $this->msg($special) ?></a></li>
-<?php }
- }
-
- if(!empty($this->data['nav_urls']['print']['href'])) { ?>
- <li id="t-print"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['print']['href'])
- ?>" rel="alternate"<?php echo $this->skin->tooltipAndAccesskey('t-print') ?>><?php $this->msg('printableversion') ?></a></li><?php
- }
-
- if(!empty($this->data['nav_urls']['permalink']['href'])) { ?>
- <li id="t-permalink"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['permalink']['href'])
- ?>"<?php echo $this->skin->tooltipAndAccesskey('t-permalink') ?>><?php $this->msg('permalink') ?></a></li><?php
- } elseif ($this->data['nav_urls']['permalink']['href'] === '') { ?>
- <li id="t-ispermalink"<?php echo $this->skin->tooltip('t-ispermalink') ?>><?php $this->msg('permalink') ?></li><?php
+<?php
}
-
- wfRunHooks( 'FusionForgeTemplateToolboxEnd', array( &$this ) );
- wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this ) );
+ wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) );
+ wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) );
?>
</ul>
</div>
@@ -367,12 +313,12 @@
if( $this->data['language_urls'] ) {
?>
<div id="p-lang" class="portlet">
- <h5><?php $this->msg('otherlanguages') ?></h5>
+ <h5<?php $this->html('userlangattributes') ?>><?php $this->msg('otherlanguages') ?></h5>
<div class="pBody">
<ul>
-<?php foreach($this->data['language_urls'] as $langlink) { ?>
- <li class="<?php echo htmlspecialchars($langlink['class'])?>"><?php
- ?><a href="<?php echo htmlspecialchars($langlink['href']) ?>"><?php echo $langlink['text'] ?></a></li>
+<?php foreach($this->data['language_urls'] as $key => $langlink) { ?>
+ <?php echo $this->makeListItem($key, $langlink); ?>
+
<?php } ?>
</ul>
</div>
@@ -383,16 +329,21 @@
/*************************************************************************************************/
function customBox( $bar, $cont ) {
+ $portletAttribs = array( 'class' => 'generated-sidebar portlet', 'id' => Sanitizer::escapeId( "p-$bar" ) );
+ $tooltip = Linker::titleAttrib( "p-$bar" );
+ if ( $tooltip !== false ) {
+ $portletAttribs['title'] = $tooltip;
+ }
+ echo ' ' . Html::openElement( 'div', $portletAttribs );
?>
- <div class='generated-sidebar portlet' id='<?php echo Sanitizer::escapeId( "p-$bar" ) ?>'<?php echo $this->skin->tooltip('p-'.$bar) ?>>
- <h5><?php $out = wfMsg( $bar ); if (wfEmptyMsg($bar, $out)) echo $bar; else echo $out; ?></h5>
+
+ <h5><?php $msg = wfMessage( $bar ); echo htmlspecialchars( $msg->exists() ? $msg->text() : $bar ); ?></h5>
<div class='pBody'>
<?php if ( is_array( $cont ) ) { ?>
<ul>
<?php foreach($cont as $key => $val) { ?>
- <li id="<?php echo Sanitizer::escapeId($val['id']) ?>"<?php
- if (isset($val['active']) && $val['active']) { ?> class="active" <?php }
- ?>><a href="<?php echo htmlspecialchars($val['href']) ?>"<?php echo $this->skin->tooltipAndAccesskey($val['id']) ?>><?php echo htmlspecialchars($val['text']) ?></a></li>
+ <?php echo $this->makeListItem($key, $val); ?>
+
<?php } ?>
</ul>
<?php } else {
@@ -404,7 +355,4 @@
</div>
<?php
}
-
} // end of class
-
-?>
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/FusionForge.php.patch fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/FusionForge.php.patch
--- fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/FusionForge.php.patch 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/FusionForge.php.patch 2012-08-07 10:53:48.000000000 +0200
@@ -1,76 +1,98 @@
---- FusionForge.php.renamed 2010-04-29 23:18:01.000000000 +0200
-+++ FusionForge.php 2010-04-29 23:05:54.000000000 +0200
-@@ -34,18 +34,19 @@
+--- FusionForge.php.renamed 2012-08-06 11:35:42.000000000 +0200
++++ FusionForge.php 2012-08-07 10:52:00.000000000 +0200
+@@ -23,11 +23,31 @@
+ var $skinname = 'fusionforge', $stylename = 'fusionforge',
+ $template = 'FusionForgeTemplate', $useHeadElement = true;
+
++ function setupTemplate( $classname, $repository = false, $cache_dir = false ) {
++ $tc = new $classname();
++
++ $tc->params = array();
++ if (($tc->project = $project =
++ group_get_object_by_name($GLOBALS['fusionforgeproject']))) {
++ $tc->params['group'] = $GLOBALS['group_id'] =
++ $project->getID();
++ $tc->params['toptab'] = 'mediawiki';
++ }
++
++ return $tc;
++ }
++
+ /**
+ * @param $out OutputPage
+ */
+ function setupSkinUserCss( OutputPage $out ) {
+ global $wgHandheldStyle;
++
++ /* add FusionForge styles */
++ foreach ($GLOBALS['HTML']->stylesheets as $sheet) {
++ $out->addStyle($sheet['css'], $sheet['media']);
++ }
++
parent::setupSkinUserCss( $out );
- // Append to the default screen common & print styles...
-- $out->addStyle( 'fusionforge/main.css', 'screen' );
-+ $out->addStyle( 'monobook/main.css', 'screen' );
-+ $out->addStyle( 'fusionforge/fusionforge.css', 'screen' );
- if( $wgHandheldStyle ) {
- // Currently in testing... try 'chick/main.css'
- $out->addStyle( $wgHandheldStyle, 'handheld' );
- }
-
-- $out->addStyle( 'fusionforge/IE50Fixes.css', 'screen', 'lt IE 5.5000' );
-- $out->addStyle( 'fusionforge/IE55Fixes.css', 'screen', 'IE 5.5000' );
-- $out->addStyle( 'fusionforge/IE60Fixes.css', 'screen', 'IE 6' );
-- $out->addStyle( 'fusionforge/IE70Fixes.css', 'screen', 'IE 7' );
-+ $out->addStyle( 'monobook/IE50Fixes.css', 'screen', 'lt IE 5.5000' );
-+ $out->addStyle( 'monobook/IE55Fixes.css', 'screen', 'IE 5.5000' );
-+ $out->addStyle( 'monobook/IE60Fixes.css', 'screen', 'IE 6' );
-+ $out->addStyle( 'monobook/IE70Fixes.css', 'screen', 'IE 7' );
-
-- $out->addStyle( 'fusionforge/rtl.css', 'screen', '', 'rtl' );
-+ $out->addStyle( 'monobook/rtl.css', 'screen', '', 'rtl' );
- }
- }
-
-@@ -80,6 +81,10 @@
- <meta http-equiv="Content-Type" content="<?php $this->text('mimetype') ?>; charset=<?php $this->text('charset') ?>" />
- <?php $this->html('headlinks') ?>
- <title><?php $this->text('pagetitle') ?></title>
-+ <!-- FUSIONFORGE Stylesheet BEGIN -->
-+ <?php if (!$GLOBALS['sys_use_mwframe']){ $GLOBALS['HTML']->headerLink(); } ?>
-+ <?php if (!$GLOBALS['sys_use_mwframe']){ $GLOBALS['HTML']->headerCSS(); } ?>
-+ <!-- FUSIONFORGE Stylesheet END -->
- <?php $this->html('csslinks') ?>
-
- <!--[if lt IE 7]><script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('stylepath') ?>/common/IEFixes.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"></script>
-@@ -107,9 +112,22 @@
- <?php }
- if($this->data['trackbackhtml']) print $this->data['trackbackhtml']; ?>
- </head>
--<body<?php if($this->data['body_ondblclick']) { ?> ondblclick="<?php $this->text('body_ondblclick') ?>"<?php } ?>
-+<body id="mydoc" <?php if($this->data['body_ondblclick']) { ?> ondblclick="<?php $this->text('body_ondblclick') ?>"<?php } ?>
- <?php if($this->data['body_onload']) { ?> onload="<?php $this->text('body_onload') ?>"<?php } ?>
- class="mediawiki <?php $this->text('dir') ?> <?php $this->text('pageclass') ?> <?php $this->text('skinnameclass') ?>">
-+ <!-- FUSIONFORGE BodyHeader BEGIN -->
-+ <?php
-+ if (!$GLOBALS['sys_use_mwframe']){
-+ $project=group_get_object_by_name($GLOBALS['fusionforgeproject']);
-+ if ($project) {
-+ $GLOBALS['group_id']=$project->getID();
-+ $params['group']=$GLOBALS['group_id'];
-+ $params['toptab']='mediawiki';
-+ $GLOBALS['HTML']->bodyHeader($params);
-+ }
-+ }
-+ ?>
-+ <!-- FUSIONFORGE BodyHeader END -->
- <div id="globalWrapper">
- <div id="column-content">
- <div id="content">
-@@ -242,7 +260,12 @@
-
- -->
- <?php endif; ?>
-+ <!-- FUSIONFORGE Footer BEGIN -->
-+<?php if (!$GLOBALS['sys_use_mwframe']){
-+ $GLOBALS['HTML']->footer($params);
-+ } else { ?>
- </body></html>
-+<?php } ?>
+ $out->addModuleStyles( 'skins.monobook' );
+@@ -51,6 +71,8 @@
+ */
+ class FusionForgeTemplate extends BaseTemplate {
+
++ var $project = false;
++
+ /**
+ * Template filter callback for FusionForge skin.
+ * Takes an associative array of data set from a SkinTemplate-based
+@@ -66,6 +88,12 @@
+ wfSuppressWarnings();
+
+ $this->html( 'headelement' );
++
++ echo "\n<!-- FUSIONFORGE BodyHeader BEGIN -->\n";
++ $GLOBALS['HTML']->bodyHeader($this->params);
++ echo "<div id=\"ff-mw-wrapper\"><div style=\"font-size:x-small;\">\n";
++ echo "<!-- FUSIONFORGE BodyHeader END -->\n";
++
+ ?><div id="globalWrapper">
+ <div id="column-content"><div id="content">
+ <a id="top"></a>
+@@ -162,8 +190,8 @@
+ </div>
<?php
- wfRestoreWarnings();
+ $this->printTrail();
+- echo Html::closeElement( 'body' );
+- echo Html::closeElement( 'html' );
++ echo "</div></div>\n";
++ $GLOBALS['HTML']->footer($this->params);
+ wfRestoreWarnings();
} // end of execute() method
+
+@@ -174,6 +202,30 @@
+ if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;
+ if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
+
++ if (session_loggedin()) {
++ $efbox_log_text = _('Log Out');
++ $efbox_log_link = "/account/logout.php?return_to=" .
++ urlencode(getStringFromServer('REQUEST_URI'));
++ } else {
++ $efbox_log_text = _('Log In');
++ $efbox_log_link = "/account/login.php?return_to=" .
++ urlencode(getStringFromServer('REQUEST_URI'));
++ }
++ $efbox_prj_link = "/projects/" .
++ $this->project->getUnixName() . "/";
++ $this->customBox("FusionForge", array(
++ "project" => array(
++ "id" => "fusionforge_project",
++ "href" => $efbox_prj_link,
++ "text" => _("Project Summary"),
++ ),
++ "loginout" => array(
++ "id" => "fusionforge_loginout",
++ "href" => $efbox_log_link,
++ "text" => $efbox_log_text,
++ ),
++ ));
++
+ foreach( $sidebar as $boxName => $content ) {
+ if ( $content === false )
+ continue;
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/FusionForge.php.renamed fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/FusionForge.php.renamed
--- fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/FusionForge.php.renamed 1970-01-01 01:00:00.000000000 +0100
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/FusionForge.php.renamed 2012-08-06 11:36:11.000000000 +0200
@@ -0,0 +1,306 @@
+<?php
+/**
+ * FusionForge nouveau
+ *
+ * Translated from gwicke's previous TAL template version to remove
+ * dependency on PHPTAL.
+ *
+ * @todo document
+ * @file
+ * @ingroup Skins
+ */
+
+if( !defined( 'MEDIAWIKI' ) )
+ die( -1 );
+
+/**
+ * Inherit main code from SkinTemplate, set the CSS and template filter.
+ * @todo document
+ * @ingroup Skins
+ */
+class SkinFusionForge extends SkinTemplate {
+ /** Using fusionforge. */
+ var $skinname = 'fusionforge', $stylename = 'fusionforge',
+ $template = 'FusionForgeTemplate', $useHeadElement = true;
+
+ /**
+ * @param $out OutputPage
+ */
+ function setupSkinUserCss( OutputPage $out ) {
+ global $wgHandheldStyle;
+ parent::setupSkinUserCss( $out );
+
+ $out->addModuleStyles( 'skins.monobook' );
+
+ // Ugh. Can't do this properly because $wgHandheldStyle may be a URL
+ if( $wgHandheldStyle ) {
+ // Currently in testing... try 'chick/main.css'
+ $out->addStyle( $wgHandheldStyle, 'handheld' );
+ }
+
+ // TODO: Migrate all of these
+ $out->addStyle( 'monobook/IE60Fixes.css', 'screen', 'IE 6' );
+ $out->addStyle( 'monobook/IE70Fixes.css', 'screen', 'IE 7' );
+
+ }
+}
+
+/**
+ * @todo document
+ * @ingroup Skins
+ */
+class FusionForgeTemplate extends BaseTemplate {
+
+ /**
+ * Template filter callback for FusionForge skin.
+ * Takes an associative array of data set from a SkinTemplate-based
+ * class, and a wrapper for MediaWiki's localization database, and
+ * outputs a formatted page.
+ *
+ * @access private
+ */
+ function execute() {
+ global $wgHtml5;
+
+ // Suppress warnings to prevent notices about missing indexes in $this->data
+ wfSuppressWarnings();
+
+ $this->html( 'headelement' );
+?><div id="globalWrapper">
+<div id="column-content"><div id="content">
+ <a id="top"></a>
+ <?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice') ?></div><?php } ?>
+
+ <h1 id="firstHeading" class="firstHeading"><span<?php if ($wgHtml5) echo ' dir="auto"'; ?>><?php $this->html('title') ?></span></h1>
+ <div id="bodyContent" class="mw-body">
+ <div id="siteSub"><?php $this->msg('tagline') ?></div>
+ <div id="contentSub"<?php $this->html('userlangattributes') ?>><?php $this->html('subtitle') ?></div>
+<?php if($this->data['undelete']) { ?>
+ <div id="contentSub2"><?php $this->html('undelete') ?></div>
+<?php } ?><?php if($this->data['newtalk'] ) { ?>
+ <div class="usermessage"><?php $this->html('newtalk') ?></div>
+<?php } ?><?php if($this->data['showjumplinks']) { ?>
+ <div id="jump-to-nav" class="mw-jump"><?php $this->msg('jumpto') ?> <a href="#column-one"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div>
+<?php } ?>
+ <!-- start content -->
+<?php $this->html('bodytext') ?>
+ <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
+ <!-- end content -->
+ <?php if($this->data['dataAfterContent']) { $this->html ('dataAfterContent'); } ?>
+ <div class="visualClear"></div>
+ </div>
+</div></div>
+<div id="column-one"<?php $this->html('userlangattributes') ?>>
+<?php $this->cactions(); ?>
+ <div class="portlet" id="p-personal">
+ <h5><?php $this->msg('personaltools') ?></h5>
+ <div class="pBody">
+<?php
+ $ul_shown = false;
+ foreach ($this->getPersonalTools() as $key => $item) {
+ if (!$ul_shown) {
+?>
+ <ul<?php $this->html('userlangattributes') ?>>
+<?php
+ $ul_shown = true;
+ }
+ echo "\n" . $this->makeListItem($key, $item);
+ }
+ if ($ul_shown) {
+ echo "\n</ul>\n";
+ }
+?>
+ </div>
+ </div>
+ <div class="portlet" id="p-logo">
+<?php
+ echo Html::element( 'a', array(
+ 'href' => $this->data['nav_urls']['mainpage']['href'],
+ 'style' => "background-image: url({$this->data['logopath']});" )
+ + Linker::tooltipAndAccesskeyAttribs('p-logo') ); ?>
+
+ </div>
+<?php
+ $this->renderPortals( $this->data['sidebar'] );
+?>
+</div><!-- end of the left (by default at least) column -->
+<div class="visualClear"></div>
+<?php
+ $validFooterIcons = $this->getFooterIcons( "icononly" );
+ $validFooterLinks = $this->getFooterLinks( "flat" ); // Additional footer links
+
+ if ( count( $validFooterIcons ) + count( $validFooterLinks ) > 0 ) { ?>
+<div id="footer"<?php $this->html('userlangattributes') ?>>
+<?php
+ $footerEnd = '</div>';
+ } else {
+ $footerEnd = '';
+ }
+ foreach ( $validFooterIcons as $blockName => $footerIcons ) { ?>
+ <div id="f-<?php echo htmlspecialchars($blockName); ?>ico">
+<?php foreach ( $footerIcons as $icon ) { ?>
+ <?php echo $this->getSkin()->makeFooterIcon( $icon ); ?>
+
+<?php }
+?>
+ </div>
+<?php }
+
+ if ( count( $validFooterLinks ) > 0 ) {
+?> <ul id="f-list">
+<?php
+ foreach( $validFooterLinks as $aLink ) { ?>
+ <li id="<?php echo $aLink ?>"><?php $this->html($aLink) ?></li>
+<?php
+ }
+?>
+ </ul>
+<?php }
+echo $footerEnd;
+?>
+
+</div>
+<?php
+ $this->printTrail();
+ echo Html::closeElement( 'body' );
+ echo Html::closeElement( 'html' );
+ wfRestoreWarnings();
+ } // end of execute() method
+
+ /*************************************************************************************************/
+
+ protected function renderPortals( $sidebar ) {
+ if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true;
+ if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;
+ if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
+
+ foreach( $sidebar as $boxName => $content ) {
+ if ( $content === false )
+ continue;
+
+ if ( $boxName == 'SEARCH' ) {
+ $this->searchBox();
+ } elseif ( $boxName == 'TOOLBOX' ) {
+ $this->toolbox();
+ } elseif ( $boxName == 'LANGUAGES' ) {
+ $this->languageBox();
+ } else {
+ $this->customBox( $boxName, $content );
+ }
+ }
+ }
+
+ function searchBox() {
+ global $wgUseTwoButtonsSearchForm;
+?>
+ <div id="p-search" class="portlet">
+ <h5><label for="searchInput"><?php $this->msg('search') ?></label></h5>
+ <div id="searchBody" class="pBody">
+ <form action="<?php $this->text('wgScript') ?>" id="searchform">
+ <input type='hidden' name="title" value="<?php $this->text('searchtitle') ?>"/>
+ <?php echo $this->makeSearchInput(array( "id" => "searchInput" )); ?>
+
+ <?php echo $this->makeSearchButton("go", array( "id" => "searchGoButton", "class" => "searchButton" ));
+ if ($wgUseTwoButtonsSearchForm): ?>
+ <?php echo $this->makeSearchButton("fulltext", array( "id" => "mw-searchButton", "class" => "searchButton" ));
+ else: ?>
+
+ <div><a href="<?php $this->text('searchaction') ?>" rel="search"><?php $this->msg('powersearch-legend') ?></a></div><?php
+ endif; ?>
+
+ </form>
+ </div>
+ </div>
+<?php
+ }
+
+ /**
+ * Prints the cactions bar.
+ * Shared between MonoBook and Modern
+ */
+ function cactions() {
+?>
+ <div id="p-cactions" class="portlet">
+ <h5><?php $this->msg('views') ?></h5>
+ <div class="pBody">
+ <ul><?php
+ foreach($this->data['content_actions'] as $key => $tab) {
+ echo '
+ ' . $this->makeListItem( $key, $tab );
+ } ?>
+
+ </ul>
+ </div>
+ </div>
+<?php
+ }
+ /*************************************************************************************************/
+ function toolbox() {
+?>
+ <div class="portlet" id="p-tb">
+ <h5><?php $this->msg('toolbox') ?></h5>
+ <div class="pBody">
+ <ul>
+<?php
+ foreach ( $this->getToolbox() as $key => $tbitem ) { ?>
+ <?php echo $this->makeListItem($key, $tbitem); ?>
+
+<?php
+ }
+ wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) );
+ wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) );
+?>
+ </ul>
+ </div>
+ </div>
+<?php
+ }
+
+ /*************************************************************************************************/
+ function languageBox() {
+ if( $this->data['language_urls'] ) {
+?>
+ <div id="p-lang" class="portlet">
+ <h5<?php $this->html('userlangattributes') ?>><?php $this->msg('otherlanguages') ?></h5>
+ <div class="pBody">
+ <ul>
+<?php foreach($this->data['language_urls'] as $key => $langlink) { ?>
+ <?php echo $this->makeListItem($key, $langlink); ?>
+
+<?php } ?>
+ </ul>
+ </div>
+ </div>
+<?php
+ }
+ }
+
+ /*************************************************************************************************/
+ function customBox( $bar, $cont ) {
+ $portletAttribs = array( 'class' => 'generated-sidebar portlet', 'id' => Sanitizer::escapeId( "p-$bar" ) );
+ $tooltip = Linker::titleAttrib( "p-$bar" );
+ if ( $tooltip !== false ) {
+ $portletAttribs['title'] = $tooltip;
+ }
+ echo ' ' . Html::openElement( 'div', $portletAttribs );
+?>
+
+ <h5><?php $msg = wfMessage( $bar ); echo htmlspecialchars( $msg->exists() ? $msg->text() : $bar ); ?></h5>
+ <div class='pBody'>
+<?php if ( is_array( $cont ) ) { ?>
+ <ul>
+<?php foreach($cont as $key => $val) { ?>
+ <?php echo $this->makeListItem($key, $val); ?>
+
+<?php } ?>
+ </ul>
+<?php } else {
+ # allow raw HTML block to be defined by extensions
+ print $cont;
+ }
+?>
+ </div>
+ </div>
+<?php
+ }
+} // end of class
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/Makefile fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/Makefile
--- fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/Makefile 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/Makefile 2012-08-06 11:32:19.000000000 +0200
@@ -1,24 +1,20 @@
MWSKINPATH=/usr/share/mediawiki/skins
all: FusionForge.php
-allold: FusionForge.php fusionforge/main.css
FusionForge.php: FusionForge.php.renamed
@echo 'Building $@'
patch -p0 -o $@ FusionForge.php.renamed FusionForge.php.patch
FusionForge.php.renamed: $(MWSKINPATH)
- cp $(MWSKINPATH)/MonoBook.php FusionForge.php.reference
- cat $(MWSKINPATH)/MonoBook.php | sed 's/MonoBook/FusionForge/g' | sed 's/monobook/fusionforge/g' > $@
-
-
-fusionforge/main.css: fusionforge/main.css.renamed
- @echo 'Building $@'
- patch -p0 -o $@ fusionforge/main.css.renamed fusionforge/main.css.patch
-
-fusionforge/main.css.renamed: $(MWSKINPATH)
- cp $(MWSKINPATH)/monobook/main.css fusionforge/main.css.reference
- cat $(MWSKINPATH)/monobook/main.css | sed 's/MonoBook/FusionForge/g' | sed 's/monobook/fusionforge/g' > $@
+ sed \
+ -e 's/MonoBook/FusionForge/g' \
+ -e 's/Shared between FusionForge/Shared between MonoBook/' \
+ -e 's/FusionForgeTemplateToolboxEnd/MonoBookTemplateToolboxEnd/g' \
+ -e 's/Using monobook/Using fusionforge/' \
+ -e "s/skinname = 'monobook/skinname = 'fusionforge/" \
+ -e "s/stylename = 'monobook/stylename = 'fusionforge/" \
+ <$(MWSKINPATH)/MonoBook.php >$@
$(MWSKINPATH):
@@ -27,11 +23,5 @@
cleanphp:
rm -f FusionForge.php.renamed FusionForge.php.patch2
-cleancss:
- rm -f fusionforge/main.css.renamed fusionforge/main.css.patch2
-
patchphp: FusionForge.php.renamed
-diff -uN FusionForge.php.renamed FusionForge.php > FusionForge.php.patch2
-
-patchcss: fusionforge/main.css.renamed
- -diff -uN fusionforge/main.css.renamed fusionforge/main.css > fusionforge/main.css.patch2
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/README.beforemodifying fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/README.beforemodifying
--- fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/README.beforemodifying 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/README.beforemodifying 2012-08-06 11:32:19.000000000 +0200
@@ -1,8 +1,8 @@
-The FusionForge.php and fusionforge/main.css are built
-from MonoBook.php and monobook/main.css mediawiki files
+The FusionForge.php is built from MonoBook.php mediawiki file.
2 things are done
-Renaming monobook in fusionforge and MonoBook in FusionForge
+ and remove empty trailing lines
-Apply a minimal patch on the renamed patch
It is highly recommended to touch these files as few as possible
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/fusionforge/fusionforge.css fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/fusionforge/fusionforge.css
--- fusionforge-5.2~rc1/plugins/mediawiki/mediawiki-skin/fusionforge/fusionforge.css 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/mediawiki-skin/fusionforge/fusionforge.css 1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-#globalWrapper { position: relative; }
-/* disable the logo */
-/*
-#p-logo { display: none; }
-#column-one { padding-top: 0px; }
-*/
-/* use the font inherited from FF */
-body {font-size:85%;font-family:"verdana",sans-serif;color:rgb(68,68,68);background-color:rgb(247,247,247);text-align:left; }
-td.mainCanvas { font-size:85%;font-family:"verdana",sans-serif; }
-
-table { background-color: transparent; }
-
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/packaging/control/160plugin-mediawiki fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/control/160plugin-mediawiki
--- fusionforge-5.2~rc1/plugins/mediawiki/packaging/control/160plugin-mediawiki 2012-06-01 16:52:35.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/control/160plugin-mediawiki 2012-08-08 14:29:48.000000000 +0200
@@ -1,6 +1,6 @@
Package: @PACKAGE at -plugin-mediawiki
Architecture: all
-Depends: @OLDPACKAGE at -common (>= 4.8), @OLDPACKAGE at -db-postgresql (>= 4.8) | @OLDPACKAGE at -db, @OLDPACKAGE at -web-apache2 (>= 4.8) | @OLDPACKAGE at -web, postgresql-contrib | mysql-server, mediawiki (>= 1:1.15.5-10~), php5-cli, php5-gd, ${misc:Depends}
+Depends: @OLDPACKAGE at -common (>= 4.8), @OLDPACKAGE at -db-postgresql (>= 4.8) | @OLDPACKAGE at -db, @OLDPACKAGE at -web-apache2 (>= 4.8) | @OLDPACKAGE at -web, postgresql-contrib, mediawiki (>= 1:1.19.1-2~), php5-cli, php5-gd, ${misc:Depends}
Provides: @OLDPACKAGE at -plugin-mediawiki
Conflicts: @OLDPACKAGE at -plugin-mediawiki (<< 5.0.51-2)
Replaces: @OLDPACKAGE at -plugin-mediawiki (<< 5.0.51-2)
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/packaging/cron.d/plugin-mediawiki fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/cron.d/plugin-mediawiki
--- fusionforge-5.2~rc1/plugins/mediawiki/packaging/cron.d/plugin-mediawiki 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/cron.d/plugin-mediawiki 2012-08-24 11:51:00.000000000 +0200
@@ -17,4 +17,4 @@
1,16,31,46 * * * * root [ -x $MWCRON/create-imagedirs.php ] && $PHP $MWCRON/create-imagedirs.php
# Create wiki XML dumps every night
-55 1 * * * root [ -x $MWCRON/dump-wikis.php ] && $PHP $MWCRON/cronjobs/dump-wikis.php
+55 1 * * * root [ -x $MWCRON/dump-wikis.php ] && $PHP $MWCRON/dump-wikis.php
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/packaging/dirs/plugin-mediawiki fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/dirs/plugin-mediawiki
--- fusionforge-5.2~rc1/plugins/mediawiki/packaging/dirs/plugin-mediawiki 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/dirs/plugin-mediawiki 2012-08-16 11:54:53.000000000 +0200
@@ -6,6 +6,5 @@
usr/share/@OLDPACKAGE@/plugins/mediawiki/www
usr/share/@OLDPACKAGE@/etc/httpd.d
usr/share/mediawiki/skins
-usr/share/mediawiki/skins/fusionforge
-var/lib/@OLDPACKAGE@/plugins/mediawiki/wikidata
var/lib/@OLDPACKAGE@/plugins/mediawiki/dumps
+var/lib/@OLDPACKAGE@/plugins/mediawiki/projects
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/packaging/install/plugin-mediawiki fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/install/plugin-mediawiki
--- fusionforge-5.2~rc1/plugins/mediawiki/packaging/install/plugin-mediawiki 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/install/plugin-mediawiki 2012-08-06 11:32:19.000000000 +0200
@@ -4,6 +4,6 @@
plugins/mediawiki/cronjobs/* usr/share/gforge/plugins/mediawiki/cronjobs/
plugins/mediawiki/db/* usr/share/gforge/plugins/mediawiki/lib/
plugins/mediawiki/www/* usr/share/gforge/plugins/mediawiki/www/
-plugins/mediawiki/mediawiki-skin/* usr/share/mediawiki/skins/
+plugins/mediawiki/mediawiki-skin/FusionForge.php usr/share/mediawiki/skins/
plugins/mediawiki/etc/httpd.d/* usr/share/gforge/etc/httpd.d/
plugins/mediawiki/etc/*.ini etc/@PACKAGE@/config.ini.d/
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/packaging/links/plugin-mediawiki fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/links/plugin-mediawiki
--- fusionforge-5.2~rc1/plugins/mediawiki/packaging/links/plugin-mediawiki 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/packaging/links/plugin-mediawiki 2012-08-07 10:53:48.000000000 +0200
@@ -4,6 +4,7 @@
usr/share/mediawiki/includes usr/share/@OLDPACKAGE@/plugins/mediawiki/www/includes
usr/share/mediawiki/index.php usr/share/@OLDPACKAGE@/plugins/mediawiki/www/index.php
usr/share/mediawiki/languages usr/share/@OLDPACKAGE@/plugins/mediawiki/www/languages
+usr/share/mediawiki/load.php usr/share/@OLDPACKAGE@/plugins/mediawiki/www/load.php
usr/share/mediawiki/maintenance usr/share/@OLDPACKAGE@/plugins/mediawiki/www/maintenance
usr/share/mediawiki/opensearch_desc.php usr/share/@OLDPACKAGE@/plugins/mediawiki/www/opensearch_desc.php
usr/share/mediawiki/profileinfo.php usr/share/@OLDPACKAGE@/plugins/mediawiki/www/profileinfo.php
@@ -13,6 +14,7 @@
usr/share/mediawiki/trackback.php usr/share/@OLDPACKAGE@/plugins/mediawiki/www/trackback.php
usr/share/mediawiki/skins usr/share/@OLDPACKAGE@/plugins/mediawiki/www/skins
+usr/share/mediawiki/skins/monobook/headbg.jpg usr/share/@OLDPACKAGE@/www/themes/css/mw-headbg.jpg
usr/share/mediawiki var/lib/@OLDPACKAGE@/plugins/mediawiki/master
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/www/LocalSettings.php fusionforge-5.2~rc1wheezy1/plugins/mediawiki/www/LocalSettings.php
--- fusionforge-5.2~rc1/plugins/mediawiki/www/LocalSettings.php 2012-06-14 17:20:18.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/www/LocalSettings.php 2012-08-06 11:19:03.000000000 +0200
@@ -46,8 +46,11 @@
if (($exppath[0] == 'plugins') &&
($exppath[1] == 'mediawiki') &&
($exppath[2] == 'wiki') &&
- (($exppath[4] == 'index.php') || ($exppath[4] == 'api.php'))
- ) {
+ in_array($exppath[4], array(
+ 'api.php',
+ 'index.php',
+ 'load.php',
+ ))) {
$fusionforgeproject = $exppath[3] ;
break ;
} else {
diff -Nru fusionforge-5.2~rc1/plugins/mediawiki/www/plugin_admin.php fusionforge-5.2~rc1wheezy1/plugins/mediawiki/www/plugin_admin.php
--- fusionforge-5.2~rc1/plugins/mediawiki/www/plugin_admin.php 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/plugins/mediawiki/www/plugin_admin.php 2012-08-24 10:43:47.000000000 +0200
@@ -2,7 +2,7 @@
/*-
* MediaWiki Plugin for FusionForge
*
- * Copyright © 2010
+ * Copyright © 2010, 2012
* Thorsten Glaser <t.glaser at tarent.de>
* Copyright 2012, Franck Villaume - TrivialDev
* All rights reserved.
@@ -151,6 +151,15 @@
util_make_url("/plugins/mediawiki/dumps/" . $group_unix_name . ".xml"));
echo "</p>\n";
+if (!forge_get_config('enable_uploads', 'mediawiki')) {
+ echo "<h2>Disabled: \$wgLogo</h2>\n";
+ echo '<p>' .
+ _('Custom per-project logos require that the "enable_uploads" setting in the [mediawiki] section of your FusionForge configuration is enabled.') .
+ "</p>\n";
+ site_project_footer(array());
+ exit(0);
+}
+
echo "<h2>\$wgLogo</h2>\n";
echo '<div style="border:solid 1px black; margin:3px; padding:3px;">';
if (file_exists($group_logo)) {
diff -Nru fusionforge-5.2~rc1/www/themes/css/fusionforge.css fusionforge-5.2~rc1wheezy1/www/themes/css/fusionforge.css
--- fusionforge-5.2~rc1/www/themes/css/fusionforge.css 2012-05-31 09:40:26.000000000 +0200
+++ fusionforge-5.2~rc1wheezy1/www/themes/css/fusionforge.css 2012-08-07 13:31:23.000000000 +0200
@@ -879,3 +879,111 @@
border: 1px solid #ccc;
padding: 5px;
}
+
+#ff-mw-wrapper {
+ position: relative; /* so MW can position absolutely */
+ top: -1em; /* undo div#maindiv */
+ left: -1em; /* undo div#maindiv */
+ margin-right: -2em;
+ background: #f9f9f9 url(mw-headbg.jpg) 0 0 no-repeat;
+}
+
+/* un-do some damage from the main and YUI sheets */
+
+#ff-mw-wrapper p, #ff-mw-wrapper fieldset, #ff-mw-wrapper table {
+ margin:0.4em 0 0.5em;
+}
+
+#ff-mw-wrapper h1, #ff-mw-wrapper h2, #ff-mw-wrapper h3, #ff-mw-wrapper h4, #ff-mw-wrapper h5, #ff-mw-wrapper h6 {
+ padding-bottom:0.17em;
+ padding-top:0.5em;
+ margin-top:0;
+ margin-bottom:0.6em;
+}
+
+#ff-mw-wrapper h1 {
+ font-size:188%;
+ font-weight:normal;
+}
+
+#ff-mw-wrapper h2 {
+ font-size:150%;
+}
+
+#ff-mw-wrapper h3 {
+ font-weight:bold;
+ font-size:132%;
+}
+
+#ff-mw-wrapper h4 {
+ font-size:116%;
+}
+
+#ff-mw-wrapper h6 {
+ font-size:80%;
+ margin-bottom:0;
+}
+
+#ff-mw-wrapper h3, #ff-mw-wrapper h4, #ff-mw-wrapper h5 {
+ margin-bottom:0.3em;
+}
+
+#ff-mw-wrapper ul {
+ line-height:1.5em;
+ list-style-type:square;
+ margin:0.3em 0 0 1.6em;
+ padding:0;
+}
+
+#ff-mw-wrapper ul li {
+ /* ↑ → ↓ ← */
+ margin:0em 0em 0.1em 0em;
+ list-style-type:square;
+ list-style-image:url(data:image/gif;base64,R0lGODlhBQANAIAAAGOMnP///yH5BAEAAAEALAAAAAAFAA0AAAIJjI+pu+APo4SpADs=);
+}
+
+#ff-mw-wrapper #toc ul, #ff-mw-wrapper .toc ul {
+ margin-left:0;
+}
+
+#ff-mw-wrapper #toc ul li, #ff-mw-wrapper .toc ul li {
+ margin:0em 0em 0.1em 0em;
+ list-style-image:none;
+ list-style-type:none;
+}
+
+#ff-mw-wrapper #toc ul ul, #ff-mw-wrapper .toc ul ul {
+ margin-left:2em;
+}
+
+#ff-mw-wrapper ol {
+ line-height:1.5em;
+ list-style-type:decimal;
+ margin:0.3em 0 0 3.2em;
+ padding:0;
+}
+
+#ff-mw-wrapper ol li {
+ margin:0em 0em 0.1em 0em;
+ list-style-type:decimal;
+}
+
+#ff-mw-wrapper #p-personal ul {
+ margin:0;
+ padding:0 2em 0 3em;
+}
+
+#ff-mw-wrapper #p-personal li {
+ margin-left:1em;
+}
+
+#ff-mw-wrapper pre {
+ line-height:1.1em;
+ padding:1em;
+ margin-top:1em;
+}
+
+#ff-mw-wrapper a {
+ color:#002BB8;
+ font-weight:normal;
+}
More information about the Pkg-mediawiki-devel
mailing list