Project

General

Profile

1
<?php
2

    
3
defined('_JEXEC') or die('Access denied');
4

    
5
jimport('joomla.methods');
6

    
7
// This helper formats organizations.
8
abstract class OrganizationHelper {
9
	const MAX_PROJECTS = 15;
10
	
11
	// Format an organization.
12
	// $organization the organization to format
13
	// $itemId the item ID to use for internal links
14
	// return a string containing the full HTML for the organization or an empty string if any errors occur
15
	public static function formatOrganization($organization, $itemId) {
16
		if (($organization == NULL) || (($organization -> name == NULL) && ($organization -> shortName == NULL)))
17
			return '';
18
		$projects = OrganizationHelper :: _formatProjects($organization -> projects, $itemId);
19
		return '<div class="srchRow"><h4>' . (($organization -> id == NULL) ? '' : ('<a href="' . JRoute :: _('index.php?option=com_openaire&view=organization&organizationId=' . $organization -> id) . '">')) . $organization -> name . ((($organization -> name == NULL) || ($organization -> shortName == NULL)) ? '' : ' ') . (($organization -> shortName == NULL) ? '' : ('(' . $organization -> shortName . ')')) . (($organization -> id == NULL) ? '' : '</a>') . '</h4>' . ((($organization -> country) && ($projects == NULL)) ? '' : ('<div class="biblio">' .  (($organization -> country == NULL) ? '' : (JText :: _('COUNTRY_') . ' ' . $organization -> country)) . ((($organization -> country == NULL) || ($projects == NULL)) ? '' : '<br />') . $projects . '</div>')) . '</div>';
20
	}
21
	
22
	public static function _formatProjects($projects, $itemId) {
23
		$projects = ($projects == NULL) ? NULL : array_filter(array_map(function ($project) use ($itemId) {return OrganizationHelper :: _formatProject($project, $itemId);}, $projects));
24
		return ($projects == NULL) ? '' : (JText :: _('PROJECTS_') . ' ' . implode(', ', array_slice($projects, 0, OrganizationHelper :: MAX_PROJECTS)) . ((count($projects) > OrganizationHelper :: MAX_PROJECTS) ? ',...' : ''));
25
	}
26
	
27
	public static function _formatProject($project, $itemId) {
28
		return (($project -> acronym == NULL) && ($project -> title == NULL)) ? '' : ('<span class="proj">' . (($project -> id == NULL) ? '' : ('<a href="' . JRoute :: _('index.php?option=com_openaire&view=project&projectId=' . $project -> id) . '">')) . (($project -> acronym == NULL) ? $project -> title : $project -> acronym) . (($project -> code == NULL) ? '' : (' (' . $project -> code . ')')) . (($project -> id == NULL) ? '' : '</a>') . '</span>');
29
	}
30
}
31

    
(8-8/15)