コード例 #1
0
ファイル: URLTest.php プロジェクト: siloor/kohana-logreader
 /**
  * Test for base route.
  * 
  * @test
  * @covers LogReader_URL::base
  */
 public function test_base()
 {
     $config = $this->getMockBuilder('LogReader_Config')->setConstructorArgs(array(array()))->getMock();
     $config->expects($this->any())->method('get_route')->will($this->returnValue('logreader'));
     LogReader_URL::set_configuration($config);
     $this->assertSame('http://example.com/logreader/', LogReader_URL::base());
 }
コード例 #2
0
 public function action_messages()
 {
     $current_page = (int) $this->request->query('page');
     $message = $this->request->query('message');
     $levels = $this->request->query('levels');
     $date_from = $this->request->query('date-from');
     $date_to = $this->request->query('date-to');
     $limit = $this->request->query('limit');
     $from_id = $this->request->query('last_message_id');
     $all_matches_before_id = (int) $this->request->query('all_matches_before_id');
     if ($current_page < 1) {
         $current_page = 1;
     }
     if (!is_array($levels)) {
         $levels = array();
     }
     $all_matches_before_id = $from_id ? $all_matches_before_id : 0;
     $filters = $this->logreader->create_filters($message, $levels, $date_from, $date_to, $limit);
     $filters_for_autorefresh = $this->logreader->create_filters($message, $levels, $date_from, NULL, $limit);
     $view = View::factory('logreader/messages');
     $view->levels = $this->logreader->get_levels();
     $view->filters = $filters;
     $view->auto_refresh_time = $this->logreader_config->get_auto_refresh_interval();
     $offset = ($current_page - 1) * $filters['limit'];
     $view->messages = $this->logreader->get_messages($filters['date-from'], $filters['date-to'], $filters['limit'], $offset, $filters['message']['text'] && $filters['message']['valid'] ? $filters['message']['text'] : NULL, $filters['levels'], array(), $from_id);
     $view->all_matches = $view->messages['all_matches'];
     $view->all_matches_before_id = $view->all_matches - $offset;
     $view->messages = $view->messages['messages'];
     $view->current_page = $current_page;
     $view->auto_refresh_url = LogReader_URL::api_base() . 'messages/?' . $filters_for_autorefresh['query_string'];
     $uri = LogReader_URL::base() . "?" . $filters['query_string'];
     $view->pages = LogReader_URL::pager($current_page, ceil(($view->all_matches + $all_matches_before_id) / $filters['limit']), $uri . "&page=%(page)s", $uri);
     $this->data['html'] = (string) $view;
     $this->data['all_matches'] = $view->all_matches;
 }
コード例 #3
0
ファイル: LogReader.php プロジェクト: siloor/kohana-logreader
 public function action_index()
 {
     $current_page = (int) $this->request->query('page');
     $message = $this->request->query('message');
     $levels = $this->request->query('levels');
     $date_from = $this->request->query('date-from');
     $date_to = $this->request->query('date-to');
     $limit = $this->request->query('limit');
     if ($current_page < 1) {
         $current_page = 1;
     }
     if (!is_array($levels)) {
         $levels = array();
     }
     $filters = $this->logreader->create_filters($message, $levels, $date_from, $date_to, $limit);
     $filters_for_autorefresh = $this->logreader->create_filters($message, $levels, $date_from, NULL, $limit);
     $view = View::factory('logreader/index');
     $view->stylesheets = array(LogReader_URL::static_base() . 'css/messages.css');
     $view->javascripts = array(LogReader_URL::static_base() . 'js/messages.js');
     $view->user = $this->user;
     $view->is_tester_available = $this->logreader_config->is_tester_available();
     $view->content = View::factory('logreader/messages');
     $view->content->name = 'messages';
     $view->content->levels = $this->logreader->get_levels();
     $view->content->filters = $filters;
     $view->content->auto_refresh_time = $this->logreader_config->get_auto_refresh_interval();
     $offset = ($current_page - 1) * $filters['limit'];
     $view->content->messages = $this->logreader->get_messages($filters['date-from'], $filters['date-to'], $filters['limit'], $offset, $filters['message']['text'] && $filters['message']['valid'] ? $filters['message']['text'] : NULL, $filters['levels'], array(), NULL);
     $view->content->all_matches = $view->content->messages['all_matches'];
     $view->content->all_matches_before_id = $view->content->all_matches - $offset;
     $view->content->messages = $view->content->messages['messages'];
     $view->content->current_page = $current_page;
     $view->content->auto_refresh_url = LogReader_URL::api_base() . 'messages/?' . $filters_for_autorefresh['query_string'];
     $uri = LogReader_URL::base() . "?" . $filters['query_string'];
     $view->content->pages = LogReader_URL::pager($current_page, ceil($view->content->all_matches / $filters['limit']), $uri . "&page=%(page)s", $uri);
     $this->response->body($view);
 }
コード例 #4
0
ファイル: index.php プロジェクト: siloor/kohana-logreader
						<li <?php 
if ($content->name === 'messages') {
    print 'class="active"';
}
?>
><a href="<?php 
print LogReader_URL::base();
?>
" title="Messages">Messages</a></li>
						<li <?php 
if ($content->name === 'about') {
    print 'class="active"';
}
?>
><a href="<?php 
print LogReader_URL::base();
?>
about" title="About">About</a></li>
					</ul>
					<?php 
if ($content->name === 'messages' && $is_tester_available) {
    ?>
					<button type="button" class="btn btn-default navbar-btn" id="create-test-message-btn">Create Test Message</button>
					<?php 
}
?>
				</div>
			</div>
		</div>
		<div id="content">
			<?php