示例#1
0
文件: Dialog.php 项目: kingsj/core
 /**
  * Define (search) labels
  *
  * :FIXME: simplify
  *
  * @return void
  */
 protected function defineLabels()
 {
     if (!isset($this->labels)) {
         $this->labelsCount = 0;
         $this->labels = array();
         $data = \XLite\Core\Session::getInstance()->get('labelsSearch');
         if (is_array($data)) {
             // Get total count
             if (isset($data['name'])) {
                 $this->labelsCount = \XLite\Core\Database::getRepo('\\XLite\\Model\\LanguageLabel')->countByName($data['name']);
             } else {
                 $this->labelsCount = \XLite\Core\Database::getRepo('\\XLite\\Model\\LanguageLabel')->count();
             }
             $page = \XLite\Core\Request::getInstance()->page ? \XLite\Core\Request::getInstance()->page : $data['page'];
             list($this->pagesCount, $data['page']) = \XLite\Core\Operator::calculatePagination($this->labelsCount, $page, $this->limit);
             $start = ($data['page'] - 1) * $this->limit;
             // Get frame
             if (!$this->labelsCount) {
                 $this->labels = array();
             } elseif (isset($data['name'])) {
                 $this->labels = \XLite\Core\Database::getRepo('\\XLite\\Model\\LanguageLabel')->findLikeName($data['name'], $start, $this->limit);
             } else {
                 $this->labels = \XLite\Core\Database::getRepo('\\XLite\\Model\\LanguageLabel')->findFrame($start, $this->limit);
             }
             \XLite\Core\Session::getInstance()->set('labelsSearch', $data);
         }
     }
 }