kastaneda: (Default)
[personal profile] kastaneda

function buildPagerXml(&$xmlWriter$page$itemsCount$itemsPerPage$pagesPerPager) {
    
$pageCount floor( ($itemsCount 1) / $itemsPerPage 1);
    
$startItem $itemsPerPage * ($page 1) + 1;
    
$endItem $itemsPerPage $page;
    if (
$endItem $itemsCount)
        
$endItem $itemsCount;

    
$xmlWriter->WriteStartElement("pager");
    
$xmlWriter->WriteElementString("items-per-page"$itemsPerPage);
    
$xmlWriter->WriteElementString("page-count"$pageCount);
    
$xmlWriter->WriteElementString("current-page"$page);

    
$xmlWriter->WriteElementString("start-item"$startItem);
    
$xmlWriter->WriteElementString("end-item"$endItem);

    
$xmlWriter->WriteStartElement("first-page");
    if (
$page == 1)
        
$xmlWriter->WriteAttributeString("current""");
    
$xmlWriter->WriteString("1");
    
$xmlWriter->WriteEndElement();

    
$xmlWriter->WriteStartElement("previous-page");
    if (
$page == 1)
        
$xmlWriter->WriteAttributeString("current""");
    
$xmlWriter->WriteString($page - ($page == 1));
    
$xmlWriter->WriteEndElement();

    
$xmlWriter->WriteStartElement("next-page");
    if (
$page == $pageCount)
        
$xmlWriter->WriteAttributeString("current""");
    
$xmlWriter->WriteString($page + ($page == $pageCount 1));
    
$xmlWriter->WriteEndElement();

    
$xmlWriter->WriteStartElement("last-page");
    if (
$page == $pageCount)
        
$xmlWriter->WriteAttributeString("current""");
    
$xmlWriter->WriteString($pageCount);
    
$xmlWriter->WriteEndElement();

    if (
$pagesPerPager $pageCount) {
        
$startPage $page - (int) ($pagesPerPager 2);
        if (
$startPage 1)
            
$startPage 1;
        if (
$page + (int) ($pagesPerPager 2) > $pageCount)
            
$startPage $startPage - ($page + (int) (($pagesPerPager) / 2) - $pageCount) + ($pagesPerPager == 1);
        if (
$startPage 1)
            
$xmlWriter->WriteElementString("previous-pager-page",
                
$startPage 1);
        if (
$startPage $pagesPerPager $pageCount)
            
$xmlWriter->WriteElementString("next-pager-page",
                
$startPage $pagesPerPager);
        for (
$i $startPage$i $startPage $pagesPerPager$i++) {
            
$xmlWriter->WriteStartElement("page-link");
            if (
$i == $page)
                
$xmlWriter->WriteAttributeString("active""");
            
$xmlWriter->WriteString($i);
            
$xmlWriter->WriteEndElement();
        }
    }
    else
        for (
$i 1$i <= $pageCount$i++) {
            
$xmlWriter->WriteStartElement("page-link");
            if (
$i == $page)
                
$xmlWriter->WriteAttributeString("active""");
            
$xmlWriter->WriteString($i);
            
$xmlWriter->WriteEndElement();
        }
    
$xmlWriter->WriteEndElement();
}


Почуствуйте разницу.

Update. Для тех, кто в танке, поясняю. Этот кусок дерьма - пример кода, с которым мне приходится сейчас работать. По ссылке - код, с которым мне приходилось работать тогда (на другой фирме). И тот, и другой фрагменты кода написаны с примерно одинаковой целью; и то, и то я ПИЗДЕЦ КАК НЕ ОДОБРЯЮ.
(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

September 2025

M T W T F S S
12345 67
891011121314
15161718192021
22232425262728
2930