/**
  * Adds the list of forms to a template manager
  *
  * @param CTemplateManager $template The template manager
  * @param CMbObject        $object   The host object
  * @param string           $name     The field name
  *
  * @return void
  */
 static function addFormsToTemplate(CTemplateManager $template, CMbObject $object, $name)
 {
     static $ex_classes = null;
     if (!CAppUI::conf("forms CExClassField doc_template_integration")) {
         return;
     }
     $params = array("detail" => 3, "reference_id" => $object->_id, "reference_class" => $object->_class, "target_element" => "ex-objects-{$object->_id}", "print" => 1, "limit" => null);
     $formulaires = "";
     $params["limit"] = 1;
     if ($object->_id) {
         $formulaires = CApp::fetch("forms", "ajax_list_ex_object", $params);
         $formulaires = preg_replace('/\\s+/', " ", $formulaires);
         // Remove CRLF which CKEditor transform to <br />
     }
     $template->addProperty("{$name} - Formulaires - Dernier", $formulaires, null, false);
     $params["limit"] = 5;
     if ($object->_id) {
         $formulaires = CApp::fetch("forms", "ajax_list_ex_object", $params);
         $formulaires = preg_replace('/\\s+/', " ", $formulaires);
         // Remove CRLF which CKEditor transform to <br />
     }
     $template->addProperty("{$name} - Formulaires - 5 derniers", $formulaires, null, false);
     $params["limit"] = 1;
     $params["only_host"] = 1;
     if ($object->_id) {
         $formulaires = CApp::fetch("forms", "ajax_list_ex_object", $params);
         $formulaires = preg_replace('/\\s+/', " ", $formulaires);
         // Remove CRLF which CKEditor transform to <br />
     }
     $template->addProperty("{$name} - Formulaires - Liés", $formulaires, null, false);
     self::$_multiple_load = true;
     CExObject::initLocales();
     if ($ex_classes === null) {
         $group_id = CGroups::loadCurrent()->_id;
         $where = array("ex_class.group_id = '{$group_id}' OR group_id IS NULL", "ex_class_field.in_doc_template" => "= '1'");
         $ljoin = array("ex_class_field_group" => "ex_class_field_group.ex_class_id = ex_class.ex_class_id", "ex_class_field" => "ex_class_field.ex_group_id = ex_class_field_group.ex_class_field_group_id");
         $ex_class = new CExClass();
         /** @var CExClass[] $ex_classes */
         $ex_classes = $ex_class->loadList($where, "name", null, "ex_class.ex_class_id", $ljoin);
         foreach ($ex_classes as $_ex_class) {
             $_ex_class->_all_fields = $_ex_class->loadRefsAllFields();
         }
     }
     foreach ($ex_classes as $_ex_class) {
         $_name = "Form. " . str_replace(" - ", " ", $_ex_class->name);
         $fields = $_ex_class->_all_fields;
         $_class_name = $_ex_class->getExClassName();
         $_ex_object = null;
         if ($object->_id) {
             $_ex_object = $_ex_class->getLatestExObject($object);
         }
         if ($template->valueMode && (!$_ex_object || !$_ex_object->_id)) {
             continue;
         }
         $template->addDateProperty("Sejour - {$_name} - Date de saisie du form.", $_ex_object ? $_ex_object->datetime_create : null);
         $template->addTimeProperty("Sejour - {$_name} - Heure de saisie du form.", $_ex_object ? $_ex_object->datetime_create : null);
         foreach ($fields as $_field) {
             if (!$_field->in_doc_template) {
                 continue;
             }
             $_field_name = str_replace(" - ", " ", CAppUI::tr("{$_class_name}-{$_field->name}"));
             $_template_field_name = "Sejour - {$_name} - {$_field_name}";
             $_template_key_name = "CExObject|{$_ex_class->_id}|{$_field->name}";
             $_has_value = $_ex_object && $_ex_object->_id && $_field->name != "";
             $_template_value = $_has_value ? $_ex_object->getFormattedValue($_field->name) : "";
             $template->addAdvancedData($_template_field_name, $_template_key_name, $_template_value);
         }
     }
     self::$_multiple_load = false;
 }