Ejemplo n.º 1
0
 /**
  * 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 . '&amp;AS_search=' . urlencode($this->searchString) . '&amp;advsearch=' . urlencode($this->advSearch));
                 } else {
                     $varLink['pagingLink'] = $modx->makeUrl($modx->documentIdentifier, '', 'AS_offset=' . $nrp . '&amp;AS_search=' . urlencode($this->searchString) . '&amp;advsearch=' . urlencode($this->advSearch) . '&amp;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>&nbsp;';
                 $hits++;
             }
             // Remove trailing '&nbsp;'
             $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
 }
Ejemplo n.º 2
0
 /**
  *  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);
     }
 }