9 public function __construct(Dependencies $deps)
12 $this->db = $deps->db;
13 $this->log = $deps->log;
15 \Twig_Autoloader::register();
16 $loader = new \Twig_Loader_Filesystem($this->deps->options['template_dir']);
17 $this->deps->twig = new \Twig_Environment(
20 //'cache' => '/path/to/compilation_cache',
26 public function render($url)
28 $arData = $this->loadData($url);
29 header('Content-type: text/html');
30 $this->renderHtml('mentions', array('arData' => $arData));
34 * Fetches all bookmarks, comments and links
36 protected function loadData($url)
39 'bookmarks' => array(),
40 'comments' => array(),
44 $stmt = $this->db->query(
45 'SELECT * FROM linkbacks, rbookmarks'
46 . ' WHERE l_id = rb_l_id AND l_use = 1'
47 . ' AND l_target = ' . $this->db->quote($url)
48 . ' ORDER BY l_time ASC'
50 $arData['bookmarks'] = $stmt->fetchAll();
52 $stmt = $this->db->query(
53 'SELECT * FROM linkbacks, rcomments'
54 . ' WHERE l_id = rc_l_id AND l_use = 1'
55 . ' AND l_target = ' . $this->db->quote($url)
56 . ' ORDER BY l_time ASC'
58 $arData['comments'] = $stmt->fetchAll();
60 $stmt = $this->db->query(
61 'SELECT * FROM linkbacks, rlinks'
62 . ' WHERE l_id = rl_l_id AND l_use = 1'
63 . ' AND l_target = ' . $this->db->quote($url)
64 . ' ORDER BY l_time ASC'
66 $arData['links'] = $stmt->fetchAll();
71 protected function renderHtml($tplname, $vars = array())
73 $template = $this->deps->twig->loadTemplate($tplname . '.htm');
74 echo $template->render($vars);