コード例 #1
0
ファイル: SetLabel.php プロジェクト: TU-Berlin/WikidataMath
 /**
  * @param array $params
  *
  * @return ChangeOpLabel
  */
 private function getChangeOp(array $params)
 {
     $label = "";
     $language = $params['language'];
     if (isset($params['value'])) {
         $label = $this->stringNormalizer->trimToNFC($params['value']);
     }
     if ($label === "") {
         $op = $this->termChangeOpFactory->newRemoveLabelOp($language);
     } else {
         $op = $this->termChangeOpFactory->newSetLabelOp($language, $label);
     }
     return $op;
 }
コード例 #2
0
 /**
  * @param array[] $labels
  *
  * @return ChangeOp[]
  */
 private function getLabelChangeOps(array $labels)
 {
     $labelChangeOps = array();
     foreach ($labels as $langCode => $arg) {
         $this->validateMultilangArgs($arg, $langCode);
         $language = $arg['language'];
         $newLabel = array_key_exists('remove', $arg) ? '' : $this->stringNormalizer->trimToNFC($arg['value']);
         if ($newLabel === "") {
             $labelChangeOps[] = $this->termChangeOpFactory->newRemoveLabelOp($language);
         } else {
             $labelChangeOps[] = $this->termChangeOpFactory->newSetLabelOp($language, $newLabel);
         }
     }
     return $labelChangeOps;
 }