示例#1
0
 public static function constructSourceTitle($sourceType, $sourceTitle, $author = '', $place = '', $placeIssued = '', $publisher = '')
 {
     $sourceTitle = StructuredData::cleanSourceTitle($sourceTitle);
     if (!$sourceType || !$sourceTitle) {
         return null;
     }
     $pageTitle = $sourceTitle;
     // Government / Church records -> place. title
     if ($sourceType == 'Government / Church records') {
         $place = StructuredData::cleanSourcePlace($place);
         if ($place) {
             $pageTitle = "{$place}. {$sourceTitle}";
         } else {
             return null;
         }
     } else {
         if ($sourceType == 'Newspaper') {
             $placeIssued = StructuredData::cleanSourcePlaceIssued($placeIssued);
             if ($placeIssued) {
                 $pageTitle = "{$sourceTitle} ({$placeIssued})";
             }
         } else {
             if ($sourceType == 'Periodical') {
                 $publisher = StructuredData::cleanSourcePlace($place);
                 if ($publisher) {
                     $pageTitle = "{$sourceTitle} ({$publisher})";
                 }
             } else {
                 $author = StructuredData::cleanSourceAuthor($author);
                 if ($author) {
                     $pageTitle = "{$author}. {$sourceTitle}";
                 }
             }
         }
     }
     return Title::newFromText($pageTitle, NS_SOURCE);
 }