parent
7a7c10e8df
commit
6095a71a8d
|
@ -15,7 +15,7 @@ abstract class BaseQuery implements Filterable
|
|||
/**
|
||||
* Sort ascending
|
||||
*/
|
||||
const SORT_ASC = 1;
|
||||
const SORT_ASC = 1;
|
||||
|
||||
/**
|
||||
* Sort descending
|
||||
|
@ -97,7 +97,7 @@ abstract class BaseQuery implements Filterable
|
|||
* The Query will return the default attribute the attributes parameter is omitted
|
||||
*
|
||||
* @param String $target The target of this query (tablename, objectname, depends on the concrete implementation)
|
||||
* @param array $columns An optional array of columns to select, if none are given the default
|
||||
* @param array $columns An optional array of columns to select, if none are given the default
|
||||
* columnset is returned
|
||||
*
|
||||
* @return self Fluent interface
|
||||
|
@ -119,7 +119,7 @@ abstract class BaseQuery implements Filterable
|
|||
* backend-specific query implementation.
|
||||
*
|
||||
* @param string $expression Implementation specific search expression
|
||||
* @param mixed $parameters Implementation specific search value to use for query placeholders
|
||||
* @param mixed $parameters Implementation specific search value to use for query placeholders
|
||||
*
|
||||
* @return self Fluent Interface
|
||||
* @see BaseQuery::andWhere() This is an alias to andWhere()
|
||||
|
@ -136,21 +136,20 @@ abstract class BaseQuery implements Filterable
|
|||
* backend-specific query implementation.
|
||||
*
|
||||
* @param string $expression Implementation specific search expression
|
||||
* @param mixed $parameters Implementation specific search value to use for query placeholders
|
||||
|
||||
* @param mixed $parameters Implementation specific search value to use for query placeholders
|
||||
* @return self Fluent interface
|
||||
*/
|
||||
public function andWhere($expression, $parameters = null)
|
||||
{
|
||||
$node = $this->parseFilterExpression($expression, $parameters);
|
||||
if ($node === null) {
|
||||
Logger::debug('Ignoring invalid filter expression: %s (params: %s)', $expression, $parameters);
|
||||
return $this;
|
||||
}
|
||||
$this->filter->insert(Node::createAndNode());
|
||||
$this->filter->insert($node);
|
||||
return $this;
|
||||
}
|
||||
public function andWhere($expression, $parameters = null)
|
||||
{
|
||||
$node = $this->parseFilterExpression($expression, $parameters);
|
||||
if ($node === null) {
|
||||
Logger::debug('Ignoring invalid filter expression: %s (params: %s)', $expression, $parameters);
|
||||
return $this;
|
||||
}
|
||||
$this->filter->insert(Node::createAndNode());
|
||||
$this->filter->insert($node);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an lower priority filter expression to be applied on this query
|
||||
|
@ -159,8 +158,7 @@ abstract class BaseQuery implements Filterable
|
|||
* backend-specific query implementation.
|
||||
*
|
||||
* @param string $expression Implementation specific search expression
|
||||
* @param mixed $parameters Implementation specific search value to use for query placeholders
|
||||
|
||||
* @param mixed $parameters Implementation specific search value to use for query placeholders
|
||||
* @return self Fluent interface
|
||||
*/
|
||||
public function orWhere($expression, $parameters = null)
|
||||
|
@ -256,7 +254,7 @@ abstract class BaseQuery implements Filterable
|
|||
* </code>
|
||||
*
|
||||
* @param string $columnOrAlias Column, may contain direction separated by space
|
||||
* @param int $dir Sort direction
|
||||
* @param int $dir Sort direction
|
||||
*
|
||||
* @return BaseQuery
|
||||
*/
|
||||
|
@ -299,7 +297,7 @@ abstract class BaseQuery implements Filterable
|
|||
*/
|
||||
public function limit($count = null, $offset = null)
|
||||
{
|
||||
$this->limitCount = $count !== null ? intval($count) : null;
|
||||
$this->limitCount = $count !== null ? intval($count) : null;
|
||||
$this->limitOffset = intval($offset);
|
||||
|
||||
return $this;
|
||||
|
|
|
@ -96,6 +96,4 @@ class Query extends BaseQuery
|
|||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -11,5 +11,4 @@ interface DatasourceInterface
|
|||
* @return BaseQuery
|
||||
*/
|
||||
public function select();
|
||||
|
||||
}
|
||||
|
|
|
@ -111,7 +111,7 @@ class Query extends BaseQuery
|
|||
/**
|
||||
* Create the Zend_Db select query for this query
|
||||
*/
|
||||
private function createSelectQuery()
|
||||
private function createSelectQuery()
|
||||
{
|
||||
$this->selectQuery = clone($this->baseQuery);
|
||||
$this->selectQuery->columns($this->getColumns());
|
||||
|
@ -170,7 +170,7 @@ class Query extends BaseQuery
|
|||
if ($this->useSubqueryCount) {
|
||||
$this->countQuery = $this->createCountAsSubquery();
|
||||
} else {
|
||||
$this->countQuery =$this->createCustomCountQuery();
|
||||
$this->countQuery = $this->createCustomCountQuery();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -184,6 +184,7 @@ class Query extends BaseQuery
|
|||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the Zend_Db select and count query objects for this instance
|
||||
*/
|
||||
|
@ -268,10 +269,10 @@ class Query extends BaseQuery
|
|||
public function dump()
|
||||
{
|
||||
return "QUERY\n=====\n"
|
||||
. $this->getSelectQuery()
|
||||
. "\n\nCOUNT\n=====\n"
|
||||
. $this->getCountQuery()
|
||||
. "\n\n";
|
||||
. $this->getSelectQuery()
|
||||
. "\n\nCOUNT\n=====\n"
|
||||
. $this->getCountQuery()
|
||||
. "\n\n";
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -310,7 +311,7 @@ class Query extends BaseQuery
|
|||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public function applyFilter()
|
||||
{
|
||||
|
@ -318,6 +319,4 @@ class Query extends BaseQuery
|
|||
$parser->treeToSql($this->getFilter(), $this->baseQuery);
|
||||
$this->clearFilter();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -130,7 +130,8 @@ class TreeToSqlParser
|
|||
if ($this->query->isAggregateColumn($node->left)) {
|
||||
$this->type = 'HAVING';
|
||||
}
|
||||
$queryString .= ' ' . (is_integer($node->right) ? $node->operator : $this->getSqlOperator($node->operator)) . ' ';
|
||||
$queryString .= ' ' . (is_integer($node->right) ?
|
||||
$node->operator : $this->getSqlOperator($node->operator)) . ' ';
|
||||
$queryString .= $this->getParameterValue($node);
|
||||
return $queryString;
|
||||
}
|
||||
|
@ -152,11 +153,8 @@ class TreeToSqlParser
|
|||
if ($this->query->isTimestamp($node->left)) {
|
||||
$node->context = Node::CONTEXT_TIMESTRING;
|
||||
}
|
||||
switch($node->context) {
|
||||
case Node::CONTEXT_TIMESTRING:
|
||||
$value = strtotime($value);
|
||||
default:
|
||||
break;
|
||||
if ($node->context === Node::CONTEXT_TIMESTRING) {
|
||||
$value = strtotime($value);
|
||||
}
|
||||
return $this->query->getDatasource()->getConnection()->quote($value);
|
||||
}
|
||||
|
|
|
@ -40,4 +40,4 @@ use Icinga\Filter\Query\Tree;
|
|||
interface Registry
|
||||
{
|
||||
public static function getUrlForTarget($domain, Tree $filter);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,6 +62,4 @@ class Request extends Zend_Controller_Request_Http
|
|||
{
|
||||
return $this->user;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -34,7 +34,6 @@ use Zend_View_Abstract;
|
|||
use Icinga\Web\Form\Decorator\ConditionalHidden;
|
||||
use Zend_Form_Element_Submit;
|
||||
|
||||
|
||||
/**
|
||||
* Sortbox widget
|
||||
*
|
||||
|
|
|
@ -238,7 +238,8 @@ class Tab implements Widget
|
|||
$tagParams .= ' ' . $key . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
$tab = '<a' . $tagParams .' href="' . $this->url->getAbsoluteUrl() . '" data-icinga-target="self">' . $caption . '</a>';
|
||||
$tab = '<a' . $tagParams .' href="' . $this->url->getAbsoluteUrl()
|
||||
. '" data-icinga-target="self">' . $caption . '</a>';
|
||||
} else {
|
||||
$tab = $caption;
|
||||
}
|
||||
|
|
|
@ -19,4 +19,3 @@ class CommenthistoryQuery extends IdoQuery
|
|||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -80,8 +80,7 @@ class Controller extends ActionController
|
|||
exit;
|
||||
}
|
||||
if ($this->_getParam('format') === 'json'
|
||||
|| $this->_request->getHeader('Accept') === 'application/json')
|
||||
{
|
||||
|| $this->_request->getHeader('Accept') === 'application/json') {
|
||||
header('Content-type: application/json');
|
||||
echo json_encode($query->fetchAll());
|
||||
exit;
|
||||
|
|
|
@ -71,5 +71,4 @@ class Hostgroup extends DataView
|
|||
)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -65,6 +65,4 @@ class Servicegroup extends DataView
|
|||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,9 +79,9 @@ class Registry implements FilterRegistry
|
|||
$type = new TimeRangeSpecifier();
|
||||
$type->setOperator(
|
||||
array(
|
||||
'Older Than' => Node::OPERATOR_LESS_EQ,
|
||||
'Older Than' => Node::OPERATOR_LESS_EQ,
|
||||
'Is Older Than' => Node::OPERATOR_LESS_EQ,
|
||||
'Newer Than' => Node::OPERATOR_GREATER_EQ,
|
||||
'Newer Than' => Node::OPERATOR_GREATER_EQ,
|
||||
'Is Newer Than' => Node::OPERATOR_GREATER_EQ,
|
||||
)
|
||||
)->setForcePastValue(true);
|
||||
|
@ -101,21 +101,23 @@ class Registry implements FilterRegistry
|
|||
FilterAttribute::create(new TextFilter())
|
||||
->setHandledAttributes('Name', 'Hostname')
|
||||
->setField('host_name')
|
||||
)->registerAttribute(
|
||||
FilterAttribute::create(StatusFilter::createForHost())
|
||||
->setField('host_state')
|
||||
)->registerAttribute(
|
||||
FilterAttribute::create(StatusFilter::createForHost())
|
||||
->setField('host_state')
|
||||
)->registerAttribute(
|
||||
FilterAttribute::create(new BooleanFilter(
|
||||
array(
|
||||
'host_is_flapping' => 'Flapping',
|
||||
'host_problem' => 'In Problem State',
|
||||
'host_notifications_enabled' => 'Sending Notifications',
|
||||
'host_active_checks_enabled' => 'Active',
|
||||
'host_passive_checks_enabled' => 'Accepting Passive Checks',
|
||||
'host_handled' => 'Handled',
|
||||
'host_in_downtime' => 'In Downtime',
|
||||
FilterAttribute::create(
|
||||
new BooleanFilter(
|
||||
array(
|
||||
'host_is_flapping' => 'Flapping',
|
||||
'host_problem' => 'In Problem State',
|
||||
'host_notifications_enabled' => 'Sending Notifications',
|
||||
'host_active_checks_enabled' => 'Active',
|
||||
'host_passive_checks_enabled' => 'Accepting Passive Checks',
|
||||
'host_handled' => 'Handled',
|
||||
'host_in_downtime' => 'In Downtime',
|
||||
)
|
||||
)
|
||||
))
|
||||
)
|
||||
)->registerAttribute(
|
||||
FilterAttribute::create(self::getLastCheckFilterType())
|
||||
->setHandledAttributes('Last Check', 'Check')
|
||||
|
@ -141,26 +143,28 @@ class Registry implements FilterRegistry
|
|||
FilterAttribute::create(new TextFilter())
|
||||
->setHandledAttributes('Name', 'Servicename')
|
||||
->setField('service_name')
|
||||
)->registerAttribute(
|
||||
FilterAttribute::create(StatusFilter::createForService())
|
||||
->setField('service_state')
|
||||
)->registerAttribute(
|
||||
FilterAttribute::create(StatusFilter::createForService())
|
||||
->setField('service_state')
|
||||
)->registerAttribute(
|
||||
FilterAttribute::create(StatusFilter::createForHost())
|
||||
->setHandledAttributes('Host')
|
||||
->setField('host_state')
|
||||
)->registerAttribute(
|
||||
FilterAttribute::create(new BooleanFilter(
|
||||
FilterAttribute::create(
|
||||
new BooleanFilter(
|
||||
array(
|
||||
'service_is_flapping' => 'Flapping',
|
||||
'service_problem' => 'In Problem State',
|
||||
'service_notifications_enabled' => 'Sending Notifications',
|
||||
'service_active_checks_enabled' => 'Active',
|
||||
'service_passive_checks_enabled' => 'Accepting Passive Checks',
|
||||
'service_handled' => 'Handled',
|
||||
'service_in_downtime' => 'In Downtime',
|
||||
'host_in_downtime' => 'In Host Downtime'
|
||||
'service_is_flapping' => 'Flapping',
|
||||
'service_problem' => 'In Problem State',
|
||||
'service_notifications_enabled' => 'Sending Notifications',
|
||||
'service_active_checks_enabled' => 'Active',
|
||||
'service_passive_checks_enabled' => 'Accepting Passive Checks',
|
||||
'service_handled' => 'Handled',
|
||||
'service_in_downtime' => 'In Downtime',
|
||||
'host_in_downtime' => 'In Host Downtime'
|
||||
)
|
||||
))
|
||||
)
|
||||
)
|
||||
)->registerAttribute(
|
||||
FilterAttribute::create(self::getLastCheckFilterType())
|
||||
->setHandledAttributes('Last Check', 'Check')
|
||||
|
@ -201,7 +205,7 @@ class Registry implements FilterRegistry
|
|||
}
|
||||
$urlParser = new UrlViewFilter($view);
|
||||
$lastQuery = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY);
|
||||
$lastPath = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH);
|
||||
$lastPath = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH);
|
||||
$lastFilter = $urlParser->parseUrl($lastQuery);
|
||||
$lastParameters = array();
|
||||
|
||||
|
@ -226,5 +230,4 @@ class Registry implements FilterRegistry
|
|||
$urlString .= $urlParser->fromTree($filter);
|
||||
return '/' . $urlString;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -26,10 +26,8 @@
|
|||
*/
|
||||
// {{{ICINGA_LICENSE_HEADER}}}
|
||||
|
||||
|
||||
namespace Icinga\Module\Monitoring\Filter;
|
||||
|
||||
|
||||
use Icinga\Filter\Filterable;
|
||||
use Icinga\Filter\Query\Tree;
|
||||
use Icinga\Filter\Query\Node;
|
||||
|
@ -117,7 +115,7 @@ class UrlViewFilter
|
|||
|
||||
public function fromRequest($request)
|
||||
{
|
||||
if($request->getParam('query')) {
|
||||
if ($request->getParam('query')) {
|
||||
return $this->parseUrl(urldecode($request->getParam('query')));
|
||||
} else {
|
||||
return $this->parseUrl(parse_url($request->getBaseUrl(), PHP_URL_QUERY));
|
||||
|
|
|
@ -181,7 +181,7 @@ abstract class AbstractObject
|
|||
{
|
||||
if ($request->has('service') && $request->has('host')) {
|
||||
return new Service($request);
|
||||
} else if ($request->has('host')) {
|
||||
} elseif ($request->has('host')) {
|
||||
return new Host($request);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,5 +27,4 @@ class Host extends AbstractObject
|
|||
$this->view = HostStatus::fromRequest($this->getRequest());
|
||||
return $this->view->getQuery()->fetchRow();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue