2025-06-24 22:46:54 +02:00
< ? php global $session ;
2025-06-20 19:10:23 +02:00
/**
2025-06-23 19:41:29 +02:00
* Project : BeCast WebEngine - simple site engine
* File : / modules / text / text . output . php
2025-06-20 19:10:23 +02:00
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; version 2 of the License .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
*
2025-06-23 19:41:29 +02:00
* @ link http :// www . becast . at
* @ copyright 2010 - 2025 becast . at
* @ author Bernhard Jaud < bernhard at becast dot at >
* @ package BcWe core
* @ license http :// opensource . org / licenses / gpl - license . php GNU Public License
* @ version $Id $
*/
2025-06-20 19:10:23 +02:00
2025-06-23 19:41:29 +02:00
If ( ! defined ( " INBCWE " )) {
2025-06-20 19:10:23 +02:00
die ( " Dieses Script kann nicht ausserhalb des Frameworks laufen! " );
}
$session -> page_begin ( " Text Module " , FALSE );
class text extends module {
2025-06-24 22:46:54 +02:00
function output ()
{
global $module , $config , $db , $log , $core , $error ;
$textid = 0 ;
$url = " " ;
if ( isset ( $this -> get [ " textid " ]) || isset ( $this -> post [ " textid " ])) {
if ( isset ( $this -> get [ " textid " ])) {
$textid = intval ( $this -> get [ " textid " ]);
} else {
$textid = intval ( $this -> post [ " textid " ]);
2025-06-20 19:10:23 +02:00
}
2025-06-24 22:46:54 +02:00
$result = $db -> query ( " SELECT a.`id` a.`text`, a.`title`, u.`username`, eu.`username` as edituser, a.`date`, a.`edittime`, a.`eid` FROM ` " . $config [ " prefix " ] . " article` a LEFT JOIN ` " . $config [ " prefix " ] . " users` eu on a.`eid` = eu.`uid` LEFT JOIN ` " . $config [ " prefix " ] . " users` u on a.`author` = u.`uid` WHERE a.`id`=' " . $textid . " ' AND a.`active`='true' " ) or die ( $db -> error ());
} elseif ( isset ( $this -> get [ " url " ]) || isset ( $this -> post [ " url " ])) {
if ( isset ( $this -> get [ " url " ])) {
$url = preg_replace ( '/\.html($|\?)/i' , " $ 1 " , $this -> get [ " url " ]);
} else {
$url = preg_replace ( '/\.html($|\?)/i' , " $ 1 " , $db -> escape_string ( $this -> post [ " url " ]));
}
$result = $db -> query ( " SELECT a.`id`, a.`text`, a.`title`, u.`username`, eu.`username` as edituser, a.`date`, a.`edittime`, a.`eid` FROM ` " . $config [ " prefix " ] . " article` a LEFT JOIN ` " . $config [ " prefix " ] . " users` eu on a.`eid` = eu.`uid` LEFT JOIN ` " . $config [ " prefix " ] . " users` u on a.`author` = u.`uid` WHERE a.url=' " . $url . " ' AND a.`active`='true' " );
2025-06-20 19:10:23 +02:00
2025-06-24 22:46:54 +02:00
} else {
2025-06-20 19:10:23 +02:00
return $error -> http_error ( " 404 " );
2025-06-24 22:46:54 +02:00
}
$fid = " " ;
$fid .= $textid ;
$fid .= $url ;
if ( $db -> num_rows ( $result ) > 0 ) {
if ( ! $this -> tpl -> isCached ( 'textview.tpl' , " textview " . $fid )) {
$row = $db -> fetch_array ( $result );
$cresult = $db -> query ( " SELECT * FROM ` " . $config [ " prefix " ] . " article_categories` c LEFT JOIN ` " . $config [ " prefix " ] . " article_category` s ON c.`id`=s.`c_id` WHERE s.`a_id`=' " . $row [ " id " ] . " ' " );
while ( $c = $db -> fetch_array ( $cresult )) {
if ( ! $cat ) {
$cat = $c [ " categoryname " ];
} else {
$cat .= " , " . $c [ " categoryname " ];
2025-06-20 19:10:23 +02:00
}
}
2025-06-24 22:46:54 +02:00
2025-06-20 19:10:23 +02:00
$editdate = date ( " d.m.Y, H:i " , $row [ " edittime " ]);
$date = date ( " d.m.Y, H:i " , $row [ " date " ]);
$this -> tpl -> assign ( 'article' , $row );
$this -> tpl -> assign ( 'cat' , $cat );
$this -> tpl -> assign ( 'editdate' , $editdate );
$this -> tpl -> assign ( 'date' , $date );
2025-06-24 22:46:54 +02:00
}
$this -> titleaddon = $row [ 'title' ] . ' - ' ;
$core -> add_navbit ( $row [ 'title' ]);
return $this -> tpl -> fetch ( 'textview.tpl' , " textview " . $fid );
} else {
2025-06-20 19:10:23 +02:00
return $error -> http_error ( " 404 " );
2025-06-24 22:46:54 +02:00
2025-06-20 19:10:23 +02:00
}
}
2025-06-24 22:46:54 +02:00
}