alecpl
2011-12-07 889665f57517cb1182de74568a239a669b22bece
- Cleanup + perf. improvement (substr_count() is really fast!)


2 files modified
19 ■■■■■ changed files
program/include/rcube_result_index.php 6 ●●●●● patch | view | raw | blame | history
program/include/rcube_result_thread.php 13 ●●●●● patch | view | raw | blame | history
program/include/rcube_result_index.php
@@ -157,9 +157,9 @@
            $this->meta['count']  = 0;
            $this->meta['length'] = 0;
        }
        else
            // @TODO: check performance substr_count() vs. explode()
        else {
            $this->meta['count'] = 1 + substr_count($this->raw_data, self::SEPARATOR_ELEMENT);
        }
        return $this->meta['count'];
    }
@@ -185,7 +185,6 @@
    public function max()
    {
        if (!isset($this->meta['max'])) {
            // @TODO: do it by parsing raw_data?
            $this->meta['max'] = (int) @max($this->get());
        }
@@ -201,7 +200,6 @@
    public function min()
    {
        if (!isset($this->meta['min'])) {
            // @TODO: do it by parsing raw_data?
            $this->meta['min'] = (int) @min($this->get());
        }
program/include/rcube_result_thread.php
@@ -116,8 +116,9 @@
        if (empty($this->raw_data)) {
            $this->meta['count'] = 0;
        }
        else
        else {
            $this->meta['count'] = 1 + substr_count($this->raw_data, self::SEPARATOR_ELEMENT);
        }
        if (!$this->meta['count'])
            $this->meta['messages'] = 0;
@@ -140,11 +141,9 @@
            $this->meta['messages'] = 0;
        }
        else {
            $regexp = '/((^|' . preg_quote(self::SEPARATOR_ELEMENT, '/')
                . '|' . preg_quote(self::SEPARATOR_ITEM, '/') . ')[0-9]+)/';
            // @TODO: can we do this in a better way?
            $this->meta['messages'] = preg_match_all($regexp, $this->raw_data, $m);
            $this->meta['messages'] = 1
                + substr_count($this->raw_data, self::SEPARATOR_ELEMENT)
                + substr_count($this->raw_data, self::SEPARATOR_ITEM);
        }
        if ($this->meta['messages'] == 0 || $this->meta['messages'] == 1)
@@ -162,7 +161,6 @@
    public function max()
    {
        if (!isset($this->meta['max'])) {
            // @TODO: do it by parsing raw_data?
            $this->meta['max'] = (int) @max($this->get());
        }
        return $this->meta['max'];
@@ -177,7 +175,6 @@
    public function min()
    {
        if (!isset($this->meta['min'])) {
            // @TODO: do it by parsing raw_data?
            $this->meta['min'] = (int) @min($this->get());
        }
        return $this->meta['min'];