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

Revision: 95692
Author:   yaron
Date:     2011-08-29 19:55:40 +0000 (Mon, 29 Aug 2011)
Log Message:
-----------
More cleanup

Modified Paths:
--------------
    trunk/extensions/PageSchemas/specials/PS_EditSchema.php
    trunk/extensions/PageSchemas/specials/PS_GeneratePages.php

Modified: trunk/extensions/PageSchemas/specials/PS_EditSchema.php
===================================================================
--- trunk/extensions/PageSchemas/specials/PS_EditSchema.php     2011-08-29 
19:53:52 UTC (rev 95691)
+++ trunk/extensions/PageSchemas/specials/PS_EditSchema.php     2011-08-29 
19:55:40 UTC (rev 95692)
@@ -8,7 +8,6 @@
 class EditSchema extends IncludableSpecialPage {
        function __construct() {
                parent::__construct( 'EditSchema' );
-               wfLoadExtensionMessages('EditSchema');
        }
 
        public static function addJavascript() {
@@ -82,36 +81,22 @@
                $wgOut->addScript( $jsText );
        }
 
-       function execute( $category ) {
-               global $wgRequest, $wgOut, $wgUser;
-               global $wgSkin;
-
-               $this->setHeaders();
-               $text_1 = '<p>'.wfMsg( 'ps-page-desc-cat-not-exist' ).'</p>';
-               $text_2 = '<p>'.wfMsg( 'ps-page-desc-ps-not-exist' ).'</p>';
-               $text_3 = '<p>'.wfMsg( 'ps-page-desc-edit-schema' ).'</p>';
-               $text_4 = '';
-               self::addJavascript();
-               $schema_name_label = wfMsg('ps-schema-name-label');
+       function blankFormHTML( $htmlFromExtensions ) {
+               //$schema_name_label = wfMsg('ps-schema-name-label');
                $add_xml_label = wfMsg('ps-add-xml-label');
 
-               $pageSchemaObj = null;
-               $text_extensions = array(); //This var. will save the html text 
returned by the extensions
-               $js_extensions = array();
-               wfRunHooks( 'getHtmlTextForFieldInputs', array( 
&$js_extensions, &$text_extensions ));
-               $text = "";
-               $text .= '      <form id="createPageSchemaForm" action="" 
method="post">' . "\n";
+               $text = '       <form id="createPageSchemaForm" action="" 
method="post">' . "\n";
                //$text .= '<p>'.$schema_name_label.' <input type="text" 
name="s_name"/> </p> ';
                $text .= '<p>'.$add_xml_label.'
                <textarea rows=4 style="width: 100%" 
name="ps_add_xml"></textarea>
                </p> ';
-               if ($text_extensions['sf_form'] != null ) {
-                       $text_ex = preg_replace('/starter/', '1', 
$text_extensions['sf_form']);
+               if ( $htmlFromExtensions['sf_form'] != null ) {
+                       $text_ex = preg_replace( '/starter/', '1', 
$htmlFromExtensions['sf_form'] );
                        $text .= $text_ex;
                }
-               $delimeter_label = wfMsg('ps-delimeter-label');
-               $multiple_temp_label = wfMsg('ps-multiple-temp-label');
-               $field_list_label = wfMsg('ps-field-list-label');
+               $delimeter_label = wfMsg( 'ps-delimeter-label' );
+               $multiple_temp_label = wfMsg( 'ps-multiple-temp-label' );
+               $field_list_label = wfMsg( 'ps-field-list-label' );
 
                $text .= '<div id="templatesList">';
                $text .= '<div class="templateBox" >';
@@ -128,16 +113,16 @@
                $field_list_label . '
                </p>
                <div class="delimiterInput" style="display: none" ><p>' . 
$delimeter_label . ' <input type="text" name="f_delimiter_1" /> </p></div>';
-               if ($text_extensions['smw'] != null ) {
-                       $text_ex = preg_replace('/starter/', '1', 
$text_extensions['smw']);
+               if ( $htmlFromExtensions['smw'] != null ) {
+                       $text_ex = preg_replace( '/starter/', '1', 
$htmlFromExtensions['smw'] );
                        $text .= $text_ex;
                }
-               if ($text_extensions['sf'] != null ) {
-                       $text_ex = preg_replace('/starter/', '1', 
$text_extensions['sf']);
+               if ($htmlFromExtensions['sf'] != null ) {
+                       $text_ex = preg_replace('/starter/', '1', 
$htmlFromExtensions['sf']);
                        $text .= $text_ex;
                }
-               if ($text_extensions['sd'] != null ) {
-                       $text_ex = preg_replace('/starter/', '1', 
$text_extensions['sd']);
+               if ($htmlFromExtensions['sd'] != null ) {
+                       $text_ex = preg_replace('/starter/', '1', 
$htmlFromExtensions['sd']);
                        $text .= $text_ex;
                }
 
@@ -176,6 +161,11 @@
        <input type="submit" id="wpSave" name="wpSave" value="Save" />
        </div>';
                $text .= '      </form>';
+
+               return $text;
+       }
+
+       function starterFieldHTML( $htmlFromExtensions ) {
                $starter_text = '<div class="templateBox" id="starterTemplate" 
style="display: none">
 <fieldset style="background: #ddd;">
 <legend>Template</legend>
@@ -202,14 +192,14 @@
                        <p><input type="checkbox" name="f_is_list_starter" 
class="isListCheckbox" /> This field can hold a list of values
        &#160;&#160;</p>
        <div class="delimiterInput" style="display: none" ><p>Delimiter for 
values (default is ","): <input type="text" name="f_delimiter_starter" /> 
</p></div>';
-               if ($text_extensions['smw'] != null ) {
-                       $starter_text .= $text_extensions['smw'];
+               if ($htmlFromExtensions['smw'] != null ) {
+                       $starter_text .= $htmlFromExtensions['smw'];
                }
-               if ($text_extensions['sf'] != null ) {
-                       $starter_text .= $text_extensions['sf'];
+               if ($htmlFromExtensions['sf'] != null ) {
+                       $starter_text .= $htmlFromExtensions['sf'];
                }
-               if ($text_extensions['sd'] != null ) {
-                       $starter_text .= $text_extensions['sd'];
+               if ($htmlFromExtensions['sd'] != null ) {
+                       $starter_text .= $htmlFromExtensions['sd'];
                }
                $starter_text .= '<p>'.$add_xml_label.'
                                <textarea rows=4 style="width: 100%" 
name="f_add_xml_starter"></textarea>
@@ -217,23 +207,36 @@
                                <input type="button" value="Remove field" 
class="deleteField" />
 </fieldset>
 </div>';
-               $text .= $starter_text;
+               return $starter_text;
+       }
+
+       function execute( $category ) {
+               global $wgRequest, $wgOut, $wgUser;
+               global $wgSkin;
+
+               $this->setHeaders();
+               $text_3 = '<p>'.wfMsg( 'ps-page-desc-edit-schema' ).'</p>';
+               self::addJavascript();
+
+               $htmlFromExtensions = array(); //This var. will save the html 
text returned by the extensions
+               $js_extensions = array();
+               wfRunHooks( 'getHtmlTextForFieldInputs', array( 
&$js_extensions, &$htmlFromExtensions ) );
+
                $save_page = $wgRequest->getCheck( 'wpSave' );
                if ( $save_page ) {
-                       //Generate the Xml from the Form elements
+                       //Generate the XML from the Form elements
                        $XMLtext = "";
                        //$s_name = $wgRequest->getText('s_name');
                        $XMLtext .= '<PageSchema>';
-                       $ps_add_xml = $wgRequest->getText('ps_add_xml');
+                       $ps_add_xml = $wgRequest->getText( 'ps_add_xml' );
                        $XMLtext .= $ps_add_xml;
                        $fieldName = "";
                        $fieldNum= -1;
                        $templateNum = -1;
-                       $xml_text_extensions = array(); //This var. will save 
the xml text returned by the extensions
-                       $js_extensions = array();
-                       wfRunHooks( 'getXmlTextForFieldInputs', array( 
$wgRequest, &$xml_text_extensions ));
-                       if ( $xml_text_extensions['sf_form'] != null ) {
-                               $XMLtext .= $xml_text_extensions['sf_form'];
+                       $xmlFromExtensions = array(); //This var. will save the 
xml text returned by the extensions
+                       wfRunHooks( 'getXmlTextForFieldInputs', array( 
$wgRequest, &$xmlFromExtensions ));
+                       if ( $xmlFromExtensions['sf_form'] != null ) {
+                               $XMLtext .= $xmlFromExtensions['sf_form'];
                        }
                        $indexGlobalField = 0 ; //this variable is use to index 
the array returned by extensions for XML.
                        foreach ( $wgRequest->getValues() as $var => $val ) {
@@ -260,20 +263,20 @@
                                } elseif (substr($var,0,8) == 'f_label_' ) {
                                        $XMLtext .= '<Label>'.$val.'</Label>';
                                        //Get XML parsed from extensions
-                                       if ( $xml_text_extensions['smw'] != 
null ) {
-                                               $xml_ex_array = 
$xml_text_extensions['smw'];
+                                       if ( $xmlFromExtensions['smw'] != null 
) {
+                                               $xml_ex_array = 
$xmlFromExtensions['smw'];
                                                if 
($xml_ex_array[$indexGlobalField] != null ) {
                                                        $XMLtext .= 
$xml_ex_array[$indexGlobalField] ;
                                                }
                                        }
-                                       if ( $xml_text_extensions['sf'] != null 
) {
-                                               $xml_ex_array = 
$xml_text_extensions['sf'];
+                                       if ( $xmlFromExtensions['sf'] != null ) 
{
+                                               $xml_ex_array = 
$xmlFromExtensions['sf'];
                                                if 
($xml_ex_array[$indexGlobalField] != null ) {
                                                        $XMLtext .= 
$xml_ex_array[$indexGlobalField] ;
                                                }
                                        }
-                                       if ( $xml_text_extensions['sd'] != null 
) {
-                                               $xml_ex_array = 
$xml_text_extensions['sd'];
+                                       if ( $xmlFromExtensions['sd'] != null ) 
{
+                                               $xml_ex_array = 
$xmlFromExtensions['sd'];
                                                if 
($xml_ex_array[$indexGlobalField] != null ) {
                                                        $XMLtext .= 
$xml_ex_array[$indexGlobalField] ;
                                                }
@@ -292,7 +295,6 @@
                        $categoryTitle = Title::newFromText( $category, 
NS_CATEGORY );
                        $categoryArticle = new Article( $categoryTitle );
                        $pageText = $categoryArticle->getContent();
-                       $title = Title::newFromText( $category, NS_CATEGORY );
                        $jobs = array();
                        $params = array();
                        if ( $pageSchemaObj->isPSDefined() ) {
@@ -304,213 +306,223 @@
                                $params['page_text'] = $XMLtext . $pageText;
                        }
                        $params['user_id'] = $wgUser->getId();
-                       $jobs[] = new PSCreatePageJob( $title, $params );
+                       $jobs[] = new PSCreatePageJob( $categoryTitle, $params 
);
                        Job::batchInsert( $jobs );
-               } else {
-                       if ( $category != "" ) {
-                               $pageSchemaObj = new PSSchema( $category );
-                               $title = Title::newFromText( $category, 
NS_CATEGORY );
-                               $pageId = $title->getArticleID();
-                               $dbr = wfGetDB( DB_SLAVE );
-                               //get the result set, query : slect page_props
-                               $res = $dbr->select( 'page_props',
+                       return true;
+               }
+
+               if ( $category == "" ) {
+                       // No category was specified - show the list of 
categories with a page schema defined.
+                       $cat_titles = array();
+                       $count_title = 0;
+                       $text = "";
+                       $dbr = wfGetDB( DB_SLAVE );
+                       //get the result set, query : slect page_props
+                       $res = $dbr->select( 'page_props',
                                array(
                                        'pp_page',
                                        'pp_propname',
                                        'pp_value'
                                ),
                                array(
-                                       'pp_page' => $pageId,
-                                       )
-                               );
-                               //first row of the result set
-                               $row = $dbr->fetchRow( $res );
-                               if ( $row == null && !$title->exists() ) {
-                                       //Create form here, Cat doesnt exist, 
create new cat with this text
-                                       $text_1 .= $text;
-                                       $wgOut->addHTML( $text_1 );
-                               } else {
-                                       if ( ($row[1] == 'PageSchema') && 
($row[2] != null ) ) {
-                                               //Populate the form here with 
autocompleted values
-                                               $pageXMLstr = $row[2];
-                                               $pageXML = 
simplexml_load_string ( $pageXMLstr );
-                                               $ps_add_xml = "";
-                                               //$pageName = 
(string)$pageXML->attributes()->name;
-                                               $text_4 .=      '';
-                                               $text_4 .= '<form 
id="editPageSchemaForm" action="" method="post">' . "\n";
-                                               //$text_4 .= 
'<p>'.$schema_name_label.' <input type="text" name="s_name" 
value="'.$pageName.'" /> </p> ';
-                                               foreach ( $pageXML->children() 
as $template_xml ) {
-                                                       if ( 
($template_xml->getName() != 'Template') && ($template_xml->getName() != 
'semanticforms_Form') ) {
-                                                               $ps_add_xml .= 
(string)$template_xml->asXML();
-                                                       }
-                                               }
-                                               $text_4 .= '<p>' . 
$add_xml_label . '
+                                       'pp_propname' => 'PageSchema'
+                               )
+                       );
+                       while ( $row = $dbr->fetchRow( $res ) ) {
+                               if ( $row[2] != null ) {
+                                       $page_id_cat = $row[0];
+                                       if ( 
Title::newFromId($page_id_cat)->getNamespace() == NS_CATEGORY ) {
+                                               $cat_text = 
Title::newFromId($page_id_cat)->getText();
+                                               $generatePagesPage = 
SpecialPage::getTitleFor( 'EditSchema' );
+                                               $url = $generatePagesPage 
->getFullURL() . '/' . $cat_text;
+                                               $text .= '<a href='.$url.'>' . 
$cat_text . '</a> <br /> ';
+                                       }
+                               }
+                       }
+                       $dbr->freeResult( $res );
+                       $wgOut->addHTML( $text );
+                       return true;
+               }
+
+               // We have a category - show a form.
+               $formHTML = self::blankFormHTML( $htmlFromExtensions );
+               $formHTML .= self::starterFieldHTML( $htmlFromExtensions );
+
+               $pageSchemaObj = new PSSchema( $category );
+               $title = Title::newFromText( $category, NS_CATEGORY );
+               $pageId = $title->getArticleID();
+               $dbr = wfGetDB( DB_SLAVE );
+               //get the result set, query : select page_props
+               $res = $dbr->select( 'page_props',
+                       array(
+                               'pp_page',
+                               'pp_propname',
+                               'pp_value'
+                       ),
+                       array(
+                               'pp_page' => $pageId,
+                       )
+               );
+
+               //first row of the result set
+               $row = $dbr->fetchRow( $res );
+               if ( $row == null && !$title->exists() ) {
+                       //Create form here, Cat doesnt exist, create new cat 
with this text
+                       $text = '<p>'.wfMsg( 'ps-page-desc-cat-not-exist' 
).'</p>';
+                       $text .= $formHTML;
+                       $wgOut->addHTML( $text );
+                       return true;
+               }
+
+               if ( ($row[1] != 'PageSchema') || ($row[2] == null ) ) {
+                       $text = '<p>'.wfMsg( 'ps-page-desc-ps-not-exist' 
).'</p>';
+                       $text .= $formHTML;
+                       $wgOut->addHTML($text );
+               }
+
+               // Populate the form here with autocompleted values
+               $pageXMLstr = $row[2];
+               $pageXML = simplexml_load_string( $pageXMLstr );
+               $ps_add_xml = "";
+               //$pageName = (string)$pageXML->attributes()->name;
+               $text_4 = '<form id="editPageSchemaForm" action="" 
method="post">' . "\n";
+               //$text_4 .= '<p>'.$schema_name_label.' <input type="text" 
name="s_name" value="'.$pageName.'" /> </p> ';
+               foreach ( $pageXML->children() as $template_xml ) {
+                       if ( ( $template_xml->getName() != 'Template') && 
($template_xml->getName() != 'semanticforms_Form') ) {
+                               $ps_add_xml .= (string)$template_xml->asXML();
+                       }
+               }
+               $text_4 .= '<p>' . $add_xml_label . '
                                <textarea rows=4 style="width: 100%" 
name="ps_add_xml" >' . $ps_add_xml . '</textarea>
                                </p> ';
 
-                                               $filled_html_text_extensions = 
array();
-                                               wfRunHooks( 
'getFilledHtmlTextForFieldInputs', array( $pageSchemaObj, 
&$filled_html_text_extensions ));
-                                               if ( 
$filled_html_text_extensions['sf_form'] != null ) {
-                                                       $text_ex = 
preg_replace('/starter/', '1', $filled_html_text_extensions['sf_form']);
-                                                       $text_4 .= $text_ex;
+               $filledHTMLFromExtensions = array();
+               wfRunHooks( 'getFilledHtmlTextForFieldInputs', array( 
$pageSchemaObj, &$filledHTMLFromExtensions ));
+               if ( $filledHTMLFromExtensions['sf_form'] != null ) {
+                       $text_ex = preg_replace('/starter/', '1', 
$filledHTMLFromExtensions['sf_form']);
+                       $text_4 .= $text_ex;
+               }
+               $text_4 .= '<div id="templatesList">';
+               $template_num = 0;
+               /* index for template objects */
+               foreach ( $pageXML->children() as $tag => $template_xml ) {
+                       if ( $tag == 'Template' ) {
+                               $template_add_xml = "";
+                               $template_num++;
+                               $field_count = 0;
+                               if ( count($template_xml->children()) > 0 ) {
+                                       $templateName = (string) 
$template_xml->attributes()->name;
+                                       $text_4 .= '<div class="templateBox" >';
+                                       $text_4 .= '<fieldset 
style="background: #ddd;"><legend>Template</legend> ';
+                                       $text_4 .= '<p>Name: <input type="text" 
name="t_name_'.$template_num.'" value="'.$templateName.'" /></p> ';
+                                       if ( ((string) 
$template_xml->attributes()->multiple) == "multiple" ) {
+                                               $text_4 .= '<p><input 
type="checkbox" checked name="is_multiple_'.$template_num.'"/> Allow multiple 
instances of this template</p> ';
+                                       } else {
+                                               $text_4 .= '<p><input 
type="checkbox" name="is_multiple_'.$template_num.'"/> Allow multiple instances 
of this template</p> ';
+                                       }
+                                       foreach ( $template_xml->children() as 
$field_xml ) {
+                                               if ( $field_xml->getName() != 
'Field' ) {
+                                                       $template_add_xml .= 
(string)$field_xml->asXML();
                                                }
-                                               $text_4 .= '<div 
id="templatesList">';
-                                               $template_num = 0;
-                                               /* index for template objects */
-                                               foreach ( $pageXML->children() 
as $tag => $template_xml ) {
-                                                       if ( $tag == 'Template' 
) {
-                                                               
$template_add_xml = "";
-                                                               $template_num++;
-                                                               $field_count = 
0;
-                                                               if ( 
count($template_xml->children()) > 0 ) {
-                                                                       
$templateName = (string) $template_xml->attributes()->name;
-                                                                       $text_4 
.= '<div class="templateBox" >';
-                                                                       $text_4 
.= '<fieldset style="background: #ddd;"><legend>Template</legend> ';
-                                                                       $text_4 
.= '<p>Name: <input type="text" name="t_name_'.$template_num.'" 
value="'.$templateName.'" /></p> ';
-                                                                       if ( 
((string) $template_xml->attributes()->multiple) == "multiple" ) {
-                                                                               
$text_4 .= '<p><input type="checkbox" checked 
name="is_multiple_'.$template_num.'"/> Allow multiple instances of this 
template</p> ';
-                                                                       } else {
-                                                                               
$text_4 .= '<p><input type="checkbox" name="is_multiple_'.$template_num.'"/> 
Allow multiple instances of this template</p> ';
-                                                                       }
-                                                                       foreach 
( $template_xml->children() as $field_xml ) {
-                                                                               
if ( $field_xml->getName() != 'Field' ) {
-                                                                               
        $template_add_xml .= (string)$field_xml->asXML();
-                                                                               
}
-                                                                       }
-                                                                       $text_4 
.= '<div id="fieldsList_'.$template_num.'">';
-                                                                       
$list_values = false;
-                                                                       foreach 
($template_xml->children() as $field_xml) {
-                                                                               
if ( $field_xml->getName() == "Field" ) {
-                                                                               
        $fieldName = (string)$field_xml->attributes()->name;
-                                                                               
        $text_4 .= '<div class="fieldBox" >';
-                                                                               
        $text_4 .= '<fieldset style="background: #bbb;"><legend>Field</legend> 
';
-                                                                               
        if ( ((string)$field_xml->attributes()->list) == "list") {
-                                                                               
                $list_values = true;
-                                                                               
        }
-                                                                               
        if ( ((string)$field_xml->attributes()->delimiter) != null || 
((string)$field_xml->attributes()->delimiter) != '' ) {
-                                                                               
                $delimiter = (string)$field_xml->attributes()->delimiter;
-                                                                               
        }
-                                                                               
        foreach ($field_xml->children() as $tag => $child ) {
-                                                                               
                if ( $tag == 'Label' ) {
-                                                                               
                        $fieldLabel = (string)$child;
-                                                                               
                }
-                                                                               
        }
-                                                                               
        $text_4 .= '<p>Field name: <input size="15" 
name="f_name_'.$field_count.'" value="'.$fieldName.'" >';
-                                                                               
        $text_4 .= 'Display label: <input size="15" 
name="f_label_'.$field_count.'" value="'.$fieldLabel.'" >
+                                       }
+                                       $text_4 .= '<div 
id="fieldsList_'.$template_num.'">';
+                                       $list_values = false;
+                                       foreach ( $template_xml->children() as 
$field_xml ) {
+                                               if ( $field_xml->getName() == 
"Field" ) {
+                                                       $fieldName = 
(string)$field_xml->attributes()->name;
+                                                       $text_4 .= '<div 
class="fieldBox" >';
+                                                       $text_4 .= '<fieldset 
style="background: #bbb;"><legend>Field</legend> ';
+                                                       if ( 
((string)$field_xml->attributes()->list) == "list") {
+                                                               $list_values = 
true;
+                                                       }
+                                                       if ( 
((string)$field_xml->attributes()->delimiter) != null || 
((string)$field_xml->attributes()->delimiter) != '' ) {
+                                                               $delimiter = 
(string)$field_xml->attributes()->delimiter;
+                                                       }
+                                                       foreach 
($field_xml->children() as $tag => $child ) {
+                                                               if ( $tag == 
'Label' ) {
+                                                                       
$fieldLabel = (string)$child;
+                                                               }
+                                                       }
+                                                       $text_4 .= '<p>Field 
name: <input size="15" name="f_name_'.$field_count.'" value="'.$fieldName.'" >';
+                                                       $text_4 .= 'Display 
label: <input size="15" name="f_label_'.$field_count.'" value="'.$fieldLabel.'" 
>
                </p> ';
-                                                                               
        if ($list_values ) {
-                                                                               
                $text_4 .= '<p><input type="checkbox" 
name="f_is_list_'.$field_count.'" checked class="isListCheckbox" /> This field 
can hold a list of values</p> ';
-                                                                               
                $text_4 .= '<div class="delimiterInput" 
style="display:"><p>Delimiter for values (default is ","): <input type="text" 
name="f_delimiter_'.$field_count.'" value="'.$delimiter.'" /> </p></div>';
-                                                                               
        } else {
-                                                                               
                $text_4 .= '<p><input type="checkbox" 
name="f_is_list_'.$field_count.'" class="isListCheckbox" /> This field can hold 
a list of values</p> ';
-                                                                               
                $text_4 .= '<div class="delimiterInput" style="display: none" 
><p>Delimiter for values (default is ","): <input type="text" 
name="f_delimiter_'.$field_count.'" /> </p></div>';
-                                                                               
        }
-                                                                               
        //Inserting HTML text from Extensions
+                                                       if ($list_values ) {
+                                                               $text_4 .= 
'<p><input type="checkbox" name="f_is_list_'.$field_count.'" checked 
class="isListCheckbox" /> This field can hold a list of values</p> ';
+                                                               $text_4 .= 
'<div class="delimiterInput" style="display:"><p>Delimiter for values (default 
is ","): <input type="text" name="f_delimiter_'.$field_count.'" 
value="'.$delimiter.'" /> </p></div>';
+                                                       } else {
+                                                               $text_4 .= 
'<p><input type="checkbox" name="f_is_list_'.$field_count.'" 
class="isListCheckbox" /> This field can hold a list of values</p> ';
+                                                               $text_4 .= 
'<div class="delimiterInput" style="display: none" ><p>Delimiter for values 
(default is ","): <input type="text" name="f_delimiter_'.$field_count.'" /> 
</p></div>';
+                                                       }
+                                                       //Inserting HTML text 
from Extensions
 
-                                                                               
        if ( $filled_html_text_extensions['smw'] != null ) {
-                                                                               
                $text_ex_array = $filled_html_text_extensions['smw'];
-                                                                               
                if ( $text_ex_array[$field_count] != null ) {
-                                                                               
                        $text_ex = preg_replace('/starter/', $field_count, 
$text_ex_array[$field_count]);
-                                                                               
                        $text_4 .= $text_ex;
-                                                                               
                }
-                                                                               
        }
-                                                                               
        if ( $filled_html_text_extensions['sf'] != null ) {
-                                                                               
                $text_ex_array = $filled_html_text_extensions['sf'];
-                                                                               
                if ( $text_ex_array[$field_count] != null ) {
-                                                                               
                        $text_ex = preg_replace('/starter/', $field_count, 
$text_ex_array[$field_count]);
-                                                                               
                        $text_4 .= $text_ex;
-                                                                               
                }
-                                                                               
        }
-                                                                               
        if ( $filled_html_text_extensions['sd'] != null ) {
-                                                                               
                $text_ex_array = $filled_html_text_extensions['sd'];
-                                                                               
                if ( $text_ex_array[$field_count] != null ) {
-                                                                               
                        $text_ex = preg_replace('/starter/', $field_count, 
$text_ex_array[$field_count]);
-                                                                               
                        $text_4 .= $text_ex;
-                                                                               
                }
-                                                                               
        }
+                                                       if ( 
$filledHTMLFromExtensions['smw'] != null ) {
+                                                               $text_ex_array 
= $filledHTMLFromExtensions['smw'];
+                                                               if ( 
$text_ex_array[$field_count] != null ) {
+                                                                       
$text_ex = preg_replace('/starter/', $field_count, 
$text_ex_array[$field_count]);
+                                                                       $text_4 
.= $text_ex;
+                                                               }
+                                                       }
+                                                       if ( 
$filledHTMLFromExtensions['sf'] != null ) {
+                                                               $text_ex_array 
= $filledHTMLFromExtensions['sf'];
+                                                               if ( 
$text_ex_array[$field_count] != null ) {
+                                                                       
$text_ex = preg_replace('/starter/', $field_count, 
$text_ex_array[$field_count]);
+                                                                       $text_4 
.= $text_ex;
+                                                               }
+                                                       }
+                                                       if ( 
$filledHTMLFromExtensions['sd'] != null ) {
+                                                               $text_ex_array 
= $filledHTMLFromExtensions['sd'];
+                                                               if ( 
$text_ex_array[$field_count] != null ) {
+                                                                       
$text_ex = preg_replace('/starter/', $field_count, 
$text_ex_array[$field_count]);
+                                                                       $text_4 
.= $text_ex;
+                                                               }
+                                                       }
 
-                                                                               
        $text_4 .= '<p>'.$add_xml_label.'
+                                                       $text_4 .= 
'<p>'.$add_xml_label.'
                <textarea rows=4 style="width: 100%" 
name="f_add_xml_'.$field_count.'"></textarea>
                </p>
                <input type="button" value="Remove field" class="deleteField" 
/></fieldset>
                </div>
                </div>
                ';
-                                                                               
        $field_count++;
-                                                                               
        $text_4 .= '<script type="text/javascript">
+                                                       $field_count++;
+                                                       $text_4 .= '<script 
type="text/javascript">
                                                
updateFieldNum('.$field_count.');
                                                </script>';
-                                                                               
}
-                                                                       }
-                                                                       $text_4 
.= '</div>';
-                                                                       
$add_field_button = Xml::element( 'input',
-                                                                       array(
-                                                                               
'type' => 'button',
-                                                                               
'value' => 'Add field',
-                                                                               
'onclick' => "createTemplateAddField($template_num)"
-                                                                       )
-                                                               );
-                                                               $text_4 .= 
Xml::tags( 'p', null, $add_field_button ) . "\n";
-                                                               $text_4 .= '<hr 
/>
-                                                               
<p>'.$add_xml_label.'
-                                                               <textarea 
rows=4 style="width: 100%" 
name="t_add_xml_'.$template_num.'">'.$template_add_xml.'</textarea>
-                                                               </p>
-                                                               <p><input 
type="button" value="Remove template" class="deleteTemplate" /></p>
-                                                       </fieldset> </div>';
-                                                       }
                                                }
                                        }
-                                       $add_template_button = Xml::element( 
'input',
+                                       $text_4 .= '</div>';
+                                       $add_field_button = Xml::element( 
'input',
                                                array(
                                                        'type' => 'button',
-                                                       'value' => 'Add 
template',
-                                                       'onclick' => 
"createAddTemplate()"
+                                                       'value' => 'Add field',
+                                                       'onclick' => 
"createTemplateAddField($template_num)"
                                                )
                                        );
-                                       $text_4 .= Xml::tags( 'p', null, 
$add_template_button ) . "\n";
-                                       $text_4 .= '            <hr />
-                               <div class="editButtons">
-                               <input type="submit" id="wpSave" name="wpSave" 
value="Save" />
-                               </div>';
-                                       $text_4 .= '    </form>';
-                                       $text_4 .= $starter_text;
-                                       $wgOut->addHTML($text_4);
-                               } else {
-                                       $text_2 .= $text;
-                                       $wgOut->addHTML($text_2);
+                                       $text_4 .= Xml::tags( 'p', null, 
$add_field_button ) . "\n";
+                                       $text_4 .= '<hr />
+                                                               
<p>'.$add_xml_label.'
+                                                               <textarea 
rows=4 style="width: 100%" 
name="t_add_xml_'.$template_num.'">'.$template_add_xml.'</textarea>
+                                                               </p>
+                                                               <p><input 
type="button" value="Remove template" class="deleteTemplate" /></p>
+                                                       </fieldset> </div>';
                                }
                        }
-               } else {
-                       $cat_titles = array();
-                       $count_title = 0;
-                       $text = "";
-                       $dbr = wfGetDB( DB_SLAVE );
-                       //get the result set, query : slect page_props
-                       $res = $dbr->select( 'page_props',
+               }
+               $add_template_button = Xml::element( 'input',
                        array(
-                               'pp_page',
-                               'pp_propname',
-                               'pp_value'
-                       ),
-                       array(
-                               'pp_propname' => 'PageSchema'
+                               'type' => 'button',
+                               'value' => 'Add template',
+                               'onclick' => "createAddTemplate()"
                        )
-                       );
-                       while ( $row = $dbr->fetchRow( $res ) ) {
-                               if ( $row[2] != null ) {
-                                       $page_id_cat = $row[0];
-                                       if ( 
Title::newFromId($page_id_cat)->getNamespace() == NS_CATEGORY ) {
-                                               $cat_text = 
Title::newFromId($page_id_cat)->getText();
-                                               $generatePagesPage = 
SpecialPage::getTitleFor( 'EditSchema' );
-                                               $url = $generatePagesPage 
->getFullURL() . '/' . $cat_text;
-                                               $text .= '<a href='.$url.'>' . 
$cat_text . '</a> <br /> ';
-                                       }
-                               }
-                       }
-                       $dbr->freeResult( $res );
-                       $wgOut->addHTML( $text );
-               }
+               );
+               $text_4 .= Xml::tags( 'p', null, $add_template_button ) . "\n";
+               $text_4 .= '            <hr />
+               <div class="editButtons">
+               <input type="submit" id="wpSave" name="wpSave" value="Save" />
+               </div>';
+               $text_4 .= '    </form>';
+               $text_4 .= self::starterFieldHTML( $htmlFromExtensions );
+               $wgOut->addHTML($text_4);
+               return true;
        }
-       return true;
-       }
 }

Modified: trunk/extensions/PageSchemas/specials/PS_GeneratePages.php
===================================================================
--- trunk/extensions/PageSchemas/specials/PS_GeneratePages.php  2011-08-29 
19:53:52 UTC (rev 95691)
+++ trunk/extensions/PageSchemas/specials/PS_GeneratePages.php  2011-08-29 
19:55:40 UTC (rev 95692)
@@ -8,12 +8,10 @@
 class GeneratePages extends IncludableSpecialPage {
        function __construct() {
                parent::__construct( 'GeneratePages' );
-               wfLoadExtensionMessages('GeneratePages');
        }
 
        function execute( $category ) {
                global $wgRequest, $wgOut;
-               global $wgSkin;
 
                $this->setHeaders();
                $param = $wgRequest->getText('param');
@@ -57,7 +55,6 @@
                // the page to be created.
                wfRunHooks( 'PageSchemasGetPageList', array( $pageSchemaObj, 
&$pageList ) );
                foreach( $pageList as $page ){
-                       //$page_link = $wgSkin->link( $page );
                        $pageURL = $page->getFullUrl();
                        $pageName = PageSchemas::titleString( $page );
                        $pageLink = Html::element( 'a', array( 'href' => 
$pageURL ), $pageName );
@@ -70,7 +67,6 @@
        }
 
        function generatePages ( $categoryName, $toGenPageList ) {
-               global $wgRequest, $wgOut;
                $pageSchema = new PSSchema( $categoryName );
                $pageSchema->generateAllPages( $toGenPageList );
        }


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

Reply via email to