} /** @var CExList[] $_similar */ $_similar = $import->getSimilarFromElement($_list_element); $lists[$_list_element->getAttribute("id")] = array("values" => CMbXMLObjectImport::getValuesFromElement($_list_element), "similar" => $_similar, "elements" => $_elements_values); } $sortfunc = function ($a, $b) { return strcasecmp($a["values"]["name"], $b["values"]["name"]); }; uasort($lists, $sortfunc); $list = new CExList(); /** @var CExList[] $all_lists */ $all_lists = $list->loadGroupList(null, "name"); $concept_elements = $import->getElementsbyClass("CExConcept"); $concepts = array(); foreach ($concept_elements as $_concept_element) { $_values = CMbXMLObjectImport::getValuesFromElement($_concept_element); $_spec = explode(" ", $_values["prop"]); $concepts[$_concept_element->getAttribute("id")] = array("values" => CMbXMLObjectImport::getValuesFromElement($_concept_element), "similar" => $import->getSimilarFromElement($_concept_element), "spec_type" => $_spec[0]); } uasort($concepts, $sortfunc); $concept = new CExConcept(); $all_concepts = $concept->loadGroupList(null, "name"); // Création du template $smarty = new CSmartyDP(); $smarty->assign("ex_class_name", $ex_class_name); $smarty->assign("uid", $uid); $smarty->assign("concepts", $concepts); $smarty->assign("all_concepts", $all_concepts); $smarty->assign("lists", $lists); $smarty->assign("all_lists", $all_lists); $smarty->display("inc_import_ex_class.tpl");
/** * Get objects list * * @param string $class Class name * @param string $compare_field Search and view field * @param bool $load_all Load all objects from the current group * @param bool $allow_create Allow object creation * * @return array */ function getObjectsList($class, $compare_field, $load_all = true, $allow_create = true) { $elements = $this->getElementsbyClass($class); /** @var CMbObject $object */ $object = new $class(); $ds = $object->getDS(); /** @var CMbObject[] $all_objects */ $all_objects = array(); if ($load_all) { $all_objects = $object->loadGroupList(null, $compare_field); } $objects = array(); foreach ($elements as $_element) { $_id = $_element->getAttribute("id"); $_values = CMbXMLObjectImport::getValuesFromElement($_element); /** @var CMbObject[] $_similar */ $where = array($compare_field => $ds->prepare("=?", $_values[$compare_field])); $_similar = $object->loadGroupList($where); $objects[$_id] = array("values" => $_values, "similar" => $_similar); } $sortfunc = function ($a, $b) use($compare_field) { return strcasecmp($a["values"][$compare_field], $b["values"][$compare_field]); }; uasort($objects, $sortfunc); return array("all_objects" => $all_objects, "objects" => $objects, "class" => $class, "field" => $compare_field, "allow_create" => $allow_create); }