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);
 }
Example #2
0
 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 '';
 }
Example #3
0
 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);
 }