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

Revision: 90794
Author:   ankitgarg833
Date:     2011-06-25 19:39:30 +0000 (Sat, 25 Jun 2011)
Log Message:
-----------
adding support for error conditions

Modified Paths:
--------------
    trunk/extensions/PageSchemas/specials/GeneratePages.php

Modified: trunk/extensions/PageSchemas/specials/GeneratePages.php
===================================================================
--- trunk/extensions/PageSchemas/specials/GeneratePages.php     2011-06-25 
19:39:23 UTC (rev 90793)
+++ trunk/extensions/PageSchemas/specials/GeneratePages.php     2011-06-25 
19:39:30 UTC (rev 90794)
@@ -14,23 +14,46 @@
     function execute( $category ) {
                global $wgRequest, $wgOut;
         $this->setHeaders();
-       
-               # Get request data from, e.g.
-        $param = $wgRequest->getText('param');
-               if ( $param != "" ) {
+               $generate_page_text = wfMsg( 'ps-generate-pages' );
+               $generate_page_desc = wfMsg( 'ps-generate-pages-desc' );
+               $param = $wgRequest->getText('param');          
+               $text_1 = '<p>All pages will be generated! </p>';               
                
+               $text_2 = '<form method="post">  <input type="hidden" 
name="param" value="'.$category.'" /><br />  <input type="submit" 
value="'.$generate_page_text.'" /> </form>';
+               if ( $param != "" &&  $category != "" ) {               
                        $this->generate_pages($param);
+                       $wgOut->addHTML($text_1);
+               }else {
+                       if( $category == ""){
+                               ## Code to Display the list of categories
+                       }else {
+                       //this is when Special:GeneratePages/Category is 
accessed first time 
+                       //Here check for the valid Category  name and allow for 
generating pages 
+                               $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',
+                               array(
+                                       'pp_page',
+                                       'pp_propname',
+                                       'pp_value'      
+                               ),
+                               array(
+                                       'pp_page' => $pageId,
+                                       'pp_propname' => 'PageSchema'
+                               )
+                               );      
+                               //first row of the result set 
+                               $row = $dbr->fetchRow( $res );
+                               if( $row != null ){
+                                       $wgOut->addHTML($text_2);
+                               }else {
+                                               $text = "<p>No such category 
exist ! </p>";
+                                               $wgOut->addHTML( $text );
+                               }                               
+                       }
                
-               }
-               $generate_page_text = wfMsg( 'ps-generate-pages' );
-               $text =<<< END
-<form method="post">        
-               <input type="hidden" name="param" value="$category" /><br />  
-               <input type="submit" value="$generate_page_text" />
-</form>
-               
-END;
-               $wgOut->addHTML($text);
-                               
+               }                                                               
                                                        
     }
                
        function generate_pages ( $categoryName ) {
@@ -39,6 +62,5 @@
                $pageSchema->generateAllPages();                                
        
        
        
-       }
-               
-}
+       }               
+}
\ No newline at end of file


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

Reply via email to