function getKey(CExClassField $base = null) { $field = $base ? $base : $this->loadRefExClassField(); $class = $base ? $base->loadRefExClass() : $field->loadRefExClass(); $prefix = "CExObject"; if ($class->_id) { $prefix .= "_{$class->_id}"; } return array($prefix, ".{$field->name}.{$this->key}"); }
$date_min = CValue::get("date_min"); $date_max = CValue::get("date_max"); $group_id = CValue::get("group_id"); $concept_search = CValue::get("concept_search"); CValue::setSession('reference_class', $reference_class); CValue::setSession('reference_id', $reference_id); if ($reference_class) { /** @var CMbObject $reference */ $reference = new $reference_class(); if ($reference_id) { $reference->load($reference_id); } } else { $reference = null; } CExClassField::$_load_lite = true; CExObject::$_multiple_load = true; CExObject::$_load_lite = $detail < 2; $group_id = $group_id ? $group_id : CGroups::loadCurrent()->_id; $where = array("group_id = '{$group_id}' OR group_id IS NULL"); if ($ex_class_id) { $where['ex_class_id'] = "= '{$ex_class_id}'"; } if (empty(CExClass::$_list_cache)) { $ex_class = new CExClass(); /** @var CExClass[] $ex_classes */ $ex_classes = $ex_class->loadList($where, "name"); $categories = CStoredObject::massLoadFwdRef($ex_classes, "category_id"); $categories = CStoredObject::naturalSort($categories, array("title")); $categories = array(new CExClassCategory()) + $categories; foreach ($ex_classes as $_ex_class) {
* @package Mediboard * @subpackage forms * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkEdit(); $ex_class_id = CValue::get("ex_class_id"); $keywords = CValue::get("_ex_field_view"); $exclude_ex_field_id = CValue::get("exclude_ex_field_id"); $ex_class = new CExClass(); $ex_class->load($ex_class_id); $where = array("ex_class_field_group.ex_class_id" => "= '{$ex_class_id}'"); $ljoin = array("ex_class_field_group" => "ex_class_field_group.ex_class_field_group_id = ex_class_field.ex_group_id"); if ($exclude_ex_field_id) { $where["ex_class_field.ex_class_field_id"] = "!= '{$exclude_ex_field_id}'"; } $ex_field = new CExClassField(); if ($keywords == "") { $keywords = "%"; } $matches = $ex_field->getAutocompleteList($keywords, $where, 200, $ljoin); $template = $ex_field->getTypedTemplate("autocomplete"); $smarty = new CSmartyDP("modules/system"); $smarty->assign('matches', $matches); $smarty->assign('field', "ex_class_id"); $smarty->assign('view_field', "_ex_field_view"); $smarty->assign('show_view', 1); $smarty->assign('template', $template); $smarty->assign('nodebug', true); $smarty->display('inc_field_autocomplete.tpl');
case "str_to_text": $where = array("prop" => "LIKE 'str%'"); $concept = new CExConcept(); $str_concepts = $concept->loadList($where); foreach ($str_concepts as $_concept) { $_concept->prop = preg_replace("/^(str)/", "text", $_concept->prop); if ($msg = $_concept->store()) { CAppUI::setMsg($msg, UI_MSG_WARNING); } else { CAppUI::setMsg("Concept modifié", UI_MSG_OK); } } if (count($str_concepts) == 0) { CAppUI::setMsg("Aucun concept modifié", UI_MSG_OK); } $ex_field = new CExClassField(); $str_fields = $ex_field->loadList($where); foreach ($str_fields as $_field) { $_field->prop = preg_replace("/^(str)/", "text", $_field->prop); if ($msg = $_field->store()) { CAppUI::setMsg($msg, UI_MSG_WARNING); } else { CAppUI::setMsg("Champ modifié", UI_MSG_OK); } } if (count($str_fields) == 0) { CAppUI::setMsg("Aucun champ modifié", UI_MSG_OK); } break; } echo CAppUI::getMsg();
<?php /** * $Id$ * * @package Mediboard * @subpackage forms * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkEdit(); $ex_field_id = CValue::get("ex_field_id"); $ex_field = new CExClassField(); $ex_field->load($ex_field_id); $ex_field->formulaFromDB(); $formula_possible = true; $field_names = array(); $spec_type = $ex_field->getSpecObject()->getSpecType(); if (!CExClassField::formulaCanResult($spec_type)) { $formula_possible = false; } else { $field_names = $ex_field->getFieldNames(true, true); $field_names = array_values($field_names); $field_names = array_map("utf8_encode", $field_names); } $smarty = new CSmartyDP(); $smarty->assign("ex_field", $ex_field); $smarty->assign("field_names", $field_names); $smarty->assign("formula_possible", $formula_possible); $smarty->display("inc_edit_ex_formula.tpl");
<?php /** * $Id: do_ex_class_field_predicate_aed.php 19290 2013-05-26 19:48:24Z phenxdesign $ * * @package Mediboard * @subpackage System * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 19290 $ */ $ex_class_field_id = CValue::post("ex_class_field_id"); $ex_class_field = new CExClassField(); $ex_class_field->load($ex_class_field_id); if (empty($_POST["value"])) { $_POST["value"] = $_POST[$ex_class_field->name]; } $do = new CDoObjectAddEdit("CExClassFieldPredicate"); $do->doIt();
/** * $Id: ajax_edit_ex_field.php 26927 2015-01-28 12:52:44Z phenxdesign $ * * @package Mediboard * @subpackage forms * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 26927 $ */ CCanDo::checkEdit(); $ex_field_id = CValue::get("ex_field_id"); $ex_class_id = CValue::get("ex_class_id"); $ex_group_id = CValue::get("ex_group_id"); CExObject::$_locales_cache_enabled = false; $ex_field = new CExClassField(); $spec_type = "enum"; if ($ex_field->load($ex_field_id)) { $spec_type = $ex_field->getSpecObject()->getSpecType(); $ex_field->loadRefsNotes(); $ex_field->updateTranslation(); $ex_field->loadTriggeredData(); } else { $ex_field->ex_group_id = $ex_group_id; $ex_field->disabled = 0; $ex_field->readonly = 0; $ex_field->hidden = 0; } $ex_field->loadRefExClass(); $properties = $ex_field->loadRefProperties(); foreach ($properties as $_property) {
/** * @param CMbObject $object * * @return CExObject[][] */ static function getExObjectsOf(CMbObject $object) { CExClassField::$_load_lite = true; CExObject::$_multiple_load = true; $group_id = CGroups::loadCurrent()->_id; $where = array("group_id = '{$group_id}' OR group_id IS NULL"); if (empty(CExClass::$_list_cache)) { $ex_class = new CExClass(); CExClass::$_list_cache = $ex_class->loadList($where, "name"); if (!CExObject::$_locales_cache_enabled) { foreach (CExClass::$_list_cache as $_ex_class) { foreach ($_ex_class->loadRefsGroups() as $_group) { $_group->loadRefsFields(); foreach ($_group->_ref_fields as $_field) { $_field->updateTranslation(); } } } } } $ex_objects = array(); $limit = 1; $ref_objects_cache = array(); foreach (CExClass::$_list_cache as $_ex_class_id => $_ex_class) { $_ex_object = new CExObject($_ex_class_id); $where = array("(reference_class = '{$object->_class}' AND reference_id = '{$object->_id}') OR\n (reference2_class = '{$object->_class}' AND reference2_id = '{$object->_id}') OR\n (object_class = '{$object->_class}' AND object_id = '{$object->_id}')"); $ljoin = array(); /** @var CExObject[] $_ex_objects */ $_ex_objects = $_ex_object->loadList($where, "{$_ex_object->_spec->key} DESC", $limit, null, $ljoin); foreach ($_ex_objects as $_ex) { $_ex->_ex_class_id = $_ex_class_id; $_ex->load(); $guid = "{$_ex->object_class}-{$_ex->object_id}"; if (!isset($ref_objects_cache[$guid])) { $_ex->loadTargetObject()->loadComplete(); // to get the view $ref_objects_cache[$guid] = $_ex->_ref_object; } else { $_ex->_ref_object = $ref_objects_cache[$guid]; } if ($_ex->additional_id) { $_ex->loadRefAdditionalObject(); } $ex_objects[$_ex_class_id][$_ex->_id] = $_ex; } if (isset($ex_objects[$_ex_class_id])) { krsort($ex_objects[$_ex_class_id]); } } ksort($ex_objects); return $ex_objects; }
<?php /** * $Id$ * * @package Mediboard * @subpackage forms * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkEdit(); $ex_class_field_id = CValue::get("ex_class_field_id"); $form_name = CValue::get("form_name"); $value = CValue::get("value"); $ex_class_field = new CExClassField(); $ex_class_field->load($ex_class_field_id); $ex_class_id = $ex_class_field->loadRefExGroup()->ex_class_id; $ex_object = new CExObject($ex_class_id); $ex_object->{$ex_class_field->name} = $value; $spec = CExConcept::getConceptSpec($ex_class_field->prop); if ($spec instanceof CEnumSpec) { $ex_class_field->updateEnumSpec($spec); } $ex_class_field->readonly = "0"; $ex_class_field->hidden = "0"; // Création du template $smarty = new CSmartyDP(); $smarty->assign("ex_field", $ex_class_field); $smarty->assign("ex_object", $ex_object); $smarty->assign("form", $form_name);
$current_group->loadObject($where); if (!$current_group->_id) { $current_group->name = $group_name; $current_group->ex_class_id = $current_class->_id; if ($msg = $current_group->store()) { CAppUI::setMsg("Ligne {$line_number} : {$msg}", UI_MSG_WARNING); continue; } else { CAppUI::setMsg("{$current_group->_class}-msg-create", UI_MSG_OK); } } } if (empty($current_class->_id) || empty($current_group->_id)) { continue; } $field = new CExClassField(); $field_name = $line["field_name"]; $ds = $field->_spec->ds; $where = array("ex_class_field_translation.std" => $ds->prepare("=%", $field_name), "ex_class.ex_class_id" => $ds->prepare("=%", $current_class->_id)); $ljoin = array("ex_class_field_translation" => "ex_class_field_translation.ex_class_field_id = ex_class_field.ex_class_field_id", "ex_class_field_group" => "ex_class_field_group.ex_class_field_group_id = ex_class_field.ex_group_id", "ex_class" => "ex_class.ex_class_id = ex_class_field_group.ex_class_id"); $field->loadObject($where, null, null, $ljoin); if (!$field->_id) { CAppUI::setMsg("Ligne {$line_number} : champ non trouvé ({$field_name})", UI_MSG_WARNING); continue; } // mise a jour du groupe du champ if ($field->ex_group_id != $current_group->_id) { $field->ex_group_id = $current_group->_id; if ($msg = $field->store()) { CAppUI::setMsg("Ligne {$line_number} : {$msg}", UI_MSG_WARNING); continue;
* @version $Revision: 17759 $ */ CCanDo::checkEdit(); $ex_field_id = CValue::get("ex_field_id"); $ex_field_predicate_id = CValue::get("ex_field_predicate_id"); $exclude_ex_field_id = CValue::get("exclude_ex_field_id"); $ex_group_id = CValue::get("ex_group_id"); $opener_field_value = CValue::get("opener_field_value"); $opener_field_view = CValue::get("opener_field_view"); $ex_field_predicate = new CExClassFieldPredicate(); $ex_field_predicate->load($ex_field_predicate_id); if (!$ex_field_predicate->_id && $ex_field_id != $exclude_ex_field_id) { $ex_field_predicate->ex_class_field_id = $ex_field_id; } $ex_field_predicate->loadRefExClassField(); $ex_field = new CExClassField(); $ex_field->load($ex_field_id); if ($ex_group_id && !$ex_field->_id) { $ex_group = new CExClassFieldGroup(); $ex_group->load($ex_group_id); $ex_class = $ex_group->loadRefExClass(); } else { $ex_class = $ex_field->loadRefExClass(); } $smarty = new CSmartyDP(); $smarty->assign("ex_field_predicate", $ex_field_predicate); $smarty->assign("ex_class", $ex_class); $smarty->assign("exclude_ex_field_id", $exclude_ex_field_id); $smarty->assign("opener_field_value", $opener_field_value); $smarty->assign("opener_field_view", $opener_field_view); $smarty->display("inc_edit_ex_field_predicate.tpl");