protected function _getSubscribeLink($email, $user_id, $st_id) { return FrontController::getURLByRoute('unsubscribe', array('user_id' => $user_id, 'statement_id' => $st_id, 'email' => $email, 'hash' => $this->_getSubscribeHash($email, $user_id, $st_id)), true); }
public function PageNavigation($route, $count_all, $per_page, array $options = array()) { $default_options = array(); $options = array_merge($default_options, $options); $request = FrontController::getRequest(); $page = $request->getClean('page'); if ((int) $page <= 0) { $page = 1; } $i = $per_page * $page > $count_all ? $count_all : $per_page * $page; $this->_tpl->load_template('navigation.tpl'); $vars = array(); $blocks = array(); $no_prev = false; $no_next = false; $cstart = ((int) $page - 1) * $per_page; if (isset($cstart) and $cstart != "" and $cstart > 0) { $prev = $cstart / $per_page; if ($prev > 1) { $page_url = FrontController::getURLByRoute($route . "_pages", array('page' => $prev)); } else { $page_url = FrontController::getURLByRoute($route); } $blocks['prev-link'] = "<a href=\"" . $page_url . "\">\\1</a>"; } else { $no_prev = TRUE; } if ($per_page) { if ($count_all > $per_page) { $enpages_count = @ceil($count_all / $per_page); $pages = ""; $cstart = $cstart / $per_page + 1; if ($enpages_count <= 10) { for ($j = 1; $j <= $enpages_count; $j++) { if ($j > 1) { $page_url = FrontController::getURLByRoute($route . "_pages", array('page' => $j)); } else { $page_url = FrontController::getURLByRoute($route); } if ($j != $cstart) { $pages .= "<a href=\"" . $page_url . "\">{$j}</a> "; } else { $pages .= "<span>{$j}</span> "; } } } else { $start = 1; $end = 10; $nav_prefix = "... "; if ($cstart > 0) { if ($cstart > 5) { $start = $cstart - 4; $end = $start + 8; if ($end >= $enpages_count) { $start = $enpages_count - 9; $end = $enpages_count - 1; $nav_prefix = ""; } else { $nav_prefix = "... "; } } } if ($start >= 2) { $pages .= "<a href=\"" . FrontController::getURLByRoute($route) . "\">1</a> ... "; } for ($j = $start; $j <= $end; $j++) { if ($j > 1) { $page_url = FrontController::getURLByRoute($route . "_pages", array('page' => $j)); } else { $page_url = FrontController::getURLByRoute($route); } if ($j != $cstart) { $pages .= "<a href=\"" . $page_url . "\">{$j}</a> "; } else { $pages .= "<span>{$j}</span> "; } } if ($cstart != $enpages_count) { $pages .= $nav_prefix . "<a href=\"" . FrontController::getURLByRoute($route . "_pages", array('page' => $enpages_count)) . "\">{$enpages_count}</a>"; } else { $pages .= "<span>{$enpages_count}</span> "; } } } $vars['pages'] = $pages; } if ($per_page and $per_page < $count_all and $i < $count_all) { $next_page = @floor($i / $per_page) + 1; $blocks['next-link'] = "<a href=\"" . FrontController::getURLByRoute($route . "_pages", array('page' => $next_page)) . "\">\\1</a>"; } else { $no_next = TRUE; } if (!$no_prev or !$no_next) { $this->_fillTmpl($vars, $blocks); return $this->_compile('PageNavigation'); } return ''; }
public function onNewComment(FrontController $sender, Comment $comment, Statement $st) { $vars = array('username' => $comment->getUsername(), 'text' => strip_tags($comment->getText()), 'st_link' => FrontController::getURLByRoute('@view', array('id' => $st->getId()), true), 'title' => $st->getTitle()); $this->getMailer()->sendMail('newComment', $this->_getModerEmails(), $vars); }