http://www.mediawiki.org/wiki/Special:Code/MediaWiki/99748

Revision: 99748
Author:   yaron
Date:     2011-10-14 00:11:06 +0000 (Fri, 14 Oct 2011)
Log Message:
-----------
Simplified generatePages() by eliminating some duplicate code

Modified Paths:
--------------
    trunk/extensions/SemanticMediaWiki/includes/SMW_PageSchemas.php

Modified: trunk/extensions/SemanticMediaWiki/includes/SMW_PageSchemas.php
===================================================================
--- trunk/extensions/SemanticMediaWiki/includes/SMW_PageSchemas.php     
2011-10-14 00:04:01 UTC (rev 99747)
+++ trunk/extensions/SemanticMediaWiki/includes/SMW_PageSchemas.php     
2011-10-14 00:11:06 UTC (rev 99748)
@@ -41,11 +41,18 @@
                        $field_all = $template->getFields();
                        foreach( $field_all as $field ) {
                                $smw_array = 
$field->getObject('semanticmediawiki_Property');
-                               if ( array_key_exists( 'smw', $smw_array ) ) {
-                                       $prop_array = $smw_array['smw'];
-                                       $title = Title::makeTitleSafe( 
SMW_NS_PROPERTY, $prop_array['name'] );
-                                       $genPageList[] = $title;
+                               if ( !array_key_exists( 'smw', $smw_array ) ) {
+                                       continue;
                                }
+                               $prop_array = $smw_array['smw'];
+                               if ( !array_key_exists( 'name', $prop_array ) ) 
{
+                                       continue;
+                               }
+                               if ( empty( $prop_array['name'] ) ) {
+                                       continue;
+                               }
+                               $title = Title::makeTitleSafe( SMW_NS_PROPERTY, 
$prop_array['name'] );
+                               $genPageList[] = $title;
                        }
                }
                return true;
@@ -148,30 +155,14 @@
         * Creates the property page for each property specified in the
         * passed-in Page Schemas XML object.
         */
-       function generatePages( $psSchemaObj, $toGenPageList ) {
-               // Get the SMW info from every field in every template
-               $template_all = $psSchemaObj->getTemplates();
-               foreach ( $template_all as $template ) {
-                       $field_all = $template->getFields();
-                       foreach ( $field_all as $field ) {
-                               $smw_array = 
$field->getObject('semanticmediawiki_Property');
-                               if ( !array_key_exists( 'smw', $smw_array ) ) {
-                                       continue;
-                               }
-                               $prop_array = $smw_array['smw'];
-                               if ( !array_key_exists( 'name', $prop_array ) ) 
{
-                                       continue;
-                               }
-                               if ( empty( $prop_array['name'] ) ) {
-                                       continue;
-                               }
-                               $title = Title::makeTitleSafe( SMW_NS_PROPERTY, 
$prop_array['name'] );
-                               $key_title = PageSchemas::titleString( $title );
-                               if ( !in_array( $key_title, $toGenPageList ) ) {
-                                       continue;
-                               }
-                               self::createProperty( $prop_array['name'], 
$prop_array['Type'], $prop_array['allowed_values'] ) ;
+       function generatePages( $psSchemaObj, $selectedPageList ) {
+               $genPageList = array();
+               self::getPageList( $psSchemaObj , &$genPageList );
+               foreach ( $genPageList as $generatedPage ) {
+                       if ( !in_array( $generatedPage, $selectedPageList ) ) {
+                               continue;
                        }
+                       self::createProperty( $prop_array['name'], 
$prop_array['Type'], $prop_array['allowed_values'] ) ;
                }
                return true;
        }


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

Reply via email to