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

Reply via email to