588 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			588 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
class ReportMatrix
 | 
						|
{
 | 
						|
    private $debug              = false;
 | 
						|
 | 
						|
    private $usable             = true;
 | 
						|
    private $problem            = "";
 | 
						|
    
 | 
						|
    private $sportGroup         = "";
 | 
						|
    private $sport              = "";
 | 
						|
 | 
						|
    private $sportLevel         = "";
 | 
						|
 | 
						|
    private $reportLines        = array();
 | 
						|
 | 
						|
    //////////////////////////////////
 | 
						|
    private $decoratorLen       = 0;
 | 
						|
    
 | 
						|
    private $header             = array();
 | 
						|
    private $headerCount        = 0;
 | 
						|
    private $headerPositions    = array();
 | 
						|
 | 
						|
    private $matrix             = array();
 | 
						|
    private $rowCounter         = 0;
 | 
						|
    private $prc                = 0;
 | 
						|
 | 
						|
    /////////////////////////////////
 | 
						|
 | 
						|
    private $stage                      = 0;
 | 
						|
 | 
						|
    public static $_STAGE_HEAD_         = 1; 
 | 
						|
    public static $_STAGE_DEC_ST_       = 2; 
 | 
						|
    public static $_STAGE_JNK_          = 3; 
 | 
						|
    public static $_STAGE_COL_HD_       = 4; 
 | 
						|
    public static $_STAGE_DEC_EN_       = 5; 
 | 
						|
    public static $_STAGE_LVL_          = 6; 
 | 
						|
    public static $_STAGE_DATA_         = 7;    
 | 
						|
 | 
						|
    function __construct($sportGroup, $sport)
 | 
						|
    {
 | 
						|
        $this->sportGroup = $sportGroup;
 | 
						|
        $this->sport      = $sport;
 | 
						|
    }
 | 
						|
 | 
						|
    function setSportsLevel($sportLevel)
 | 
						|
    {
 | 
						|
        $this->sportLevel = $sportLevel;
 | 
						|
    }
 | 
						|
 | 
						|
    function getSportsRound()
 | 
						|
    {
 | 
						|
        return  $this->sportLevel;
 | 
						|
    }
 | 
						|
 | 
						|
    function getHeaders()
 | 
						|
    {
 | 
						|
        return  $this->header;
 | 
						|
    }
 | 
						|
 | 
						|
    function getMatrix()
 | 
						|
    {
 | 
						|
        return  $this->matrix;
 | 
						|
    }
 | 
						|
 | 
						|
    function getReportLines()
 | 
						|
    {
 | 
						|
        return  $this->reportLines;
 | 
						|
    }
 | 
						|
 | 
						|
    function isUsable()
 | 
						|
    {
 | 
						|
        return  $this->usable;
 | 
						|
    }
 | 
						|
 | 
						|
    function getProblem()
 | 
						|
    {
 | 
						|
        return  $this->problem;
 | 
						|
    }
 | 
						|
 | 
						|
    function setDecoratorLength($decoratorLen)
 | 
						|
    {
 | 
						|
        $this->decoratorLen = $decoratorLen;
 | 
						|
    }
 | 
						|
 | 
						|
    function parseHeaders($line)
 | 
						|
    {
 | 
						|
        $this->reportLines[] = $line;
 | 
						|
        
 | 
						|
        $hAnalysis = new Lexicon($line);
 | 
						|
        $hAnalysis->preAnalyse();
 | 
						|
 | 
						|
        $dictionary = Lexicon::getDictionary();
 | 
						|
       
 | 
						|
        $words = ParserUtility::getWords($line);        
 | 
						|
 | 
						|
        $count = 1;
 | 
						|
        foreach($words as $word)
 | 
						|
        {
 | 
						|
            //echo '<br>~'.$word.'~IN~'.implode("#",$dictionary['HEADER-COL']) ;
 | 
						|
            if(ParserUtility::in_array_i($dictionary['HEADER-COL'], $word)===false)
 | 
						|
            {
 | 
						|
                $this->usable = false;
 | 
						|
                $this->problem = "Unknown Header ".$word; 
 | 
						|
                $this->__resetObj();
 | 
						|
                return;
 | 
						|
            }
 | 
						|
            $this->header[$count] = $word;
 | 
						|
            $count++;
 | 
						|
        }
 | 
						|
        $this->headerCount = count($this->header);
 | 
						|
       
 | 
						|
        $previousHead = "SL";
 | 
						|
        $this->headerPositions[$previousHead]['INDEX'] = 0;
 | 
						|
        $this->headerPositions[$previousHead]['POSITION-START'] = 0;
 | 
						|
        $this->headerPositions[$previousHead]['TEXT-END']       = strlen($previousHead);
 | 
						|
        $this->headerPositions[$previousHead]['TEXT-LENGTH']    = strlen($previousHead);
 | 
						|
 | 
						|
        foreach($this->header as $head)
 | 
						|
        {     
 | 
						|
            if($this->debug) echo "<br><b>Header - </b> Parsing '".$head."' IN -> ".$line;       
 | 
						|
 | 
						|
            $stEnd      = ParserUtility::get_start_end_pos($line, $head);
 | 
						|
 | 
						|
            $startEnd   = $stEnd[0];
 | 
						|
 | 
						|
            //if($this->debug) { echo "<br><b>       POSITION - </b>"; print_r($startEnd); }
 | 
						|
            
 | 
						|
           
 | 
						|
            $this->headerPositions[$previousHead]['POSITION-END']       = $startEnd['START-POSITION']-1;
 | 
						|
            $this->headerPositions[$previousHead]['POSITION-LENGTH']    = ($this->headerPositions[$previousHead]['POSITION-END'] - $this->headerPositions[$previousHead]['POSITION-START'])+1;
 | 
						|
            
 | 
						|
            $this->headerPositions[$head]['INDEX']                      = $this->headerPositions[$previousHead]['INDEX']+1;
 | 
						|
            $this->headerPositions[$head]['POSITION-START']             = $startEnd['START-POSITION'];
 | 
						|
            $this->headerPositions[$head]['TEXT-END']                   = $startEnd['END-POSITION'];
 | 
						|
            $this->headerPositions[$head]['TEXT-LENGTH']                = $startEnd['LENGTH'];
 | 
						|
 | 
						|
            $previousHead = $head;
 | 
						|
            
 | 
						|
            if($this->debug) echo "<br><b>Header - </b> Set position data of '".$head."' ";
 | 
						|
            if($this->debug) echo "<br><br>:::::::::::::::::::::::::::::<br><br>";
 | 
						|
        }
 | 
						|
        $this->headerPositions[$previousHead]['POSITION-END']       = $this->decoratorLen;
 | 
						|
    }
 | 
						|
 | 
						|
    function parseData($line)
 | 
						|
    {
 | 
						|
        $this->reportLines[] = $line;
 | 
						|
 | 
						|
        if($this->usable)
 | 
						|
        {
 | 
						|
            $hAnalysis = new Lexicon($line);
 | 
						|
            $hAnalysis->analyse();
 | 
						|
 | 
						|
            $words = ParserUtility::getWords($line);        
 | 
						|
            
 | 
						|
            if($this->debug) echo "<br><b>Line - </b> <u>Operating</u> on '".$line."' which is >>".$hAnalysis->getGeneralContext();
 | 
						|
            
 | 
						|
            if($hAnalysis->getGeneralContext() == 'SPORTS-ROUND')
 | 
						|
            {
 | 
						|
                $this->sportLevel = $hAnalysis->getSportsRound();
 | 
						|
 | 
						|
                if($this->debug) echo "<br> SETTING SPORTS-ROUND >> '".$hAnalysis->getSportsRound()."'";
 | 
						|
                if($this->debug) echo "<br><br>---------------------------------<br><br>";
 | 
						|
            }   
 | 
						|
            else
 | 
						|
            {
 | 
						|
                $headerIndex    = 0;
 | 
						|
                $incrementRow   = true;
 | 
						|
 | 
						|
                $hasSL          = false;
 | 
						|
                $wordStEnd      = ParserUtility::get_start_end_pos($line, $words[0]);
 | 
						|
                if(@$wordStEnd[0]['END-POSITION']<=@$this->headerPositions['SL']['POSITION-END'] 
 | 
						|
                    && @$wordStEnd[0]['END-POSITION']>@$this->headerPositions['SL']['POSITION-START'])
 | 
						|
                {
 | 
						|
                    $hasSL      = true;
 | 
						|
                }
 | 
						|
 | 
						|
                foreach($words as $indx=>$wrd)
 | 
						|
                {
 | 
						|
                    $word = ' '.$wrd.' ';
 | 
						|
 | 
						|
                    if($this->debug) echo "<br><b>Line - </b> Parsing '".$word."' IN -> ".$line." for ".$this->sportGroup;  
 | 
						|
                    
 | 
						|
                    switch($this->sportGroup)
 | 
						|
                    {
 | 
						|
                        case ParserUtility::$_RUNNING_ :                           
 | 
						|
                        case ParserUtility::$_RELAY_ :                            
 | 
						|
                            if($hasSL===true)
 | 
						|
                            {
 | 
						|
                                $headerIndex = $this->__processRowFor_jump($indx, $word, $line, $headerIndex);
 | 
						|
                                if($headerIndex<0)
 | 
						|
                                {
 | 
						|
                                    $this->__processRowFor_addnlData($indx, $word, $line, $headerIndex);
 | 
						|
                                    $incrementRow = false;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                            else
 | 
						|
                            {
 | 
						|
                               $this->__processRowFor_addnlData($indx, $word, $line, $headerIndex);
 | 
						|
                               $incrementRow = false;
 | 
						|
                            }
 | 
						|
                            break;
 | 
						|
                        case ParserUtility::$_JUMPING_ :   
 | 
						|
                        case ParserUtility::$_JUMPING_TEAM_ :                        
 | 
						|
                            if($hasSL===true)
 | 
						|
                            {
 | 
						|
                                $headerIndex = $this->__processRowFor_jump($indx, $word, $line, $headerIndex);
 | 
						|
                                if($headerIndex<0)
 | 
						|
                                {
 | 
						|
                                    $this->__processRowFor_addnlData($indx, $word, $line, $headerIndex);
 | 
						|
                                    $incrementRow = false;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                            else
 | 
						|
                            {
 | 
						|
                                $this->__processRowFor_addnlData($indx, $word, $line, $headerIndex);
 | 
						|
                                $incrementRow = false;
 | 
						|
                            }
 | 
						|
                            break;
 | 
						|
                        case ParserUtility::$_THROWING_ :
 | 
						|
                        case ParserUtility::$_THROWING_TEAM_ :
 | 
						|
                            if($hasSL===true)
 | 
						|
                            {
 | 
						|
                                $headerIndex = $this->__processRowFor_throw($indx, $word, $line, $headerIndex);
 | 
						|
                                if($headerIndex<0)
 | 
						|
                                {
 | 
						|
                                    $this->__processRowFor_addnlData($indx, $word, $line, $headerIndex);
 | 
						|
                                    $incrementRow = false;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                            else
 | 
						|
                            {
 | 
						|
                                $this->__processRowFor_addnlData($indx, $word, $line, $headerIndex);
 | 
						|
                                $incrementRow = false;
 | 
						|
                            }
 | 
						|
                            break;
 | 
						|
                        default :
 | 
						|
                            $this->usable = false;
 | 
						|
                            $this->problem = "PARSER NOT IMPLEMENTED"; 
 | 
						|
                            $this->__resetObj();
 | 
						|
                            break;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                $this->__processCombinatorData();
 | 
						|
                $this->prc = $this->rowCounter;
 | 
						|
                $this->rowCounter++;                
 | 
						|
            }
 | 
						|
            
 | 
						|
            if($this->debug) echo "<br><br>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$<br><br>";
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    function __processRowFor_addnlData($indx, $word, $line, $hIndex)
 | 
						|
    {        
 | 
						|
        $this->matrix[$this->prc]['ADDTIONAL-DATA'][$line]['COMBINATOR'][] = $word;
 | 
						|
    }
 | 
						|
 | 
						|
    function __processRowFor_run($indx, $word, $line, $hIndex)
 | 
						|
    {
 | 
						|
        return $this->__pattern1($indx, $word, $line, $hIndex);
 | 
						|
    }
 | 
						|
 | 
						|
    function __processRowFor_jump($indx, $word, $line, $hIndex)
 | 
						|
    {
 | 
						|
        return $this->__pattern1($indx, $word, $line, $hIndex);
 | 
						|
    }
 | 
						|
    
 | 
						|
    function __processRowFor_throw($indx, $word, $line, $hIndex)
 | 
						|
    {
 | 
						|
        return $this->__pattern1($indx, $word, $line, $hIndex);
 | 
						|
    }
 | 
						|
 | 
						|
    function __pattern1($indx, $word, $line, $hIndex)
 | 
						|
    {
 | 
						|
        $wordStEnd      = ParserUtility::get_start_end_pos($line, $word);
 | 
						|
 | 
						|
        if(sizeof($wordStEnd)==0)
 | 
						|
        {
 | 
						|
            $wordStEnd      = ParserUtility::get_start_end_pos($line, ' '.trim($word));
 | 
						|
        }
 | 
						|
 | 
						|
        if(sizeof($wordStEnd)==0)
 | 
						|
        {
 | 
						|
            $wordStEnd      = ParserUtility::get_start_end_pos($line, trim($word).' ');
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        $headerIndex    = -1;
 | 
						|
 | 
						|
        if($this->debug) { echo "<br><b>       POSITION - </b>"; print_r($wordStEnd); }
 | 
						|
        if($this->debug) { echo "<br><b>       HEADER - </b>"; print_r($this->headerPositions); }
 | 
						|
 | 
						|
        if($indx==0 
 | 
						|
            && @$wordStEnd[0]['END-POSITION']<=$this->headerPositions['SL']['POSITION-END'] 
 | 
						|
            && @$wordStEnd[0]['END-POSITION']>$this->headerPositions['SL']['POSITION-START'])//&& is_numeric(trim($word))===true 
 | 
						|
        {
 | 
						|
            $this->matrix[$this->rowCounter]['RAW-LINE']["COMBINATOR"][0] = trim($line);
 | 
						|
            $this->matrix[$this->rowCounter]['ROUND']["COMBINATOR"][0] = $this->getSportsRound();
 | 
						|
 | 
						|
            $this->matrix[$this->rowCounter]["SL"]["COMBINATOR"][0] = trim($word);
 | 
						|
            if($this->debug) echo "<br> Putting '".$word."' AT -> SL";
 | 
						|
            if($this->debug) echo "<br><br>---------------------------------<br><br>";
 | 
						|
        }
 | 
						|
        else if(isset($this->matrix[$this->rowCounter]['SL']))
 | 
						|
        {
 | 
						|
            foreach($wordStEnd as $wordStartEnd)
 | 
						|
            {
 | 
						|
                if($wordStartEnd['END-POSITION']<=$this->decoratorLen)
 | 
						|
                {
 | 
						|
                    $headerIndex = 0;
 | 
						|
                    foreach($this->headerPositions as $header=>$headerPos)
 | 
						|
                    {
 | 
						|
                        if($this->debug) echo "<br> Matching end 'w-".$wordStartEnd['END-POSITION']."' between 'h-".$headerPos['POSITION-START']."' and 'h-".$headerPos['POSITION-END']."' @ ".$header.' HAVING hIndex=>'.$hIndex;
 | 
						|
 | 
						|
                        if($wordStartEnd['END-POSITION']<=$headerPos['POSITION-END'] 
 | 
						|
                            && $wordStartEnd['END-POSITION']>$headerPos['POSITION-START']
 | 
						|
                            && $headerIndex >= $hIndex)
 | 
						|
                        {
 | 
						|
                            if($this->debug) echo "<br> <b>-- Success Matching 'w-".$wordStartEnd['END-POSITION']."' with 'h-".$headerPos['POSITION-END']."' and 'w-".$wordStartEnd['END-POSITION']."' with 'h-".$headerPos['POSITION-START']."' @ ".$header.' HAVING hIndex=>'.$hIndex.'</b>';
 | 
						|
                            $this->matrix[$this->rowCounter][$header]['COMBINATOR'][] = trim($word);
 | 
						|
                            if($this->debug) echo "<br><b>Line - </b> Putting '".$word."' AT -> ".$header;
 | 
						|
                            if($this->debug) echo "<br><br>---------------------------------<br><br>";
 | 
						|
                            
 | 
						|
                            if(count($wordStEnd)>1)
 | 
						|
                            {
 | 
						|
                                $headerIndex++;
 | 
						|
                            }
 | 
						|
 | 
						|
                            return $headerIndex; 
 | 
						|
                        }
 | 
						|
                        elseif(($wordStartEnd['END-POSITION']-$headerPos['POSITION-END'])==1)
 | 
						|
                        {
 | 
						|
                            if($this->debug) echo "<br> <b>-- Force Matching 'w-".$wordStartEnd['END-POSITION']."' with 'h-".$headerPos['POSITION-END']."' and 'w-".$wordStartEnd['END-POSITION']."' with 'h-".$headerPos['POSITION-START']."' @ ".$header.'</b>';
 | 
						|
                            $this->matrix[$this->rowCounter][$header]['COMBINATOR'][] = trim($word);
 | 
						|
                            if($this->debug) echo "<br><b>Line - </b> Putting '".$word."' AT -> ".$header;
 | 
						|
                            if($this->debug) echo "<br><br>---------------------------------<br><br>";
 | 
						|
                            return $headerIndex; 
 | 
						|
                        }
 | 
						|
                        $headerIndex++;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {   
 | 
						|
                    //echo "IN~".$word.' >> '.$line;
 | 
						|
                    $this->matrix[$this->rowCounter]['REMARKS']['COMBINATOR'][] = trim($word);
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        return $headerIndex; 
 | 
						|
    }
 | 
						|
 | 
						|
    function __processCombinatorData()
 | 
						|
    {
 | 
						|
        if(is_array($this->matrix) && sizeof($this->matrix) > 0)
 | 
						|
        {
 | 
						|
            if(is_array(@$this->matrix[$this->rowCounter]))
 | 
						|
            {                
 | 
						|
                foreach($this->matrix[$this->rowCounter] as $header=>$rowData)
 | 
						|
                {
 | 
						|
                    if($header==='ADDTIONAL-DATA')
 | 
						|
                    {
 | 
						|
                        $toDelete = array();
 | 
						|
                        $cntr = 0;
 | 
						|
                        foreach($this->matrix[$this->rowCounter]['ADDTIONAL-DATA'] as $lnn=>$addlnRec)
 | 
						|
                        {
 | 
						|
                            $this->matrix[$this->rowCounter]['ADDTIONAL-DATA'][$cntr]["COMBINATOR"] = $addlnRec['COMBINATOR'];
 | 
						|
                            $this->matrix[$this->rowCounter]['ADDTIONAL-DATA'][$cntr]["COMBINED"] = implode(" ",$addlnRec['COMBINATOR']);                            
 | 
						|
                            $cntr++;
 | 
						|
                            $toDelete[] = $lnn;
 | 
						|
                        }
 | 
						|
 | 
						|
                        foreach($toDelete as $lndl)
 | 
						|
                        {
 | 
						|
                            unset($this->matrix[$this->rowCounter]['ADDTIONAL-DATA'][$lndl]);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        if(is_array(@$rowData['COMBINATOR']))
 | 
						|
                        {
 | 
						|
                            $this->matrix[$this->rowCounter][$header]["COMBINED"] = implode(" ",$rowData['COMBINATOR']);
 | 
						|
                            if(strtolower($header)==='name')
 | 
						|
                            {
 | 
						|
                                $analysis = new Lexicon(implode(" ",$rowData['COMBINATOR']));
 | 
						|
                                $nameAnalysis = $analysis->getAnalysisForNames();
 | 
						|
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["COMBINED"]   = @$nameAnalysis['FULL-NAME'];
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["ROLL-NO"]    = @$nameAnalysis['ROLL-NO'];
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["FIRST-NAME"] = @$nameAnalysis['FIRST-NAME'];
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["LAST-NAME"]  = @$nameAnalysis['LAST-NAME'];
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            switch($this->sportGroup)
 | 
						|
            {
 | 
						|
                case ParserUtility::$_RUNNING_ :
 | 
						|
                case ParserUtility::$_RELAY_ :
 | 
						|
                    $this->__processDataFor_run();
 | 
						|
                    break;
 | 
						|
                case ParserUtility::$_JUMPING_ :
 | 
						|
                case ParserUtility::$_JUMPING_TEAM_ :                        
 | 
						|
                    $this->__processDataFor_jump();
 | 
						|
                    break;
 | 
						|
                case ParserUtility::$_THROWING_ :
 | 
						|
                case ParserUtility::$_THROWING_TEAM_ :
 | 
						|
                    $this->__processDataFor_throw();
 | 
						|
                    break;
 | 
						|
                default :                   
 | 
						|
                    break;
 | 
						|
            } 
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    function __processDataFor_run()
 | 
						|
    {
 | 
						|
        if(is_array(@$this->matrix[$this->rowCounter]))
 | 
						|
        {
 | 
						|
            foreach($this->matrix[$this->rowCounter] as $header=>$rowData)
 | 
						|
            {
 | 
						|
                $rec = @ParserUtility::$terms_reportHeader_dType[$header];
 | 
						|
                switch($rec)
 | 
						|
                {
 | 
						|
                    case "string":
 | 
						|
                        $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED'];
 | 
						|
                        break;
 | 
						|
                    case "int":
 | 
						|
                        $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED'];  
 | 
						|
                        
 | 
						|
                        if(strpos(strtoupper($rowData['COMBINED']),"Q")!==false)
 | 
						|
                        {           
 | 
						|
                            $this->matrix[$this->rowCounter]["MARK"]["DATA"] = "QUALIFIED"; 
 | 
						|
                        }  
 | 
						|
                        $this->matrix[$this->rowCounter][$header]["COMBINED"] =  ParserUtility::removeAlphabetsOnly($rowData['COMBINED']);
 | 
						|
                        break;
 | 
						|
                    case "float":                    
 | 
						|
                        if(trim( $rowData['COMBINED'])!=='')
 | 
						|
                        {
 | 
						|
                            if(strpos(strtoupper($rowData['COMBINED']),"Q")!==false)
 | 
						|
                            {           
 | 
						|
                                $this->matrix[$this->rowCounter]["MARK"]["DATA"] = "QUALIFIED"; 
 | 
						|
                            }
 | 
						|
                            $this->matrix[$this->rowCounter][$header]["COMBINED"] =  ParserUtility::removeAlphabetsOnly($rowData['COMBINED']);
 | 
						|
 | 
						|
                            if(strpos($rowData['COMBINED'],":"))
 | 
						|
                            {
 | 
						|
                                $calcData = ParserUtility::numerizeTime($rowData['COMBINED']);
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["DATA"] = $calcData;
 | 
						|
                            }
 | 
						|
                            else
 | 
						|
                            {
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["DATA"] = floatval($rowData['COMBINED']);   
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        break;
 | 
						|
                    default:
 | 
						|
                        if($header!=='ADDTIONAL-DATA')
 | 
						|
                        {
 | 
						|
                            $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED']; 
 | 
						|
                        }
 | 
						|
                        break;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    function __processDataFor_jump()
 | 
						|
    {
 | 
						|
        if(is_array(@$this->matrix[$this->rowCounter]))
 | 
						|
        {
 | 
						|
            foreach($this->matrix[$this->rowCounter] as $header=>$rowData)
 | 
						|
            {
 | 
						|
                $rec = @ParserUtility::$terms_reportHeader_dType[$header];
 | 
						|
                switch($rec)
 | 
						|
                {
 | 
						|
                    case "string":
 | 
						|
                        $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED'];
 | 
						|
                        break;
 | 
						|
                    case "int":
 | 
						|
                        $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED'];  
 | 
						|
                        if(strpos(strtoupper($rowData['COMBINED']),"Q")!==false)
 | 
						|
                        {           
 | 
						|
                            $this->matrix[$this->rowCounter]["MARK"]["DATA"] = "QUALIFIED";                              
 | 
						|
                        }    
 | 
						|
                        $this->matrix[$this->rowCounter][$header]["COMBINED"] =  ParserUtility::removeAlphabetsOnly($rowData['COMBINED']);                              
 | 
						|
                        break;
 | 
						|
                    case "float":                    
 | 
						|
                        if(trim( $rowData['COMBINED'])!=='')
 | 
						|
                        {
 | 
						|
                            if(strpos(strtoupper($rowData['COMBINED']),"Q")!==false)
 | 
						|
                            {           
 | 
						|
                                $this->matrix[$this->rowCounter]["MARK"]["DATA"] = "QUALIFIED";                                   
 | 
						|
                            }
 | 
						|
 | 
						|
                            $theData = ParserUtility::removeAlphabetsOnly($rowData['COMBINED']);
 | 
						|
 | 
						|
                            $this->matrix[$this->rowCounter][$header]["COMBINED"] = $theData ;
 | 
						|
 | 
						|
                            if(strpos($theData,"-"))
 | 
						|
                            {
 | 
						|
                                $calcData = ParserUtility::numerizeLength($theData);
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["DATA"] = $calcData;
 | 
						|
                            }
 | 
						|
                            else
 | 
						|
                            {
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED'];   
 | 
						|
                            }                            
 | 
						|
                        }
 | 
						|
                        break;
 | 
						|
                    default:
 | 
						|
                        if($header!=='ADDTIONAL-DATA')
 | 
						|
                        {
 | 
						|
                            $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED']; 
 | 
						|
                        }
 | 
						|
                        break;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    function __processDataFor_throw()
 | 
						|
    {
 | 
						|
        if(is_array(@$this->matrix[$this->rowCounter]))
 | 
						|
        {
 | 
						|
            foreach($this->matrix[$this->rowCounter] as $header=>$rowData)
 | 
						|
            {
 | 
						|
                $rec = @ParserUtility::$terms_reportHeader_dType[$header];
 | 
						|
                switch($rec)
 | 
						|
                {
 | 
						|
                    case "string":
 | 
						|
                        $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED'];
 | 
						|
                        break;
 | 
						|
                    case "int":
 | 
						|
                        $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED'];     
 | 
						|
                        if(strpos(strtoupper($rowData['COMBINED']),"Q")!==false)
 | 
						|
                        {           
 | 
						|
                            $this->matrix[$this->rowCounter]["MARK"]["DATA"] = "QUALIFIED";                             
 | 
						|
                        }  
 | 
						|
                        $this->matrix[$this->rowCounter][$header]["COMBINED"] =  ParserUtility::removeAlphabetsOnly($rowData['COMBINED']);                             
 | 
						|
                        break;
 | 
						|
                    case "float":                    
 | 
						|
                        if(trim( $rowData['COMBINED'])!=='')
 | 
						|
                        {
 | 
						|
                            if(strpos(strtoupper($rowData['COMBINED']),"Q")!==false)
 | 
						|
                            {           
 | 
						|
                                $this->matrix[$this->rowCounter]["MARK"]["DATA"] = "QUALIFIED";  
 | 
						|
                            }
 | 
						|
                            $this->matrix[$this->rowCounter][$header]["COMBINED"] =  ParserUtility::removeAlphabetsOnly($rowData['COMBINED']);
 | 
						|
 | 
						|
                            if(strpos($rowData['COMBINED'],"-"))
 | 
						|
                            {
 | 
						|
                                $calcData = ParserUtility::numerizeLength($rowData['COMBINED']);
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["DATA"] = $calcData;
 | 
						|
                            }
 | 
						|
                            else
 | 
						|
                            {
 | 
						|
                                $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED'];   
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        break;
 | 
						|
                    default:
 | 
						|
                        if($header==='ADDTIONAL-DATA')
 | 
						|
                        {
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            $this->matrix[$this->rowCounter][$header]["DATA"] = $rowData['COMBINED']; 
 | 
						|
                        }
 | 
						|
                        break;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    function __resetObj()
 | 
						|
    {        
 | 
						|
        $this->decoratorLen     = 0;
 | 
						|
        $this->header           = array();
 | 
						|
        $this->headerCount      = 0;
 | 
						|
        $this->headerPositions  = array();
 | 
						|
 | 
						|
        $this->matrix         = array();
 | 
						|
        $this->rowCounter     = 0;
 | 
						|
    }
 | 
						|
}
 | 
						|
?>
 |