/** * setResultsPagination : Set the pagination of results */ function setResultsPagination($nbrs) { global $modx; $showPagingAlways = (int) $this->cfg['showPagingAlways']; $grabMax = $this->cfg['grabMax']; if ($grabMax > 0) { $chkPaging = new asChunkie($this->cfg['tplPaging']); // paging if ($this->dbgTpl) { $this->asDebug->dbgLog($chkPaging->getTemplate($this->cfg['tplPaging']), "AjaxSearch - tplPaging template " . $this->cfg['tplPaging']); } $tplPgg = "@CODE:" . $chkPaging->template; unset($chkPaging); $numResultPages = ceil($nbrs / $grabMax); $maxOffset = ($numResultPages - 1) * $grabMax; $this->offset = $this->offset > $maxOffset ? $maxOffset : $this->offset; $resultPagingText = $nbrs > $grabMax || $showPagingAlways ? $this->_lang['as_paginationTextMultiplePages'] : $this->_lang['as_paginationTextSinglePage']; $resultPageLinkNumber = 1; $resultPageLinks = ''; for ($nrp = 0; $nrp < $nbrs && ($nbrs > $grabMax || $showPagingAlways); $nrp += $grabMax) { $chkPaging = new asChunkie($tplPgg); $varLink = array(); if ($this->offset == ($resultPageLinkNumber - 1) * $grabMax) { $varLink['tpl'] = 'pagingLinksCurrent'; } else { $varLink['tpl'] = 'pagingLinks'; if (!isset($this->subSearch)) { $varLink['pagingLink'] = $modx->makeUrl($modx->documentIdentifier, '', 'AS_offset=' . $nrp . '&AS_search=' . urlencode($this->searchString) . '&advsearch=' . urlencode($this->advSearch)); } else { $varLink['pagingLink'] = $modx->makeUrl($modx->documentIdentifier, '', 'AS_offset=' . $nrp . '&AS_search=' . urlencode($this->searchString) . '&advsearch=' . urlencode($this->advSearch) . '&subsearch=' . urlencode($this->subSearch)); } } $varLink['pagingSeparator'] = $nrp + $grabMax < $nbrs ? $this->cfg['pageLinkSeparator'] : ''; $varLink['pagingText'] = $resultPageLinkNumber; $resultPageLinkNumber++; // parse the template and output the paging link $chkPaging->AddVar("as", $varLink); $resultPageLinks .= $chkPaging->Render() . "\n"; unset($varLink); unset($chkPaging); } $varPaging = array(); $varPaging['tpl'] = 'paging'; $varPaging['pagingText'] = $resultPagingText; $varPaging['pagingLinks'] = $resultPageLinks; // parse the template and output the paging links $chkPaging = new asChunkie($tplPgg); $chkPaging->AddVar("as", $varPaging); $this->varResults['paging'] = $chkPaging->Render() . "\n"; unset($varPaging); unset($chkPaging); $resultsFoundText = $nbrs > 1 ? $this->_lang['as_resultsFoundTextMultiple'] : $this->_lang['as_resultsFoundTextSingle']; if ($this->extractNb) { $searchList = $this->getSearchWords($this->searchString, $this->advSearch); $hits = 1; $searchwords = ''; foreach ($searchList as $words) { $searchwords .= '<span class="ajaxSearch_highlight ajaxSearch_highlight' . $hits . '">' . $words . '</span> '; $hits++; } // Remove trailing ' ' $searchwords = substr($searchwords, 0, strlen($searchwords) - 6); $this->varResults['resultInfoText'] = sprintf($resultsFoundText, $nbrs, $searchwords); } else { $this->varResults['resultInfoText'] = sprintf($resultsFoundText, $nbrs, $this->searchString); } } // end if grabMax }
/** * setComment : set Comment form */ function setComment() { $this->varResults['showCmt'] = $this->logcmt; if ($this->logcmt && $this->logid) { $chkCmt = new asChunkie($this->cfg['tplComment']); // comment if ($this->dbgTpl) { $this->asDebug->dbgLog($chkCmt->getTemplate($this->cfg['tplComment']), "AjaxSearch - tplComment template " . $this->cfg['tplComment']); } $varCmt = array(); $varCmt['hiddenFieldIntro'] = $this->_lang['as_cmtHiddenFieldIntro']; $varCmt['hiddenField'] = 'ajaxSearch_cmtHField'; $varCmt['logid'] = $this->logid; $varCmt['cmtIntroMessage'] = $this->_lang['as_cmtIntroMessage']; $varCmt['cmtSubmitText'] = $this->_lang['as_cmtSubmitText']; $varCmt['cmtResetText'] = $this->_lang['as_cmtResetText']; $varCmt['cmtThksMessage'] = $this->_lang['as_cmtThksMessage']; // parse the template and output the comment form $chkCmt->AddVar("as", $varCmt); $this->varResults['comment'] = $chkCmt->Render() . "\n"; unset($varCmt); unset($chkCmt); } }