);
$this->buildWhereClause($select);
$select->order($this->buildOrderClause());
- $this->buildLists($select);
$this->proceedCount($select);
//add limits to retrieve only relevant rows
$this->filters->setLimits($select);
}
}
- /**
- * Builds users and actions lists
- *
- * @param \Laminas\Db\Sql\Select $select Original select
- *
- * @return void
- */
- private function buildLists($select)
- {
- try {
- $select = $this->zdb->select(self::TABLE);
- $select->quantifier('DISTINCT')->columns(['mailing_sender']);
- $select->order(['mailing_sender ASC']);
-
- $results = $this->zdb->execute($select);
-
- $this->senders = [];
- foreach ($results as $result) {
- $sender = $result->mailing_sender;
- if ($sender != null) {
- $this->senders[$sender] = Adherent::getSName($this->zdb, (int)$sender);
- } elseif ($result->mailing_sender_name != null || $result->mailing_sender_address != null) {
- $this->senders[$result->mailing_sender_address] = $result->mailing_sender_name;
- } else {
- $this->senders[-1] = _('Superadmin');
- }
- }
- } catch (Throwable $e) {
- Analog::log(
- 'Cannot list senders from mailing history! | ' . $e->getMessage(),
- Analog::WARNING
- );
- throw $e;
- }
- }
-
/**
* Builds the order clause
*
{
return $this->count;
}
-
- /**
- * Get senders list
- *
- * @return array
- */
- public function getSendersList()
- {
- return $this->senders;
- }
}
<input type="text" name="start_date_filter" id="start_date_filter" maxlength="10" size="10" value="{$history->filters->start_date_filter}"/>
<label for="end_date_filter">{_T string="until"}</label>
<input type="text" name="end_date_filter" id="end_date_filter" maxlength="10" size="10" value="{$history->filters->end_date_filter}"/>
-
- {assign var="senders" value=$history->getSendersList()}
- {if $senders|@count gt 0}
- <label for="sender_filter">{_T string="Sender"}</label>
- <select name="sender_filter" id="sender_filter">
- <option value="0"{if $history->filters->sender_filter eq 0} selected="selected"{/if}>{_T string="Select a sender"}</option>
- {foreach from=$senders item=$sender key=$key}
- <option value="{$key}"{if $history->filters->sender_filter == $key} selected="selected"{/if}>{$sender}</option>
- {/foreach}
- </select>
- {/if}
-
<input type="submit" class="inline" value="{_T string="Filter"}"/>
<input type="submit" name="clear_filter" class="inline" value="{_T string="Clear filter"}"/>