%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/pn/utils/classes/
Upload File :
Create Path :
Current File : /var/www/pn/utils/classes/GizProject.php

<?php
namespace WebPappers\GizProject;
use WebPappers\Project\Project;

class GizProject extends Project
{
    public function getName()
    {
        $name = $this->dom->find('.article-aside h1');        
        $name = !empty($name[0]) ?  trim($name[0]->text()) : '';        
        
        return $name;
    }

    public function getType()
    {
        return GIZ_NAME;
    }

    public function getStatus()
    {
        return '';
    }

    public function getProjectParamByName($paramName)
    {
        $paramValue = '';
        $pageContent = $this->dom->find('.article-aside .pageContent div');

        if(empty($pageContent[0])){
            return '';
        }
        $pageContent = $pageContent[0]->innerHtml();
        
        $startWord = '<h3>Project description</h3>';
        $stopWord = '<h2>Context</h2>';
        $positionStart = stripos($pageContent, $startWord); 
        $positionStart = $positionStart + strlen($startWord);
        $positionStop = stripos($pageContent, $stopWord); 
        $length = $positionStop - $positionStart;     

        $projectDataString = substr($pageContent, $positionStart, $length);
        $projectDataString = trim($projectDataString);
        $projectDataString = str_replace('<p>', '', $projectDataString);
        $projectDataString = str_replace('</p>', '', $projectDataString);

        $projectData = explode('<br>', $projectDataString);

        if(empty($projectData)){
            return '';
        }

        foreach($projectData as $data){
            $data = trim($data);
            $data = str_replace('<strong>', '', $data);
            $data = str_replace('</strong>', '', $data);
            $data = explode(':', $data);
            
            if(empty($data[0]) || empty($data[1])){
                continue;
            }

            $name = strtolower(trim($data[0]));

            if($name == strtolower($paramName)){
                $paramValue = $data[1];
                break;
            }            
        }

        return $paramValue;
    }

    public function getBeneficiarySAI()    
    {
        $beneficiarySAI = $this->getProjectParamByName('Country');        
        
        return $beneficiarySAI; 
    }

    public function prepareDescription($string)
    {
        $startString = '<h2>Approach</h2>';
        $position = stripos($string, $startString);
        $position = $position + strlen($startString);

        if($position == false){
            return '';
        }

        $description = trim(substr($string, $position));

        return $description;
    }

    public function getDescription()
    {
        $description = $this->dom->find('.article-aside .pageContent div');
        if(empty($description[0])){
            return '';
        }        
        $description = $this->prepareDescription($description[0]->innerHtml());
        
        return $description;
    }

    public function getImplementingAgency()
    {
        return 'GIZ';
    }

    public function getBeneficiaryLevel()
    {        
        return '';
    }

}

Zerion Mini Shell 1.0