exists ()) { } else { $search = $this->params; $template_variables = $search->getTemplateVariables (); $view->addGlobalVar ('search.id', $this->getSearchId ()); foreach ($template_variables as $key => $value) { $view->addGlobalVar ($key, $value); } foreach ($search->getMacros() as $name => $value) { $macrophage->addMacro ($name, $value); } $request = $search->createRequestByCriteria (); $request->addWhere ("`:prefix:templates`.disabled = 0"); $limit = COLS * ROWS; $offset = ($page - 1) * $limit; $request->setLimit ($limit); $request->setOffset ($offset); $searchcluster = ORM::factory ('templatesearch'); $templates = $searchcluster->getTemplatesByRequest ($request); $view->templates = $templates ['templates']; $templates_count = $templates ['records_total']; $view->search_count = $templates_count; $max_page = ceil ($templates_count / $limit); $view->max_page = $max_page; $view->page = $page; $view->url = '/' . preg_replace ('~/.*~', '', url::current ()); $view->pattern = ''; $view->catalog_type = ''; $view->alias = ''; if ($search->getFuzzy ()) { $view->similar = true; } } } function __set ($name, $data) { if ('params' == $name) { $data = base64_encode(serialize($data)); } parent::__set($name, $data); } function getSearchId () { return $this->visible_id; } function save () { if (empty($this->visible_id)) { $this->visible_id = $this->generateNewId(); $this->date_last_used = date ('Y-m-d H:i:s'); } parent::save(); } private function generateNewId () { return md5(uniqid(time(), rand())); } }