[Mediawiki-l] Tag Extensions

Mike Cody mcody at reliam.com
Tue Aug 16 16:57:30 UTC 2011


Hello,

I am having an issue getting more than one Tag Extension working on the same page. I have included the code that i am using for the two pages that make up the extension. Has anyone had any luck getting 
more than one tag extension working on the same page? If so what steps did you use to make it work? Any help would be appreciated!   


<?php
#serverTag.php
# Credits
$wgExtensionCredits['other'][] = array(
 'name' => 'ServerTag',
 'description' => 'Print All Servers Based On Client Page Name.',
 'version' => '1.0');

# Set up the hook, using different logic depending
# on the version of MediaWiki
if (defined('MW_SUPPORTS_PARSERFIRSTCALLINIT')) {
 $wgHooks['ParserFirstCallInit'][] = 'ServerTag::setup';
} else {
 $wgExtensionFunctions[] = 'ServerTag::setup';
}

# Autoload the implementation class
$wgAutoloadClasses['ServerTag']
 = dirname( __FILE__ ) . "/ServerTag_body.php";




and


<?php

//ServerTag_body.php

 class ServerTag {
 const NAME = 'servers';

 static function setup() {
   global $wgParser;
   $wgParser->setHook(self::NAME, array('ServerTag', 'render'));
   return true;
 }
		

 static function render() {
   //required for DB connection
   require "db_mysql.inc";
   require "define_hosts.php"; 

		// Connection Parameters
		$em_g3 = new DB_MySQL;
		$em_g3->Host = $em_g3_host;
		$em_g3->User = $em_g3_user;
		$em_g3->Password = $em_g3_pw;
		$em_g3->Database = "biz";
		$em_g3->connect();
	
	
		//Get end of URL remove _ from client name for DB query
		$endURL = $_GET["title"];
		$phrase  = $endURL;
		$healthy = array("_");
		$yummy   = array(" ");
		$newphrase = str_replace($healthy, $yummy, $phrase);
	

		//Run DB query and run though loop to get DB client data
			if ($newphrase) {
				$q = "SELECT company, device,master_dev.legend_device.active, master_dev.device_ip_addr.ip from master_biz.`organizations` left join master_dev.legend_device on master_biz.`organizations`.roa_id = master_dev.legend_device.roa_id left join master_dev.device_ip_addr on master_dev.legend_device.id = master_dev.device_ip_addr.did where company = '$newphrase'";
				$em_g3->query($q);
				$acnt = "";
				$table ="<table border='4'>";
					while ($em_g3->next_record()) {
						$company = $em_g3->f("company");
						$device = $em_g3->f("device");
						$active = $em_g3->f("active");
						$ip = $em_g3->f("ip");
						$acnt = $acnt + 1;
							if ($company) {
									if ($acnt){
										$addr_list[$acnt] = "<tr><td>$company</td><td>$device</td><td>$active</td><td>$ip</td></tr>";
										$string = $string.$addr_list[$acnt];
									}
							}
			
				}
			
	 		$tableEnd="</table>";
			return $table.$string.$tableEnd;
	   
		}
		
		

 }
}




Mike Cody
Systems Administrator
RELIAM
(310) 348-9700 x 2  ( Support )
(310) 348-9797 FAX
----
Blog: http://www.reliam.com/news/reliam_blog
Twitter: http://www.twitter.com/reliam
Facebook: http://www.facebook.com/reliam
----





More information about the MediaWiki-l mailing list