%PDF- %PDF-
Direktori : /var/www/pn/utils/classes/ |
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 ''; } }