Revision: 46051
Author:   tparscal
Date:     2009-01-23 00:49:37 +0000 (Fri, 23 Jan 2009)

Log Message:
-----------
Added command-line interface for initialization of database. Added meta 
information in change logs.

Modified Paths:
--------------
    trunk/extensions/DataCenter/DataCenter.db.php

Added Paths:
-----------
    trunk/extensions/DataCenter/CLI/
    trunk/extensions/DataCenter/CLI/Initialize.php

Added: trunk/extensions/DataCenter/CLI/Initialize.php
===================================================================
--- trunk/extensions/DataCenter/CLI/Initialize.php                              
(rev 0)
+++ trunk/extensions/DataCenter/CLI/Initialize.php      2009-01-23 00:49:37 UTC 
(rev 46051)
@@ -0,0 +1,20 @@
+<?php
+
+require_once dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) .
+       "/maintenance/commandLine.inc";
+
+if ( isset( $options['help'] ) ) {
+       echo "Rebuilds database structure for DataCenter.\n";
+       echo "Usage:\n";
+       echo "\tphp extensions/DataCenter/CLI/Initialize.php --confirm=yes \n";
+} else {
+       if ( isset( $options['confirm'] ) && $options['confirm'] == 'yes' ) {
+               echo "Rebuilding database structure for DataCenter...\n";
+               // Get a connection
+               $dbw = wfGetDB( DB_MASTER );
+               // Runs initialization
+               $dbw->sourceFile( dirname( dirname( __FILE__  ) ) . 
'/DataCenter.sql' );
+       } else {
+               echo "Nothing was changed. The --confirm=yes parameter is 
required.\n";
+       }
+}

Modified: trunk/extensions/DataCenter/DataCenter.db.php
===================================================================
--- trunk/extensions/DataCenter/DataCenter.db.php       2009-01-23 00:45:45 UTC 
(rev 46050)
+++ trunk/extensions/DataCenter/DataCenter.db.php       2009-01-23 00:49:37 UTC 
(rev 46051)
@@ -1715,6 +1715,21 @@
                        )
                );
        }
+
+       public function serialize() {
+               $metaFieldValues = $this->getMetaValues();
+               $meta = array();
+               foreach ( $metaFieldValues as $metaFieldValue ) {
+                       $meta[$metaFieldValue->get( 'field' )] =
+                               $metaFieldValue->get( 'value' );
+               }
+               return serialize(
+                       array(
+                               'row' => $this->get(),
+                               'meta' => $meta
+                       )
+               );
+       }
 }
 
 /* Asset Rows */
@@ -2227,7 +2242,7 @@
                                        'component_category' => 
$component->getCategory(),
                                        'component_type' => 
$component->getType(),
                                        'component_id' => $component->getId(),
-                                       'state' => serialize( $component->get() 
),
+                                       'state' => $component->serialize(),
                                )
                        )
                );



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to