<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

class BenutzerAPI
{
  public static function agbBestaetigenPerDMZ($benutzer, $origBenutzer)
  {
    $newBenutzer = clone $origBenutzer;
    $newBenutzer->agb_bestaetigen = $benutzer->agb_bestaetigen;

    return self::benutzerBearbeitenDMZ(array($newBenutzer), array($origBenutzer));
  }

  public static function benutzerBearbeitenDMZ($benutzerarray, $origBenutzer)
  {
    $abgleichAPI = new AbgleichAPI();
    $message = new XMLNode('benutzermenge');

    foreach ($benutzerarray as $key => $benutzer) {
      $zuUebertragendeFelder = $origBenutzer[$key]->getDiffFields($benutzer, true);
      $zuUebertragendeFelder[] = 'id';

      $benutzerNode = XMLNode::getXmlNodeOnlySpecificFields($benutzer, 'benutzer', $zuUebertragendeFelder, true);
      $origBenutzerNode = XMLNode::getXmlNodeOnlySpecificFields($origBenutzer[$key], 'oldobject', $zuUebertragendeFelder, true);

      $benutzerNode->addChild($origBenutzerNode);
      $message->addChild($benutzerNode);
    }

    return $abgleichAPI->sendeNachricht(
      AbgleichAPI::ABGLEICH_BENUTZER_BEARBEITEN,
      new Nutzlast($message),
      null
    );
  }
}