funchat/modules/mybbnews/mybbnews.plugins.php

56 lines
2.1 KiB
PHP

<?php
If (!defined("in_astat")) {
die("Dieses Script kann nicht ausserhalb des Frameworks laufen!");
}
use Smarty\Smarty;
class plugins_mybbnews{
function register_plugins($plugin){
$plugin->use_hook('frontpage_mybbnews',array($this,"newsview"));
$plugin->use_hook('navigation_mainmodule',array($this,"frontpage_nav"));
}
function newsview(){
global $db, $config;
$this->tpl= new Smarty();
$parser=new textparser(true);
$root = $_SERVER['DOCUMENT_ROOT'] . $config["path"];
$this->tpl->setCompileDir($root . '/core/template/templates_c');
$this->tpl->setCacheDir($root . '/core/template/cache');
$this->tpl->setConfigDir($root . '/core/template/config');
If($config["caching"]==1){
$this->tpl->setCaching(Smarty::CACHING_LIFETIME_SAVED);
}
$this->tpl->assign("path",$config["path"]."/");
if(isset($config["theme"]) && is_dir($root . '/modules/mybbnews/templates/'.$config["theme"])){
$this->tpl-> setTemplateDir($root . '/modules/mybbnews/templates/'.$config["theme"]);
}else{
$this->tpl-> setTemplateDir($root . '/modules/mybbnews/templates/default');
}
$result=$db->query("SELECT n.*,t.*,( SELECT COUNT(`pid`) FROM `ab_posts` c WHERE c.`replyto`=n.`pid` AND c.`visible`='1') as count FROM `ab_posts` n LEFT JOIN `ab_threads` t ON t.`tid`=n.`tid` WHERE n.`fid`='2' AND n.`replyto`='0' AND n.`visible`='1' ORDER BY n.`dateline` DESC LIMIT 10");
while($row=$db->fetch_array($result)){
$row["year"]=date("Y",$row["dateline"]);
$row["month"]=date("M",$row["dateline"]);
$row["day"]=date("d",$row["dateline"]);
$row["time"]=date("h:i",$row["dateline"]);
$row["date"]=date("d.m.Y",$row["dateline"]);
$row["text"]=$parser->parse(nl2br($row["message"]));
$row["title"]=$parser->parse(nl2br($row["subject"]));
$row["fuid"]=$row["uid"];
$row["comments"]=$row["count"];
$news[]=$row;
}
$this->tpl->assign('news', $news);
return $this->tpl->fetch('news.tpl',"news");
}
function frontpage_nav($mainmodule){
global $db, $config,$mainmodule;
$mainmodule.="<div id=\"frontpage_mybbnews\" class=\"lineitem\">News</div>";
return;
}
}
?>