'; $MyPmWiki_Username = ''; $MyPmWiki_Password = ''; $MyPmWiki_DBName = ''; $MyPmWiki_TableFmt = ''; include_once('cookbook/mypmwiki.php'); to a local customization file. This script is based on ideas by JamesDavis, but has been rewritten to work wiht PmWiki v2. Version 0.2 change Markup vom _begin to inline Added variables in Markup that override defaults in local/config.php. I.e., if these variables are not specified in the directive they will default to the variables defined in local/config.php for MyPmWiki. This allows you to use multiple databases and table formats in one pmwiki site. The variables are the same as the ones above but in lowercase and without the MyPmWiki part so they are: hostname username password dbname tablefmt sql (new variable, required due to the need to quote the sql string. This may be not strictly necessary (one could join the array of all strings not in other variable assignments), but in my opinion it is not a burden to use the new variable.) Example usage would be: (:MyPmWiki hostname="localhost" dbname="pmwiki" sql="select * from mytable where name='wiki';":) - Paul Eden */ Markup('MyPmWiki','inline','/\(:MyPmWiki *(.+):\)/e',"MyPmWiki('\$1')"); function MyPmWiki($args) { global $MyPmWiki_Hostname, $MyPmWiki_Username, $MyPmWiki_Password, $MyPmWiki_DBName, $MyPmWiki_TableFmt; global $action; global $FarmD; $ExtraErrMsg = "Please contact the administrator of this wiki."; $ARGS = ParseArgs(PSS($args)); // set $MyPmWiki_Hostname if (!isset($ARGS['hostname'])) { if (!isset($MyPmWiki_Hostname)) { $MyPmWiki_Hostname = "localhost"; } } else { $MyPmWiki_Hostname = $ARGS['hostname']; } // set $MyPmWiki_TableFmt if (!isset($ARGS['tablefmt'])) { if (!isset($MyPmWiki_TableFmt)) { $MyPmWiki_TableFmt = "border='1'"; } } else { $MyPmWiki_TableFmt = $ARGS['tablefmt']; } // set $MyPmWiki_Username if (!isset($ARGS['username'])) { if (!isset($MyPmWiki_Username)) { return "Error: \$MyPmWiki_Username not defined. $ExtraErrMsg"; } } else { $MyPmWiki_Username = $ARGS['username']; } // set $MyPmWiki_Password if (!isset($ARGS['password'])) { if (!isset($MyPmWiki_Password)) { return "Error: \$MyPmWiki_Password not defined. $ExtraErrMsg"; } } else { $MyPmWiki_Password = $ARGS['password']; } // set $MyPmWiki_DBName if (!isset($ARGS['dbname'])) { if (!isset($MyPmWiki_DBName)) { return "Error: \$MyPmWiki_DBName not defined. $ExtraErrMsg"; } } else { $MyPmWiki_DBName = $ARGS['dbname']; } // set $SQL $SQL = $ARGS['sql']; // Connect to db if (!$dbh = mysql_connect ($MyPmWiki_Hostname, $MyPmWiki_Username, $MyPmWiki_Password)) return "Connection Error: ".mysql_error()." $ExtraErrMsg";; if(!mysql_select_db ($MyPmWiki_DBName)) $resultStr = "Error: ".mysql_error()." $ExtraErrMsg"; // Perform query and display table elseif($result = mysql_query($SQL,$dbh)) { $resultStr = ""; for ($i = 0; $i < mysql_num_fields($result); $i++) { $resultStr .= ""; } $resultStr .= ""; while($row = mysql_fetch_row($result)) { $resultStr .= ""; foreach ($row as $field) $resultStr .= ""; $resultStr .= ""; } $resultStr .= "
".mysql_field_name($result, $i)."
$field
"; } else $resultStr = "SQL Error: ".mysql_error().""; mysql_close($dbh); return $resultStr; } ?>