http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73448
Revision: 73448
Author: nad
Date: 2010-09-21 04:49:34 +0000 (Tue, 21 Sep 2010)
Log Message:
-----------
Edit view working properly with associated forms for templates
Modified Paths:
--------------
trunk/extensions/RecordAdmin/RecordAdmin.i18n.php
trunk/extensions/RecordAdmin/RecordAdmin.php
trunk/extensions/RecordAdmin/RecordAdmin_body.php
Modified: trunk/extensions/RecordAdmin/RecordAdmin.i18n.php
===================================================================
--- trunk/extensions/RecordAdmin/RecordAdmin.i18n.php 2010-09-21 04:12:55 UTC
(rev 73447)
+++ trunk/extensions/RecordAdmin/RecordAdmin.i18n.php 2010-09-21 04:49:34 UTC
(rev 73448)
@@ -36,10 +36,7 @@
'recordadmin-buttonreset' => 'Reset',
'recordadmin-searchresult' => 'Search results',
'recordadmin-nomatch' => 'No matching records found!',
- 'recordadmin-edit' => 'Editing $2 record "$1"',
'recordadmin-typeupdated' => '$1 properties updated',
- 'recordadmin-updatesuccess' => '$1 updated',
- 'recordadmin-updateerror' => 'An error occurred during update',
'recordadmin-buttonsave' => 'Save',
'recordadmin-noform' => 'There is no form associated with "$1"
records!',
'recordadmin-createlink' => 'create one',
@@ -53,12 +50,11 @@
'recordadmin-actions' => 'Edit',
'recordadmin-select' => 'Select',
'recordadmin-needscontent' => 'Add content...',
- 'recordadmin-editwithform' => 'Properties',
- 'recordadmin-typeinfo' => '$1 record',
'right-recordadmin' => 'Find and edit record pages',
'recordadmin-export-csv' => 'CSV',
'recordadmin-export-pdf' => 'PDF',
'recordadmin-notset' => 'No "$1"',
+ 'recordadmin-edit-info' => 'This article contains templates which have
their own forms which you can fill in from this tab-set',
);
/** Message documentation (Message documentation)
Modified: trunk/extensions/RecordAdmin/RecordAdmin.php
===================================================================
--- trunk/extensions/RecordAdmin/RecordAdmin.php 2010-09-21 04:12:55 UTC
(rev 73447)
+++ trunk/extensions/RecordAdmin/RecordAdmin.php 2010-09-21 04:49:34 UTC
(rev 73448)
@@ -10,7 +10,7 @@
* @author Siebrand Mazeland
* @licence GNU General Public Licence 2.0 or later
*/
-define( 'RECORDADMIN_VERSION', '1.0.2, 2010-09-20' );
+define( 'RECORDADMIN_VERSION', '1.1.0, 2010-09-21' );
$dir = dirname( __FILE__ ) . '/';
$wgExtensionMessagesFiles['RecordAdmin'] = $dir . 'RecordAdmin.i18n.php';
Modified: trunk/extensions/RecordAdmin/RecordAdmin_body.php
===================================================================
--- trunk/extensions/RecordAdmin/RecordAdmin_body.php 2010-09-21 04:12:55 UTC
(rev 73447)
+++ trunk/extensions/RecordAdmin/RecordAdmin_body.php 2010-09-21 04:49:34 UTC
(rev 73448)
@@ -31,6 +31,7 @@
# Add the hooks to handle cache invalidation and edit-forms
$wgHooks['BeforePageDisplay'][] = $this;
+ $wgHooks['ArticleSave'][] = $this;
$wgHooks['ArticleSaveComplete'][] = $this;
$wgHooks['EditPage::showEditForm:initial'][] = array( $this,
'onEditPage' );
@@ -99,17 +100,23 @@
form = document.getElementById(
type + '-form' );
tags = [ 'input', 'select',
'textarea' ];
for( j = 0; j < tags.length;
j++ ) {
- tag = tags[j];
alert(tag);
- inputs =
form.getElementsByTagName( tag );
+ inputs =
form.getElementsByTagName( tags[j] );
for( k = 0; k <
inputs.length; k++ ) {
input =
inputs[k];
key = type +
':' + input.getAttribute('name');
- //alert(key + '
= ' + input.value);
+ hidden =
document.createElement( 'input' );
+
hidden.setAttribute( 'name', key );
+
hidden.setAttribute( 'type', 'hidden' );
+ hidden.value =
escape( input.value );
+
document.getElementById( 'editform' ).appendChild( hidden );
}
}
}
}
- addOnloadHook(raRecordForms);
+ function raAddToSubmit() {
+ document.getElementById( 'editform'
).setAttribute( 'onsubmit', 'raRecordForms()' );
+ }
+ addOnloadHook( raAddToSubmit );
</script>" );
}
@@ -122,12 +129,13 @@
* Incorprate any posted record form's data into the article wikitext
before saving
*/
function onArticleSave( &$article, &$user, &$text ) {
- global $wgRequest;
-
+
# Organise the posted record data
$data = array();
- foreach( $wgRequest->getArray( 'ra_forms' ) as $key => $value )
{
+ foreach( $_REQUEST as $key => $value ) {
if( preg_match( "|(.+):ra_(.+)|", $key, $m ) ) {
+ if( is_array( $value ) ) $value = join( "\n",
$value );
+ $value = urldecode( $value );
list( $key, $type, $field ) = $m;
array_key_exists( $type, $data ) ?
$data[$type][$field] = $value : $data[$type] = array( $field => $value );
}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs