summaryrefslogtreecommitdiff
path: root/app/views
diff options
context:
space:
mode:
authorGravatar Alexis Degrugillier <github@ainw.org> 2015-03-01 09:18:06 -0500
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2015-03-05 13:29:41 +0100
commit5b90e1f4a0057aa78fd7d8d4d748b01676ec9073 (patch)
tree0215efd0223e515ae31966c2c6598037ca845a23 /app/views
parentc80627fd4ba5af37662428c0e7c52686a918d2b9 (diff)
Introduce user queries objects
There is now an object to manipulate user queries. It allows to move logic to handle those from the view and the controller in the model. Thus making the view and the controller easier to read. I introduced a new interface to start using dependency injection. There is still some rough edges but we are moving in the right direction. The new object is fully tested but it still need some improvements, for instance, it is still tied to the search object. There might be a better way to do that.
Diffstat (limited to 'app/views')
-rw-r--r--app/views/configure/queries.phtml47
1 files changed, 18 insertions, 29 deletions
diff --git a/app/views/configure/queries.phtml b/app/views/configure/queries.phtml
index 5f449deb3..69efcf365 100644
--- a/app/views/configure/queries.phtml
+++ b/app/views/configure/queries.phtml
@@ -6,27 +6,28 @@
<form method="post" action="<?php echo _url('configure', 'queries'); ?>">
<legend><?php echo _t('conf.query'); ?></legend>
- <?php foreach (FreshRSS_Context::$user_conf->queries as $key => $query) { ?>
+ <?php foreach ($this->queries as $key => $query) { ?>
<div class="form-group" id="query-group-<?php echo $key; ?>">
<label class="group-name" for="queries_<?php echo $key; ?>_name">
<?php echo _t('conf.query.number', $key + 1); ?>
</label>
<div class="group-controls">
- <input type="hidden" id="queries_<?php echo $key; ?>_search" name="queries[<?php echo $key; ?>][search]" value="<?php echo isset($query['search']) ? $query['search'] : ""; ?>"/>
- <input type="hidden" id="queries_<?php echo $key; ?>_state" name="queries[<?php echo $key; ?>][state]" value="<?php echo isset($query['state']) ? $query['state'] : ""; ?>"/>
- <input type="hidden" id="queries_<?php echo $key; ?>_order" name="queries[<?php echo $key; ?>][order]" value="<?php echo isset($query['order']) ? $query['order'] : ""; ?>"/>
- <input type="hidden" id="queries_<?php echo $key; ?>_get" name="queries[<?php echo $key; ?>][get]" value="<?php echo isset($query['get']) ? $query['get'] : ""; ?>"/>
+ <input type="hidden" id="queries_<?php echo $key; ?>_search" name="queries[<?php echo $key; ?>][url]" value="<?php echo $query->getUrl(); ?>"/>
+ <input type="hidden" id="queries_<?php echo $key; ?>_search" name="queries[<?php echo $key; ?>][search]" value="<?php echo $query->getSearch(); ?>"/>
+ <input type="hidden" id="queries_<?php echo $key; ?>_state" name="queries[<?php echo $key; ?>][state]" value="<?php echo $query->getState(); ?>"/>
+ <input type="hidden" id="queries_<?php echo $key; ?>_order" name="queries[<?php echo $key; ?>][order]" value="<?php echo $query->getOrder(); ?>"/>
+ <input type="hidden" id="queries_<?php echo $key; ?>_get" name="queries[<?php echo $key; ?>][get]" value="<?php echo $query->getGet(); ?>"/>
<div class="stick">
<input class="extend"
type="text"
id="queries_<?php echo $key; ?>_name"
name="queries[<?php echo $key; ?>][name]"
- value="<?php echo $query['name']; ?>"
+ value="<?php echo $query->getName(); ?>"
/>
- <a class="btn" href="<?php echo $query['url']; ?>">
+ <a class="btn" href="<?php echo $query->getUrl(); ?>">
<?php echo _i('link'); ?>
</a>
@@ -35,23 +36,11 @@
</a>
</div>
- <?php
- $exist = (isset($query['search']) ? 1 : 0)
- + (isset($query['state']) ? 1 : 0)
- + (isset($query['order']) ? 1 : 0)
- + (isset($query['get']) ? 1 : 0);
- // If the only filter is "all" articles, we consider there is no filter
- $exist = ($exist === 1 && isset($query['get']) && $query['get'] === 'a') ? 0 : $exist;
-
- $deprecated = (isset($this->query_get[$key]) &&
- $this->query_get[$key]['deprecated']);
- ?>
-
- <?php if ($exist === 0) { ?>
+ <?php if (!$query->hasParameters()) { ?>
<div class="alert alert-warn">
<div class="alert-head"><?php echo _t('conf.query.no_filter'); ?></div>
</div>
- <?php } elseif ($deprecated) { ?>
+ <?php } elseif ($query->isDeprecated()) { ?>
<div class="alert alert-error">
<div class="alert-head"><?php echo _t('conf.query.deprecated'); ?></div>
</div>
@@ -60,20 +49,20 @@
<div class="alert-head"><?php echo _t('conf.query.filter'); ?></div>
<ul>
- <?php if (isset($query['search'])) { ?>
- <li class="item"><?php echo _t('conf.query.search', $query['search']); ?></li>
+ <?php if ($query->hasSearch()) { ?>
+ <li class="item"><?php echo _t('conf.query.search', $query->getSearch()->getRawInput()); ?></li>
<?php } ?>
- <?php if (isset($query['state'])) { ?>
- <li class="item"><?php echo _t('conf.query.state_' . $query['state']); ?></li>
+ <?php if ($query->getState()) { ?>
+ <li class="item"><?php echo _t('conf.query.state_' . $query->getState()); ?></li>
<?php } ?>
- <?php if (isset($query['order'])) { ?>
- <li class="item"><?php echo _t('conf.query.order_' . strtolower($query['order'])); ?></li>
+ <?php if ($query->getOrder()) { ?>
+ <li class="item"><?php echo _t('conf.query.order_' . strtolower($query->getOrder())); ?></li>
<?php } ?>
- <?php if (isset($query['get'])) { ?>
- <li class="item"><?php echo _t('conf.query.get_' . $this->query_get[$key]['type'], $this->query_get[$key]['name']); ?></li>
+ <?php if ($query->getGet()) { ?>
+ <li class="item"><?php echo _t('conf.query.get_' . $query->getGetType(), $query->getGetName()); ?></li>
<?php } ?>
</ul>
</div>