*  
 * @category Forms
 * @package  Mediboard
 * @author   SARL OpenXtrem <*****@*****.**>
 * @license  GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @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) {
Example #2
0
    if (isset($ex_objects[$_ex_class_id])) {
        krsort($ex_objects[$_ex_class_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;