deps = $deps;
$this->db = $deps->db;
$this->log = $deps->log;
\Twig_Autoloader::register();
$loader = new \Twig_Loader_Filesystem($this->deps->options['template_dir']);
$this->deps->twig = new \Twig_Environment(
$loader,
array(
//'cache' => '/path/to/compilation_cache',
'debug' => true
)
);
}
public function render($url)
{
$arData = $this->loadData($url);
header('Content-type: text/html');
$this->renderHtml('mentions', array('arData' => $arData));
}
/**
* Fetches all bookmarks, comments and links
*/
protected function loadData($url)
{
$arData = array(
'bookmarks' => array(),
'comments' => array(),
'links' => array(),
);
$stmt = $this->db->query(
'SELECT * FROM linkbacks, rbookmarks'
. ' WHERE l_id = rb_l_id AND l_use = 1'
. ' AND l_target = ' . $this->db->quote($url)
. ' ORDER BY l_time ASC'
);
$arData['bookmarks'] = $stmt->fetchAll();
$stmt = $this->db->query(
'SELECT * FROM linkbacks, rcomments'
. ' WHERE l_id = rc_l_id AND l_use = 1'
. ' AND l_target = ' . $this->db->quote($url)
. ' ORDER BY l_time ASC'
);
$arData['comments'] = $stmt->fetchAll();
$stmt = $this->db->query(
'SELECT * FROM linkbacks, rlinks'
. ' WHERE l_id = rl_l_id AND l_use = 1'
. ' AND l_target = ' . $this->db->quote($url)
. ' ORDER BY l_time ASC'
);
$arData['links'] = $stmt->fetchAll();
return $arData;
}
protected function renderHtml($tplname, $vars = array())
{
$template = $this->deps->twig->loadTemplate($tplname . '.htm');
echo $template->render($vars);
}
}
?>