if (count($values) == 1) { $statuses[$field] = "unique"; continue; } // Multiple values $statuses[$field] = count(array_unique($values)) == 1 ? "duplicate" : "multiple"; } $result->updateFormFields(); $result->loadAllFwdRefs(true); } // Count statuses $counts = array("none" => 0, "unique" => 0, "duplicate" => 0, "multiple" => 0); foreach ($statuses as $status) { $counts[$status]++; } $classes = $readonly_class ? array() : CApp::getInstalledClasses(); // Création du template $smarty = new CSmartyDP(); $smarty->assign("objects", $objects); $smarty->assign("objects_class", $objects_class); $smarty->assign("objects_id", $objects_id); $smarty->assign("merge_type", $merge_type); $smarty->assign("result", $result); $smarty->assign("statuses", $statuses); $smarty->assign("user", $user); $smarty->assign("counts", $counts); $smarty->assign("checkMerge", $checkMerge); $smarty->assign("mode", $mode); $smarty->assign("list_classes", $classes); $smarty->assign("alternative_mode", CAppUI::conf("alternative_mode")); $smarty->assign("readonly_class", $readonly_class);
* @package Mediboard * @subpackage sante400 * @version $Revision: 28748 $ * @author SARL OpenXtrem * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html */ CCanDo::checkRead(); $canSante400 = CModule::getCanDo("dPsante400"); $dialog = CValue::get("dialog"); $page = intval(CValue::get('page', 0)); // Chargement du filtre $filter = new CIdSante400(); $filter->object_id = CValue::get("object_id"); $filter->object_class = CValue::get("object_class"); $filter->tag = CValue::get("tag"); $filter->id400 = CValue::get("id400"); $filter->nullifyEmptyFields(); // Récupération de la liste des classes disponibles if ($filter->object_class && $filter->object_id) { $listClasses = array($filter->object_class); } else { $listClasses = CApp::getInstalledClasses(); } // Création du template $smarty = new CSmartyDP(); $smarty->assign("page", $page); $smarty->assign("filter", $filter); $smarty->assign("canSante400", $canSante400); $smarty->assign("listClasses", $listClasses); $smarty->assign("dialog", $dialog); $smarty->display("view_identifiants.tpl");
* $Id: check_zombie_objects.php 24615 2014-09-01 10:52:44Z phenxdesign $ * * @package Mediboard * @subpackage developpement * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 24615 $ */ CCanDo::checkRead(); $class = CValue::getOrSession('class', 'CPatient'); $objects_count = CValue::getOrSession('objects_count', 20); $count = 0; $zombies = array(); /** @var CStoredObject $object */ $object = new $class(); $installed_classes = CApp::getInstalledClasses(); $ds = $object->_spec->ds; if ($object->_spec->table) { $object->makeAllBackSpecs(); foreach ($object->_backSpecs as $name => $back_spec) { /** @var CStoredObject $back_object */ $back_object = new $back_spec->class(); $fwd_spec = $back_object->_specs[$back_spec->field]; // Check the back ref only if the class's module is installed if (!in_array($back_spec->class, $installed_classes)) { continue; } $queryCount = "SELECT COUNT(*) AS total "; $queryLoad = "SELECT `back_obj`.* "; $query = "FROM `{$back_object->_spec->table}` AS `back_obj`\r\n LEFT JOIN `{$object->_spec->table}` AS `obj` ON `obj`.`{$object->_spec->key}` = `back_obj`.`{$back_spec->field}`\r\n WHERE `obj`.`{$object->_spec->key}` IS NULL \r\n AND `back_obj`.`{$back_spec->field}` IS NOT NULL"; if ($field_meta = $fwd_spec->meta) {
/** * Construit un tableau de traduction des classes pour lesquelles la fonction filltemplate existe * * @return array */ static function getTemplatedClasses() { if (self::$templated_classes !== null) { return self::$templated_classes; } $all_classes = array("CConsultAnesth", "CConsultation", "COperation", "CPatient", "CSejour", "CFactureCabinet", "CFactureEtablissement", 'CDevisCodage'); if (CModule::getActive("dPprescription")) { $all_classes[] = "CPrescription"; } $installed = CApp::getInstalledClasses($all_classes); $classes = array(); foreach ($installed as $class) { if (is_method_overridden($class, 'fillTemplate') || is_method_overridden($class, 'fillLimitedTemplate')) { $classes[$class] = CAppUI::tr($class); } } if (!count($classes)) { $classes["CMbObject"] = CAppUI::tr("CMbObject"); } return self::$templated_classes = $classes; }
/** * Get all classes for a given module * * @param string $module Module name * * @return array[string] Class names **/ static function getClassesFor($module) { // Liste des Class $listClass = CApp::getInstalledClasses(); $tabClass = array(); foreach ($listClass as $class) { $object = new $class(); if (!is_object($object->_ref_module)) { continue; } if ($object->_ref_module->mod_name == $module) { $tabClass[] = $object->_class; } } return $tabClass; }
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version SVN: $Id:\$ * @link http://www.mediboard.org */ CCanDo::checkRead(); $filtre = new CAideSaisie(); // Utilisateur sélectionné ou utilisateur courant $filtre->user_id = CView::get("user_id", "num pos", true); $filtre->function_id = CView::get("function_id", "num pos", true); $filtre->class = CView::get("class", "str", true); $keywords = CView::get("keywords", "str", true); $start = CValue::getOrSession("start", array("user" => 0, "func" => 0, "etab" => 0)); $order_col_aide = CView::get("order_col_aide", "enum list|class|field|depend_value_1|depend_value_2|name default|class", true); $order_way = CView::get("order_way", "enum list|ASC|DESC default|ASC", true); CView::checkin(); $classes = array_flip(CApp::getInstalledClasses()); // Chargement des classes possibles pour les aides à la saisie foreach ($classes as $class => &$infos) { $object = new $class(); $infos = array(); foreach ($object->_specs as $field => $spec) { if (!isset($spec->helped)) { continue; } $info =& $infos[$field]; if (!is_array($spec->helped)) { $info = null; } } } CMbArray::removeValue(array(), $classes);