function handler_tol_ajax_search($page) { $json = json_decode(Env::v('json')); $fields = $this->fillFields($json); $filter = $this->buildFilter($fields); $fiches = array(); if ($filter) { $uf = new UserFilter($filter, array(new UFO_Promo(true), new UFO_Name(UFO_Name::LASTNAME))); if ($json->mode == 'card') { $users = $uf->get(new PlLimit(20, (JSON::i('page', 1) - 1) * 20))->select(UserSelect::base()); } else { $users = $uf->get(new PlLimit(50, (JSON::i('page', 1) - 1) * 50))->select(UserSelect::tol()); } $page->assign('user', S::user()); $page->jsonAssign('total', $uf->getTotalCount()); foreach ($users as $k => $user) { $page->assign('result', $user); if ($json->mode == 'card') { $page->assign('mode', 'card'); } else { $page->assign('mode', 'sheet'); } try { $fiches[$user->id()] = $page->filteredFetch(FrankizPage::getTplPath('tol/result.tpl')); } catch (Exception $e) { XDB::execute('INSERT INTO tol_errors SET error = {?}', $user->id()); } } } $page->jsonAssign('mode', $json->mode); $page->jsonAssign('results', $fiches); $page->jsonAssign('success', true); return PL_JSON; }