You are here

public static function BiblioContributorUtility::getBiblioContributorsFromNames in Bibliography Module 7.3

Get saved contributor objects by their names.

Parameters

$names: String of contributors' names separated by 'and'.

Return value

Array of saved contributor objects.

4 calls to BiblioContributorUtility::getBiblioContributorsFromNames()
Biblio::addContributors in includes/biblio.controller.inc
Add contributors to the field collection of a Biblio.
BiblioContributorTestCase::testDuplicateBiblioContributorsMd5 in tests/Contributor.test
Test preventing duplications in contributors' names.
BiblioContributorTestCase::testGetBiblioContributorsFromNames in tests/Contributor.test
Test parsing different formats of contributor names.
BiblioStyleBibtex::importContributors in plugins/biblio_style/bibtex/BiblioStyleBibtex.class.php
Import contributors.

File

includes/BiblioContributorUtility.inc, line 17
Helper class for handling Biblio Contributors.

Class

BiblioContributorUtility
@file Helper class for handling Biblio Contributors.

Code

public static function getBiblioContributorsFromNames($names) {

  // Split names.
  $names = preg_split("/(and|&)/i", trim($names));
  $contributors = array();
  foreach ($names as $name) {

    // Parse contributor's name to get each part separately.
    $values = BiblioContributorUtility::parseContributorName($name);

    // Get existing Biblio Contributor object, save it if it doesn't exist.
    $biblio_contributor = biblio_contributor_create($values);
    $biblio_contributor = BiblioContributorUtility::getBiblioContributor($biblio_contributor);
    $contributors[] = $biblio_contributor;
  }
  return $contributors;
}