!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.24.0. PHP/7.3.32 

uname -a: Linux ip-172-31-28-255.ec2.internal 6.1.159-181.297.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC
Mon Dec 22 22:31:59 UTC 2025 x86_64
 

 

Safe-mode: OFF (not secure)

/www/wwwroot/itce.co.in/data/classes/   drwxr-xr-x
Free 30.74 GB of 49.93 GB (61.58%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     exportpage.php (15.56 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

class ExportPage extends RunnerPage
{
    public 
$exportType "";

    public 
$allPagesMode false;
    public 
$currentPageMode false;
    
    protected 
$textFormattingType;

    public 
$useRawValues false;

    public 
$csvDelimiter ",";

    public 
$selectedFields = array();

    
/**
     * @constructor
     * @param &Array params
     */
    
function __construct( &$params )
    {
        
parent::__construct$params );

        if( 
$this->getLayoutVersion() === PD_BS_LAYOUT 
        {
            
$this->headerForms = array( "top" );
            
$this->footerForms = array( "footer" );
            
$this->bodyForms = array( "grid" );
        } 
        else 
        {        
            
$this->formBricks["header"] = "exportheader";
            
$this->formBricks["footer"] = "exportbuttons";
            
$this->assignFormFooterAndHeaderBrickstrue );
        }
        
        if( 
$this->pSet->chekcExportDelimiterSelection() )
            
$this->jsSettings["tableSettings"][ $this->tName ]["csvDelimiter"] = $this->pSet->getExportDelimiter();

        
$this->textFormattingType $this->pSet->getExportTxtFormattingType();

        
$this->useRawValues $this->useRawValues || $this->textFormattingType == EXPORT_RAW;

        if( 
$this->exportType && $this->useRawValues && $this->textFormattingType == EXPORT_FORMATTED )
            
$this->useRawValues false;

        if( !
$this->selectedFields )
            
$this->selectedFields $this->pSet->getExportFields();

        if( !
$this->searchClauseObj )
            
$this->searchClauseObj $this->getSearchObject();
            
        if( 
$this->selection )
            
$this->jsSettings["tableSettings"][ $this->tName ]["selection"] = $this->getSelection();            
    }

    
    
/**
     *
     */
    
public function process()
    {
        if( 
$this->eventsObject->exists("BeforeProcessExport") )
            
$this->eventsObject->BeforeProcessExport$this );

        if( 
$this->exportType ) {
            
$this->exportByType();
            exit();
            return;
        }

        
$this->fillSettings();

        
$this->doCommonAssignments();
        
$this->addButtonHandlers();
        
$this->addCommonJs();

        
$this->displayExportPage();
    }

    
/**
     *
     */
    
function addCommonJs()
    {
        
parent::addCommonJs();

        if( 
$this->pSet->checkExportFieldsSelection() && $this->isBootstrap() )
        {
            
$this->AddCSSFile("include/chosen/bootstrap-chosen.css");
            
$this->AddJSFile("include/chosen/chosen.jquery.js");
        }
    }

    
/**
     * Assign basic page's xt variables
     */
    
protected function doCommonAssignments()
    {
        
$this->xt->assign("id"$this->id);

        if( 
$this->mode == EXPORT_SIMPLE )
        {
            
$this->body["begin"] = GetBaseScriptsForPagefalse );
            
$this->body["end"] = XTempl::create_method_assignment"assignBodyEnd"$this );
            
$this->xt->assignbyref("body"$this->body);
        }
        else
            
$this->xt->assign("cancel_button"true);

        
$this->xt->assign("groupExcel"true);
        
$this->xt->assign("exportlink_attrs"'id="saveButton'.$this->id.'"');

        if( 
$this->pSet->checkExportFieldsSelection() && $this->isBootstrap() )
        {
            
$this->xt->assign("choosefields"true);
            
$this->xt->assign("exportFieldsCtrl"$this->getChooseFieldsCtrlMarkup() );
        }

        if( !
$this->selection || !count$this->selection ) )
        {
            
$this->xt->assign("rangeheader_block"true);
            
$this->xt->assign("range_block"true);
        }

        if( 
$this->textFormattingType == EXPORT_BOTH )
            
$this->xt->assign("exportformat"true);
    }

    
/**
     * @return String
     */
    
protected function getChooseFieldsCtrlMarkup()
    {
        
$options = array();
        foreach( 
$this->pSet->getExportFields() as $field )
        {
            
$options[] = '<option value="'.runner_htmlspecialchars$field ).'" selected="selected">'.runner_htmlspecialchars$this->pSet->label$field ) ).'</option>';
        }

        return 
'<select name="exportFields" multiple style="width: 100%;" data-placeholder="'."Please select".'" id="exportFields'$this->id .'">'implode""$options ) .'</select>';
    }
    
    
/**
     *
     */
    
protected function exportByType()
    {
        
$myPage 1;
        
$pageSize 0;
        if( 
$this->currentPageMode ) {
            
$myPage = (integer)@$_SESSION$this->tName."_pagenumber" ];
            if( !
$myPage )
                
$myPage 1;

            
$pageSize = (integer)@$_SESSION$this->tName."_pagesize" ];
            if( !
$pageSize )
                
$pageSize $this->pSet->getInitialPageSize();

            if( 
$this->pSet->getRecordsLimit() )
                
$pageSize $this->pSet->getRecordsLimit() - ( $myPage ) * $pageSize;
            
            if( 
$pageSize )
                
$pageSize 0;
            
        } else if( 
$this->allPagesMode && $this->pSet->getRecordsLimit() ) {
            
$pageSize $this->pSet->getRecordsLimit();
        }
        

        
$dc $this->getSubsetDataCommand();
        if( 
$this->currentPageMode || $this->allPagesMode && $this->pSet->getRecordsLimit() ) {
            
$dc->startRecord $pageSize * ( $myPage );
            
$dc->reccount $pageSize;                
        }

        if( 
$this->eventsObject->exists("BeforeQueryExport") ) {
            
$prep $this->dataSource->prepareSQL$dc );
            
$sql $prep["sql"];
            
$where $prep["where"];
            
$order $prep["order"];
            
            
$this->eventsObject->BeforeQueryExport$sql$where$order$this );
            if( 
$sql != $prep["sql"] ) {
                
$this->dataSource->overrideSQL$dc$sql );
            } else if( 
$where != $prep["where"] ) {
                
$this->dataSource->overrideWhere$dc$where );
            }
            if( 
$order != $prep["order"] ) {
                
$this->dataSource->overrideOrder$dc$order );
            }
        }
        
runner_set_page_timeout(300);

        
$rs $this->dataSource->getList$dc );
        if( !
$rs ) {
            
showError$this->dataSource->lastError() );
        }
        
        
$this->exportTo$this->exportType$rs $pageSize );
    }

    
/**
     * @param String type
     * @param Mixed rs
     * @param Number pageSize
     */
    
public function exportTo$type$rs$pageSize )
    {
        global 
$locale_info;

        
$_type $type;
        if( 
substr(@$type05) == "excel" )
            
$_type "excel";
        
        if( 
$_type == "excel" 
        {
            
$locale_info["LOCALE_SGROUPING"] = "0";
            
$locale_info["LOCALE_SMONGROUPING"] = "0";
            
ExportToExcel$rs$pageSize$this );
        } 
        else if( 
$_type == "word" 
        {
                
$this->ExportToWord$rs$pageSize );
        }
        else if( 
$_type == "xml" 
        {
            
$this->ExportToXML$rs$pageSize );
        }
        else if( 
$_type == "csv" 
        {
            
$locale_info["LOCALE_SGROUPING"] = "0";
            
$locale_info["LOCALE_SDECIMAL"] = ".";
            
$locale_info["LOCALE_SMONGROUPING"] = "0";
            
$locale_info["LOCALE_SMONDECIMALSEP"] = ".";

            
$this->ExportToCSV$rs$pageSize );
        }
    }

    
/**
     * @param Mixed rs
     * @param Number pageSize
     */
    
public function ExportToWord$rs$pageSize )
    {
        global 
$cCharset;
        
header("Content-Type: application/vnd.ms-word");
        
header("Content-Disposition: attachment;Filename=".GetTableURL$this->tName ).".doc");

        echo 
"<html>";
        echo 
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$cCharset."\">";
        echo 
"<body>";
        echo 
"<table border=1>";

        
$this->WriteTableData$rs$pageSize );

        echo 
"</table>";
        echo 
"</body>";
        echo 
"</html>";
    }

    
/**
     * @param Mixed rs
     * @param Number pageSize
     */
    
public function ExportToXML$rs$pageSize )
    {
        global 
$cCharset;

        
header("Content-Type: text/xml");
        
header("Content-Disposition: attachment;Filename=".GetTableURL$this->tName ).".xml");
        
        echo 
"<?xml version=\"1.0\" encoding=\"".$cCharset."\" standalone=\"yes\"?>\r\n";
        echo 
"<table>\r\n";
        
        
$this->viewControls->setForExportVar("xml");

        
$row $this->cipherer->DecryptFetchedArray$rs->fetchAssoc() );
        
$numberOfRows 0;
        
        while( ( !
$pageSize || $numberOfRows $pageSize ) && $row )
        {
            
RunnerContext::pushRecordContext$row$this );
            
$values $this->getValuesFromRow$row );
            
            
$eventRes true;
            if( 
$this->eventsObject->exists('BeforeOut') )
                
$eventRes $this->eventsObject->BeforeOut$row$values$this );

            if( 
$eventRes ) {
                
$numberOfRows++;
                
                echo 
"<row>\r\n";
                foreach( 
$values as $fName => $val ) {
                    
$field runner_htmlspecialcharsXMLNameEncode$fName ) );
                    echo 
"<".$field.">" xmlencode$values$fName ] ) . "</".$field.">\r\n";
                }
                echo 
"</row>\r\n";
            }

            
RunnerContext::pop();
            
$row $this->cipherer->DecryptFetchedArray$rs->fetchAssoc() );
        }

        echo 
"</table>\r\n";
    }

    
/**
     * @param Mixed rs
     * @param Number pageSize
     */
    
public function ExportToCSV$rs$pageSize )
    {
        if( 
$this->pSet->chekcExportDelimiterSelection() && strlen$this->csvDelimiter ) )
            
$delimiter $this->csvDelimiter;
        else
            
$delimiter $this->pSet->getExportDelimiter();

        
header("Content-Type: application/csv");
        
header("Content-Disposition: attachment;Filename=".GetTableURL($this->tName).".csv");
        
printBOM();

        
$this->viewControls->setForExportVar"csv" );

        
$row $this->cipherer->DecryptFetchedArray$rs->fetchAssoc() );
        
        
// write header
        
$headerParts = array();
        foreach( 
$this->selectedFields as $field )
        {
            
$headerParts[] = '"'.str_replace'"''""'$field ).'"';
        }
        echo 
implode$delimiter$headerParts );
        echo 
"\r\n";

        
// write data rows
        
$numberOfRows 0;
        while( ( !
$pageSize || $numberOfRows $pageSize ) && $row )
        {
            
RunnerContext::pushRecordContext$row$this );
            
$values $this->getValuesFromRow$row );

            
$eventRes true;
            if( 
$this->eventsObject->exists('BeforeOut') )
                
$eventRes $this->eventsObject->BeforeOut$row$values$this );

            if( 
$eventRes ) {
                
$dataRowParts = array();
                foreach( 
$this->selectedFields as $field ) {
                    
$dataRowParts[] = '"'.str_replace'"''""'$values$field ] ).'"';
                }
                echo 
implode$delimiter$dataRowParts );
            }
            
            
RunnerContext::pop();
            
            
$numberOfRows++;
            
$row $this->cipherer->DecryptFetchedArray$rs->fetchAssoc() );

            if( ( !
$pageSize || $numberOfRows $pageSize) && $row && $eventRes )
                echo 
"\r\n";
        }
    }

    
/**
     * @param String fName
     * @param Array row
     */
    
public function getFormattedFieldValue$fName$row )
    {
        if( 
$this->useRawValues )
            return 
$row$fName ];

        return 
$this->getExportValue$fName$row );
    }

    
/**
     * @param Mixed rs
     * @param Number pageSize
     */
    
protected function WriteTableData$rs$pageSize )
    {
        
$totalFieldsData $this->pSet->getTotalsFields();
        
$row $this->cipherer->DecryptFetchedArray$rs->fetchAssoc() );

        
// write header
        
echo "<tr>";
        foreach( 
$this->selectedFields as $field ) {
            if( 
$this->exportType == "excel" )
                echo 
'<td style="width: 100" x:str>'.PrepareForExcel$this->pSet->label$field ) ).'</td>';
            else
                echo 
"<td>".$this->pSet->label$field )."</td>";
        }
        echo 
"</tr>";

        
$totals = array();
        
$totalsFields = array();
        foreach( 
$totalFieldsData as $data )
        {
            if( !
in_array$data["fName"], $this->selectedFields ) )
                continue;

            
$totals$data["fName"] ] = array("value" => 0"numRows" => 0);
            
$totalsFields[] = array('fName' => $data["fName"], 'totalsType' => $data["totalsType"], 
                
'viewFormat' => $this->pSet->getViewFormat$data["fName"] ));
        }

        
// write data rows
        
$numberOfRows 0;
        
$this->viewControls->setForExportVar"export" );
        while( ( !
$pageSize || $numberOfRows $pageSize ) && $row )
        {
            
RunnerContext::pushRecordContext$row$this );            
            
countTotals$totals$totalsFields$row );
            
$values $this->getValuesFromRow$row );

            
$eventRes true;
            if( 
$this->eventsObject->exists('BeforeOut') )
                
$eventRes $this->eventsObject->BeforeOut$row$values$this );

            if( 
$eventRes )
            {
                
$numberOfRows++;
                echo 
"<tr>";

                foreach( 
$this->selectedFields as $field )
                {
                    
$fType $this->pSet->getFieldType$field );
                    if( 
IsCharType$fType ) && $this->exportType == "excel" )
                        echo 
'<td x:str>';
                    else
                        echo 
'<td>';

                    
$editFormat $this->pSet->getEditFormat$field );
                    if( 
$editFormat == EDIT_FORMAT_LOOKUP_WIZARD )
                    {
                        if( 
$this->pSet->NeedEncode$field ) && $this->exportType == "excel" )
                            echo 
PrepareForExcel$values$field ] );
                        else
                            echo 
$values$field ];
                    }
                    elseif( 
IsBinaryType$fType ) )
                    {
                        echo 
$values$field ];
                    }
                    else
                    {
                        if( 
NeedQuotes$field ) && $this->exportType == "excel" && $editFormat != FORMAT_CUSTOM && !$this->pSet->isUseRTE$field ) )
                            echo 
PrepareForExcel$values$field ] );
                        else
                            echo 
$values$field ];
                    }

                    echo 
'</td>';
                }
                echo 
"</tr>";
            }

            
RunnerContext::pop();
            
            
$row $this->cipherer->DecryptFetchedArray$rs->fetchAssoc() );
        }

        if( 
count$totalFieldsData ) )
        {
            echo 
"<tr>";
            foreach( 
$totalFieldsData as $data )
            {
                if( !
in_array$data["fName"], $this->selectedFields ) )
                    continue;

                echo 
"<td>";
                if( 
strlen$data["totalsType"] ) )
                {
                    if( 
$data["totalsType"] == "COUNT" )
                        echo 
"Count".": ";
                    elseif( 
$data["totalsType"] == "TOTAL" )
                        echo 
"Total".": ";
                    elseif( 
$data["totalsType"] == "AVERAGE" )
                        echo 
"Average".": ";

                    echo 
runner_htmlspecialcharsGetTotals($data["fName"],
                        
$totals$data["fName"] ]["value"],
                        
$data["totalsType"],
                        
$totals$data["fName"] ]["numRows"],
                        
$this->pSet->getViewFormat$data["fName"] ),
                        
PAGE_EXPORT,
                        
$this->pSet$this->useRawValues,
                        
$this ) );
                }

                echo 
"</td>";
            }

            echo 
"</tr>";
        }
    }

    public function 
getValuesFromRow( &$row ) {
        
$values = array();
        foreach( 
$this->selectedFields as $field )
        {
            
$fType $this->pSet->getFieldType$field );
            if( 
IsBinaryType$fType ) )
                
$values$field ] = "LONG BINARY DATA - CANNOT BE DISPLAYED";
            else
                
$values$field ] = $this->getFormattedFieldValue$field$row );
        }
        return 
$values;
    }
    
    
/**
     * @deprecated
     * @param Mixed rs
     * @param Number nPageSize
     */
    
public function ExportToExcel_old($rs$nPageSize)
    {
        global 
$cCharset;
        
header("Content-Type: application/vnd.ms-excel");
        
header("Content-Disposition: attachment;Filename=".GetTableURL$this->tName ).".xls");

        echo 
"<html>";
        echo 
"<html xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns=\"http://www.w3.org/TR/REC-html40\">";

        echo 
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$cCharset."\">";
        echo 
"<body>";
        echo 
"<table border=1>";

        
$this->WriteTableData$rs$nPageSize );

        echo 
"</table>";
        echo 
"</body>";
        echo 
"</html>";
    }

    
/**
     *
     */
    
protected function displayExportPage()
    {
        
$templatefile $this->templatefile;

        if( 
$this->eventsObject->exists("BeforeShowExport") )
            
$this->eventsObject->BeforeShowExport$this->xt$templatefile$this );

        if( 
$this->mode == EXPORT_POPUP )
        {
            
$this->xt->assign("footer"false);
            
$this->xt->assign("header"false);
            
$this->xt->assign("body"$this->body);

            
$this->displayAJAX$templatefile$this->id );
            exit();
        }

        
$this->display$templatefile );
    }

    
/**
     * @return Number
     */
    
public static function readModeFromRequest()
    {
        if( 
postvalue("onFly") )
            return 
EXPORT_POPUP;

        return 
EXPORT_SIMPLE;
    }

    
    public function 
getDataSourceFilterCriteria$ignoreFilterField "" ) {
        
$filter parent::getDataSourceFilterCriteria();
        
$selectedRecords $this->getSelectedRecords();

        if( 
$selectedRecords !== null ) {
            
$keyFields $this->pSet->getTableKeys();
            
            
$recConditions = array();
            foreach( 
$selectedRecords as $keys ) {
                
$recConditions[] = DataCondition::FieldsEqual$keyFields$keys );
            }

            
$filter DataCondition::_And( array( 
                
$filter,
                
DataCondition::_Or$recConditions )
            ));
        }
        return 
$filter;
    }
    
    public function 
getSecurityCondition() {
        return 
Security::SelectCondition"E"$this->pSet );
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0027 ]--