Hallo,
wir arbeiten gerade an einer MediaWiki Seite und basteln da mehrere extension rein wie z.b einen Kalender oder einen Blog.
Den Kalender habe ich auch problemlos einfügen können allerdings den Blog nicht da seit der neuen Version einige Datenbankdinge nicht mehr übereinstimmem und so nicht mehr zu finden sind. Da ich allerdings nicht der verfasser dieser extension bin hab ich auch nicht wirklich die Ahnung von was ich da ändern müsste um das ding wieder zum laufen zu bekommen.
Die Extension sieht wie folgt aus....
<?php
$wgExtensionFunctions[] = "wfBlogExtension";
function wfBlogExtension() {
global $wgParser;
$wgParser->setHook( "blog", "renderExample" );
} function renderExample( $input ) {
global $wgTitle;
$pageTitle = $wgTitle->getPrefixedDbKey();
//Get parameters
$params = split(';', trim($input));
$arguments = array();
foreach ($params as $param) {
$parts = split( '=', $param );
if (isset($parts[0]) && isset($parts[1])) {
$name = trim($parts[0]);
$arguments[$name] = trim($parts[1]);
}
}
if (isset($arguments['page'])){
$pageTitle = $arguments['page'];
}
if (isset($arguments['cat'])){
$cat = $arguments['cat'];
}
$output .= wfblogList($pageTitle,$cat);
return $output;
}
function wfblogList($target, $cat='Notions'){
global $wgUseCategoryMagic, $wgUser,$wgParser,$parserOptions,$wgTitle, $wgOut,$wgLinkCache;
$pageTitle = $wgTitle->getPrefixedDbKey();
$nt = Title::newFromURL( $target );
$lid = $nt->getArticleID();
$limit = 500;
$fname = "wfblogList";
$sql = "SELECT cur_id,cur_namespace,cur_title,cur_text, cur_is_redirect FROM links,cur,categorylinks WHERE l_to={$lid} AND l_from=cur_id AND cl_from=cur_id AND cl_to='$cat' LIMIT $limit";
$res = wfQuery( $sql, DB_READ, $fname );
if ( 0 == wfNumRows( $res ) ) {
if ( 0 == $level ) {
$mytext.=( wfMsg( "nolinkshere" ) );
}
return;
}
if ( 0 == $level ) {
}
$isredir = " (" . wfMsg( "isredirect" ) . ")\n";
$mytext .=" __NOEDITSECTION__ \n";
$mytext .="<h6 style=\"display:none\"> </h6>";
while ( $row = wfFetchObject( $res ) ) {
$entryT = $row->cur_title;
if (!($row->cur_title == $pageTitle )){
if( !$nt ) {
continue;
}
if ( $row->cur_is_redirect ) {
$extra = "redirect=no";
} else {
$extra = "";
}
$mytext .= "<div class=\"blogEntry\" style=\"border-top: 3px solid black; margin-bottom:4em;\"><a name=\"Talk:$entryT\"></a><div class=\"editsection\" style=\"float:right;margin-left: 5px;\">[<a href=\"/mediawiki/index.php?title=$entryT&action=edit\" title=\"$entryT\">edit</a>] [<a href=\"/mediawiki/index.php?title=Talk:$entryT&action=edit§ion=new\" title=\"Talk:$entryT\">commentaire</a>]</div>";
$mytext .= preg_replace("#\[\[Category:[^\[.]*?\]\]#","",$row->cur_text);
$mytext .= "</div>\n";
if ( $row->cur_is_redirect ) {
if ( $level < 2 ) {
//wfblogList( $level + 1, $row->cur_id, $limit );
}
}
}
}
$wgLinkCache->suspend();
$parsed = $wgParser->parse( $mytext, $wgTitle, $wgOut->mParserOptions, true);
$output .= $parsed->getText();
return $output;
}
?>
Ich erwarte jetzt nich das mir jemand das ding umschreibt, was natürlich auch nicht schlecht wäre ... sondern würde ich selbst eine extension für einen Blog für MediaWiki schreiben. Habe aber keine Ahnung wie man sowas schreibt.
Gibt es für sowas irgendwie einen Anfänger Editor so á la Frontpage o.ä.
bzw hat vllt irgendjemand einen brauchbaren Blog den man in so eine Wiki Seite infügen könnte?
Danke
Gruß
Daniel