function bind($hash) { if (!is_array($hash)) { return get_class($this) . "::bind failed"; } else { bindHashToObject($hash, $this); return NULL; } }
/** * Binds a named array/hash to this object * * can be overloaded/supplemented by the child class * @param array $hash named array * @return null|string null is operation was satisfactory, otherwise returns an error */ function bind($hash) { if (!is_array($hash)) { $this->_error = get_class($this) . "::bind failed."; return false; } else { bindHashToObject($hash, $this); return true; } }
/** * This global function loads the first row of a query into an object * * If an object is passed to this function, the returned row is bound to the existing elements of <var>object</var>. * If <var>object</var> has a value of null, then all of the returned query fields returned in the object. * @param string The SQL query * @param object The address of variable */ function db_loadObject($sql, &$object, $bindAll = false, $strip = true) { if ($object != null) { $hash = array(); if (!db_loadHash($sql, $hash)) { return false; } bindHashToObject($hash, $object, null, $strip, $bindAll); return true; } else { $cur = db_exec($sql); $cur or exit(db_error()); if ($object = db_fetch_object($cur)) { db_free_result($cur); return true; } else { $object = null; return false; } } }
/** * Binds a named array/hash to this object * * can be overloaded/supplemented by the child class * @param array $hash named array * @return null|string null is operation was satisfactory, otherwise returns an error */ function bind($hash) { if (!is_array($hash)) { $this->_error = get_class($this) . "::bind failed."; return false; } else { /* * We need to filter out any object values from the array/hash so the bindHashToObject() * doesn't die. We also avoid issues such as passing objects to non-object functions * and copying object references instead of cloning objects. Object cloning (if needed) * should be handled seperatly anyway. */ foreach ($hash as $k => $v) { if (!is_object($hash[$k])) { $filtered_hash[$k] = $v; } } bindHashToObject($filtered_hash, $this); return true; } }
function bind($hash) { if (!is_array($hash)) { return "Billing Code::bind failed"; } else { bindHashToObject($hash, $this); return NULL; } }
function bind($hash) { if (!is_array($hash)) { return "CForumMessage::bind failed"; } else { bindHashToObject($hash, $this); return NULL; } }
/** * Build an object from a DOM element * * @param DOMElement $element The DOM element * * @return CMbObject */ function getObjectFromElement(DOMElement $element) { $class = $element->getAttribute("class"); $object = new $class(); $values = self::getValuesFromElement($element); foreach ($values as $_field => $_value) { if ($_value && $object->_specs[$_field] instanceof CRefSpec && $_field !== $object->_spec->key) { $this->importObjectByGuid($_value); if (isset($this->map[$_value])) { $values[$_field] = self::getIdFromGuid($this->map[$_value]); } } } bindHashToObject($values, $object); return $object; }
/** * Bind an object with an array * * @param array $hash associative array of values to match with * @param bool $strip true to strip slashes * * @return bool */ function bind($hash, $strip = true) { bindHashToObject($strip ? stripslashes_deep($hash) : $hash, $this); return true; }
/** * Loads the first row of a query into an object * * If an object is passed to this function, the returned row is bound to the existing elements of $object. * If $object has a value of null, then all of the returned query fields returned in the object. * * @param string $query The SQL query * @param object &$object The address of variable * * @return bool */ function loadObject($query, &$object) { if ($object != null) { if (null == ($hash = $this->loadHash($query))) { return false; } bindHashToObject($hash, $object); return true; } else { if (!($result = $this->exec($query))) { return false; } $this->chronoFetch->start(); $object = $this->fetchObject($result); $this->chronoFetch->stop(); $this->freeResult($result); if ($object) { return true; } else { $object = null; return false; } } }
$consult->_rques_consult = CValue::get("_rques_consult", CValue::session("_rques_consult")); $consult->_examen_consult = CValue::get("_examen_consult", CValue::session("_examen_consult")); $sejour = new CSejour(); bindHashToObject($_GET + $_SESSION["dPpatients"], $sejour); $sejour->loadRefsFwd(); $sejour->_rques_sejour = CValue::get("_rques_sejour", CValue::session("_rques_sejour")); $interv = new COperation(); bindHashToObject($_GET + $_SESSION["dPpatients"], $interv); $interv->loadRefsFwd(); $interv->_libelle_interv = CValue::get("_libelle_interv", CValue::session("_libelle_interv")); $interv->_rques_interv = CValue::get("_rques_interv", CValue::session("_rques_interv")); $antecedent = new CAntecedent(); bindHashToObject($_GET + $_SESSION["dPpatients"], $antecedent); $antecedent->loadRefsFwd(); $traitement = new CTraitement(); bindHashToObject($_GET + $_SESSION["dPpatients"], $traitement); $traitement->loadRefsFwd(); $prescription = new CPrescription(); $prescription->type = CValue::getOrSession("type_prescription"); $line_med = new CPrescriptionLineMedicament(); $line_med->code_ucd = CValue::getOrSession("code_ucd"); $line_med->code_cis = CValue::getOrSession("code_cis"); $line_med->_ucd_view = CValue::getOrSession("produit"); $libelle_produit = CValue::getOrSession("libelle_produit"); $classes_atc = CValue::getOrSession("classes_atc"); $keywords_atc = CValue::getOrSession("keywords_atc"); $composant = CValue::getOrSession("composant"); $keywords_composant = CValue::getOrSession("keywords_composant"); $indication = CValue::getOrSession("indication"); $type_indication = CValue::getOrSession("type_indication"); $keywords_indication = CValue::getOrSession("keywords_indication");
function importObject(DOMElement $element) { $id = $element->getAttribute("id"); if (isset($this->imported[$id])) { return; } $this->name_suffix = " (import du " . CMbDT::dateTime() . ")"; $map_to = isset($this->map[$id]) ? $this->map[$id] : null; switch ($element->getAttribute("class")) { // -------------------- case "CExClass": $values = self::getValuesFromElement($element); $ex_class = new CExClass(); $ex_class->name = $this->options["ex_class_name"]; $ex_class->group_id = CGroups::loadCurrent()->_id; $ex_class->pixel_positionning = $values["pixel_positionning"]; $ex_class->native_views = $values["native_views"]; $ex_class->_dont_create_default_group = true; if ($msg = $ex_class->store()) { throw new Exception($msg); } CAppUI::stepAjax("Formulaire '%s' créé", UI_MSG_OK, $ex_class->name); $map_to = $ex_class->_guid; break; // -------------------- // -------------------- case "CExList": if ($map_to == "__create__") { /** @var CExList $_ex_list */ $_ex_list = $this->getObjectFromElement($element); if ($msg = $_ex_list->store()) { $_ex_list->name .= $this->name_suffix; } if ($msg = $_ex_list->store()) { CAppUI::stepAjax($msg, UI_MSG_WARNING); break; } CAppUI::stepAjax("Liste '%s' créée", UI_MSG_OK, $_ex_list); $_elements = $this->getElementsByFwdRef("CExListItem", "list_id", $id); foreach ($_elements as $_element) { $_list_item = new CExListItem(); bindHashToObject(self::getValuesFromElement($_element), $_list_item); $_list_item->list_id = $_ex_list->_id; if ($msg = $_list_item->store()) { CAppUI::stepAjax($msg, UI_MSG_WARNING); break; } CAppUI::stepAjax("Elément de liste '%s' créé", UI_MSG_OK, $_list_item); $_item_id = $_element->getAttribute("id"); $this->map[$_item_id] = $_list_item->_guid; $this->imported[$_item_id] = true; } $map_to = $_ex_list->_guid; } else { /** @var CExList $ex_list */ $ex_list = CStoredObject::loadFromGuid($map_to); $list_items = $ex_list->loadRefItems(); foreach ($list_items as $_item) { $this->map[$_item->_guid] = $_item->_guid; } } break; // -------------------- // -------------------- case "CExConcept": if ($map_to == "__create__") { /** @var CExConcept $_ex_concept */ $_ex_concept = $this->getObjectFromElement($element); if ($_ex_concept->ex_list_id) { $_ex_concept->updatePropFromList(); } $_ex_concept->prop = $_ex_concept->updateFieldProp($_ex_concept->prop); if ($msg = $_ex_concept->store()) { $_ex_concept->name .= $this->name_suffix; } if ($msg = $_ex_concept->store()) { CAppUI::stepAjax($msg, UI_MSG_WARNING); break; } CAppUI::stepAjax("Concept '%s' créé", UI_MSG_OK, $_ex_concept); $map_to = $_ex_concept->_guid; } break; case "CExClassField": /** @var CExClassField $_ex_field */ $_ex_field = $this->getObjectFromElement($element); if ($this->options["ignore_disabled_fields"] && $_ex_field->disabled) { break; } $_ex_field->_make_unique_name = false; // Met à jour default|XXX des champs enum pour garder la bonne référence // @FIXME Ne fonctionne pas à cause du fait qu'il y a un concept_id .... $_spec_obj = $_ex_field->getSpecObject(); if ($_spec_obj instanceof CEnumSpec && $_spec_obj->default) { $_new_default = $this->getIdFromGuid($this->map["CExListItem-{$_spec_obj->default}"]); $_ex_field->prop = preg_replace('/ default\\|\\d+/', " default|{$_new_default}", $_ex_field->prop); } if ($msg = $_ex_field->store()) { CAppUI::stepAjax($msg, UI_MSG_WARNING); break; } CAppUI::stepAjax("Champ '%s' créé", UI_MSG_OK, $_ex_field); $map_to = $_ex_field->_guid; break; // -------------------- // -------------------- case "CExClassFieldGroup": case "CExClassFieldSubgroup": case "CExClassFieldTranslation": case "CExClassMessage": case "CExClassHostField": $_object = $this->getObjectFromElement($element); if ($msg = $_object->store()) { CAppUI::stepAjax($msg, UI_MSG_WARNING); break; } CAppUI::stepAjax(CAppUI::tr($_object->_class) . " '%s' créé", UI_MSG_OK, $_object); $map_to = $_object->_guid; break; case "CExClassFieldPredicate": /** @var CExClassFieldPredicate $_object */ $_object = $this->getObjectFromElement($element); if ($_object->value) { $_field = $_object->loadRefExClassField(); if ($_field->getSpecObject() instanceof CEnumSpec) { $this->predicates_to_fix[] = $_object; } } if ($msg = $_object->store()) { CAppUI::stepAjax($msg, UI_MSG_WARNING); break; } CAppUI::stepAjax(CAppUI::tr($_object->_class) . " '%s' créé", UI_MSG_OK, $_object); $map_to = $_object->_guid; break; default: // Ignore object break; } $this->map[$id] = $map_to; $this->imported[$id] = true; }