Jump to content

Extension talk:StructuredInput

Add topic
From mediawiki.org
Latest comment: 17 years ago by Zeno Gantner

This extension seems broken in 1.18

This extension seems to be broken on MW 1.10. Any work being done on it?--198.70.22.217 20:17, 29 May 2007 (UTC)Reply

I also have problems with MW: 1.7.1. The displaying of the example page fails. --Zeno Gantner 14:24, 31 July 2007 (UTC)Reply

PHP Notice: Undefined index:

[edit]

I keep getting PHP Notices about undefined indexes in my transformations/foo.php file. and my structuredInput/special/SpecialFoo.php file.

Also I see this error:

[Wed Oct 03 17:15:31 2007] [error] [client xxx.xxx.xxx.xxx] PHP Warning:  array_key_exists() [<a href='function.array-key-exists'>function.array-key-exists</a>]: The second argument should be either an array or an object in /path/extensions/structuredInput/structuredInput.php on line 24, referer: http://domain/path/index.php/Special:Foo

How can I fix this?

THanks, Pete.

Add to file structuredInput in extensions after line 24:

   global $wgAllMessagesEn;

the line:

   $wgAllMessagesEn=array();

But upon "save" on the page "Addactivity" it breaks again.

function editForm return value

[edit]

my installation is complaining about the function "editForm" not returning a value. it breaks every time i try to edit a page. i added a "return true;" and it seems to stop the error.

anyone else see this problem?

Edit without the form?

[edit]

Is there a way to set up Structured Input so that it does not override the default edit form once the page has been created? I tried removing the <!--|StructuredInput|--><!--Addpagename--><!--|StructuredInput|--> code from an individual article, but that didn't work.

[edit]

$wgServerName is depreciated, so the link to edit leaves out the domain name.

To fix:

Edit extensions/structuredInput.php

Change:

header('Location: http://'.$wgServerName.$wgScriptPath.'/index.php?title=Special:'.$inputType.'&id='.$_GET['title']);
      die();

to

header('Location: '.$wgServer.$wgScriptPath.'/index.php?title=Special:'.$inputType.'&id='.$_GET['title']);
      die();

This works by using the $wgServer instead of the string literal 'http://' and $wgServerName (which doesn't exist anymore).

Don't forget also to make the same change in extensions/special/SpecialStructuredInput.php on line 12 and to change the global declaration to use $wgServer instead of $wgServerName on line 6

Other changes in 1.17

[edit]

I also had to change many other thing to get the extension work in 1.17:

  • in extensions/structuredInput.php, I changed the set_include_path line (line 3) to:
set_include_path(get_include_path() . PATH_SEPARATOR . $IP . DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR . 'structuredInput' );
  • and I had to apply the hack described for 1.14 in the extension documentation:

in includes/SpecialPages.php, line 723, I had to replace

$this->mFile = dirname(__FILE__) . "/specials/Special$name.php";

by

$this->mFile = "specials/Special$name.php";

1.18

[edit]

Despite making the changes above for 1.17, this does not seem to work on 1.18.

It stopped working in 1.18 due to the issue described here: Manual:$wgMessageCache