original) $prefix = "Translated";
$str .= "
\n";
$str .= markdown($this->text) . "\n";
return $str;
}
public function Text($text, $lang, $original)
{
$this->text = $text;
$this->lang = $lang;
$this->original = $original;
}
}
class Review {
public $title;
public $id;
public $src;
public $url;
public $texts = array();
public function write($fp)
{
/*
fwrite($fp, " \n");
*/
}
public function show()
{
$str = "";
// $str .= $this->id . "\n";
$str .= "\n";
$str .= "Origin: ".$this->src." url."\">".$this->url."
\n";
foreach($this->texts as $text) {
if($text->original) {
$str .= $text->show();
break;
}
}
foreach($this->texts as $text) {
if(!$text->original) {
$str .= $text->show();
}
}
return $str;
}
public function showRef()
{
$str = "";
$str .= "id."\">".$this->title." from ".$this->src."\n";
return $str;
}
public function add($text)
{
array_push($this->texts, $text);
}
public function Review($id, $title, $src, $url)
{
$this->id = $id;
$this->title = $title;
$this->src = $src;
$this->url = $url;
}
}
class Reviews {
private $file;
private $reviews = array();
// Admin config
public $admin_title = "Reviews";
public $admin_submodules = array();
public function admin($sub, $action, $vars)
{
switch($sub) {
case "delete":
break;
}
}
public function run($params)
{
global $GLOBALS;
$str = "";
foreach($this->reviews as $review) {
if($GLOBALS['rid'] == $review->id) {
$str .= $review->show();
}
}
return $str;
}
public function get($id)
{
return $this->reviews[$id];
}
public function showRef($id)
{
if(!$this->reviews[$id]) return "";
return $this->reviews[$id]->showRef();
}
public function add($review) {
$key = $review->id;
$this->reviews[$key] = $review;
}
public function write()
{
/*
$fp = fopen($this->file, "w");
fwrite($fp, "\n");
fwrite($fp, "\n");
foreach($this->discs as $disc) {
$disc->write($fp);
}
fwrite($fp, "\n");
fclose($fp);
*/
}
private function read()
{
$dom = new DomDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->load($this->file);
$discography = $dom->documentElement;
$revs = $dom->getElementsByTagName('review');
foreach($revs as $rev) {
$review = new Review($rev->getAttribute('id'),
$rev->getAttribute('title'),
$rev->getAttribute('src'),
$rev->getAttribute('url'));
$ts = $rev->getElementsByTagName('text');
foreach($ts as $t) {
$text = new Text($t->textContent,
$t->getAttribute('lang'),
$t->getAttribute('original'));
$review->add($text);
}
$this->add($review);
}
}
public function Reviews($file)
{
$this->file = $file;
if(file_exists($file)) $this->read();
}
}
function reviews_init()
{
global $DATA_DIR;
return new Reviews($DATA_DIR . "/reviews.xml");
}
?>