* @version $Revision$ * @link http://www.mediboard.org */ $event_name = CValue::post("event_name"); $object_class = CValue::post("object_class"); $form_name = CValue::post("form_name"); $ids = CValue::post("ids"); CSessionHandler::writeClose(); //CExObject::$_load_lite = true; $ex_class_event = new CExClassEvent(); $ds = $ex_class_event->getDS(); $group_id = CGroups::loadCurrent()->_id; $where = array("ex_class_event.host_class" => $ds->prepare("=%", $object_class), "ex_class_event.event_name" => $ds->prepare("=%", $event_name), "ex_class.conditional" => $ds->prepare("=%", 0), $ds->prepare("ex_class.group_id = % OR ex_class.group_id IS NULL", $group_id)); $ljoin = array("ex_class" => "ex_class.ex_class_id = ex_class_event.ex_class_id"); /** @var CExClassEvent[] $ex_class_events */ $ex_class_events = $ex_class_event->loadList($where, null, null, null, $ljoin); $ex_classes = array(); $ex_objects = array(); $count_available = count($ex_class_events); foreach ($ex_class_events as $_ex_class_event) { $_ex_class = $_ex_class_event->loadRefExClass(); $_ex_class->getFormulaField(); $ex_classes[$_ex_class->_id] = $_ex_class; } $object_data = array(); foreach ($ids as $_id_element => $_id) { $_count_available = $count_available; $_count = 0; /** @var CMbObject $object */ $object = new $object_class(); $object->load($_id);
} } // Can create new if ($detail <= 0.5) { // Loading the events if ($ex_class_events === null) { $_ex_class_creation = array(); $ex_class_events = array(); foreach (CExClass::$_list_cache as $_ex_class_id => $_ex_class) { if (!$_ex_class->conditional && (!$cross_context_class || $cross_context_class == $_ex_class->cross_context_class)) { $_ex_class_creation[] = $_ex_class_id; } } $where = array("ex_class_event.ex_class_id" => $ex_class_event->getDS()->prepareIn($_ex_class_creation), "ex_class_event.disabled" => "= '0'"); /** @var CExClassEvent[] $ex_class_events_by_ref */ $ex_class_events_by_ref = $ex_class_event->loadList($where); CStoredObject::massLoadBackRefs($ex_class_events_by_ref, "constraints"); foreach ($ex_class_events_by_ref as $_ex_class_event) { $_key = "{$_ex_class_event->host_class}/{$_ex_class_event->ex_class_id}"; /** @var CExClassEvent[] $_ex_class_events */ if (!array_key_exists($_key, $ex_class_events)) { $ex_class_events[$_key] = array(); } $ex_class_events[$_key][] = $_ex_class_event; } } foreach ($_ex_class_creation as $_ex_class_id) { if (!isset($ex_class_events["{$creation_context->_class}/{$_ex_class_id}"])) { continue; } $_ex_class_events = $ex_class_events["{$creation_context->_class}/{$_ex_class_id}"];