<?php
/**
 * @copyright (c) Kufer Software GmbH, Oderstraße 7, D-84453 Mühldorf
 */

class PortraitAPI
{
  
  public static function getPortraitFotoLinkForKuferTools(string $pTyp, $pNr, $pBildSuffix): string
  {
    return FotoAPI::getFotoLinkForKuferTools($pTyp, $pNr, $pBildSuffix);
  }

  
  public static function sendPortrait2DMZ(\DozentenPortrait $pChangedDozentenPortrait, array $pChangedFields, int $pDnr): ?string
  {
    $abgleichAPI = new AbgleichAPI();

    if (!$abgleichAPI->isAktiviert() || !SessionOperations::isReplikat()) {
      return null;
    }

    $changedFieldsFoto = $pChangedFields['foto'];
    $changedFieldsDozWebDataCheck = $pChangedFields['dozWebDataCheck'];

    $dbwPortrait = DBWorkPortrait::getDefaultInstance();
    $dbwDozWebDataCheck = DBWorkDozWebDataCheck::getDefaultInstance();

    $portraitNode = new XMLNode('portrait');
    $portraitNode->addChild(new XMLNode('id', $pDnr));

    $fotoNode = AbgleichAPI::getXMLNode($dbwPortrait, $pChangedDozentenPortrait->foto, $changedFieldsFoto, 'foto');
    if (!is_null($fotoNode)) {
      $portraitNode->addChild($fotoNode);
    }

    $dozWebDataCheckNode = AbgleichAPI::getXMLNode($dbwDozWebDataCheck, $pChangedDozentenPortrait->dozWebDataCheck, $changedFieldsDozWebDataCheck, 'dozwebdatacheck');
    if (!is_null($dozWebDataCheckNode)) {
      $portraitNode->addChild($dozWebDataCheckNode);
    }

    $result = $abgleichAPI->sendeNachricht(
      AbgleichAPI::ABGLEICH_PORTRAIT_BEARBEITEN,
      new Nutzlast($portraitNode)
    );

    return $result->reason;
  }
}