<?php

/**
 * View exchange data format EAI
 *  
 * @category EAI
 * @package  Mediboard
 * @author   SARL OpenXtrem <*****@*****.**>
 * @license  GNU General Public License, see http://www.gnu.org/licenses/gpl.html 
 * @version  SVN: $Id:$ 
 * @link     http://www.mediboard.org
 */
CCanDo::checkRead();
$exchanges_classes = array();
foreach (CExchangeDataFormat::getAll() as $key => $_exchange_class) {
    foreach (CApp::getChildClasses($_exchange_class, true) as $under_key => $_under_class) {
        $class = new $_under_class();
        $class->countExchanges();
        $exchanges_classes[$_exchange_class][] = $class;
    }
    if ($_exchange_class == "CExchangeAny") {
        $class = new CExchangeAny();
        $class->countExchanges();
        $exchanges_classes["CExchangeAny"][] = $class;
    }
}
// Création du template
$smarty = new CSmartyDP();
$smarty->assign("exchanges_classes", $exchanges_classes);
$smarty->display("vw_idx_exchange_data_format.tpl");
 /**
  * Dispatch error
  * 
  * @param string         $data  Data
  * @param CInteropSender $actor Actor data
  * 
  * @return bool Always false
  */
 static function dispatchError($data, $actor = null)
 {
     foreach (self::$errors as $_error) {
         CAppUI::stepAjax($_error, UI_MSG_WARNING);
     }
     // Création d'un échange Any
     $exchange_any = new CExchangeAny();
     $exchange_any->date_production = CMbDT::dateTime();
     if ($actor) {
         $exchange_any->sender_id = $actor->_id;
         $exchange_any->sender_class = $actor->_class;
         $exchange_any->group_id = $actor->group_id;
     }
     $exchange_any->type = "None";
     $exchange_any->_message = $data;
     $exchange_any->store();
     // Création d'un message de retour
     $dom = new CMbXMLDocument();
     $mb_errors = $dom->addElement($dom, "MB_Dispatch_Errors");
     foreach (self::$errors as $_error) {
         $dom->addElement($mb_errors, "MB_Dispatch_Error", $_error);
     }
     self::$xml_error = $dom->saveXML();
     return false;
 }