* @copyright Copyright (c) 2008-2012, OPUS 4 development team * @license http://www.gnu.org/licenses/gpl.html General Public License * @version $Id: split_firstname_academic_title.php 10652 2012-07-09 12:46:16Z sszott $ */ /** * * Durchsucht die Vornamen aller in der Datenbank abgespeicherten Personen. * Ist in einem Vornamen auch der akademische Titel angegebenen (in Klammern), * dann wird dieser entfernt und in dem dafür vorgesehenen OPUS4-Feld * abgespeichert. * * Dieses Problem tritt auf bei der Migration aus OPUS3, wo es noch kein * separates Feld für das Ablegen des akademischen Titels einer Person gab. * */ foreach (Opus_Person::getAll() as $person) { $firstname = $person->getFirstName(); $numOfOpeningParenthesis = substr_count($firstname, '('); $numOfClosingParenthesis = substr_count($firstname, ')'); if ($numOfOpeningParenthesis != $numOfClosingParenthesis) { // conflict found echo '[WARN] Opus_Person #' . $person->getId() . " with conflict in firstname '{$firstname}' : mismatch between opening and closing parentheses -- skip person\n"; continue; } if ($numOfOpeningParenthesis == 0) { // nothing to do echo '[INFO] Opus_Person #' . $person->getId() . " without parenthesis in firstname '{$firstname}' -- skip person\n"; continue; } // check if firstname ends with '(' if (preg_match('/^.*\\)\\s*$/', $firstname) == 0) {