get_session(); $registry = $appbox->get_registry(); phrasea::headers(); $user = User_Adapter::getInstance($session->get_usr_id(), $appbox); $request = http_request::getInstance(); $parm = $request->get_parms( "act" , "lst" , "mska" , "msko" , "chg_status_son" , 'dlgW' , 'dlgH' ); ?> get_usr_id(), $appbox)->ACL(); if ($parm["act"] == "WORK") { if ($parm["chg_status_son"] == "1") { $lst = explode(";", $parm["lst"]); foreach ($lst as $basrec) { $basrec = explode('_', $basrec); $record = new record_adapter($barec[0], $basrec[1]); if ($record->is_grouping()) { foreach ($record->get_children() as $oneson) { if (!$ACL->has_right_on_base($oneson->get_base_id(), 'chgstatus')) continue; if ($parm["lst"] != "" && $parm["lst"] != null) $parm["lst"].=","; $parm["lst"] .= ';' . $oneson->get_sbas_id() . '_' . $oneson->get_record_id(); } } } } $mska = $msko = null; $sbA = explode(';', $parm["mska"]); $sbO = explode(';', $parm["msko"]); foreach ($sbA as $sbAnd) { $sbAnd = explode('_', $sbAnd); $mska[$sbAnd[0]] = $sbAnd[1]; } foreach ($sbO as $sbOr) { $sbOr = explode('_', $sbOr); $msko[$sbOr[0]] = $sbOr[1]; } $lst = explode(";", $parm["lst"]); $maj = 0; foreach ($lst as $basrec) { $basrec = explode('_', $basrec); if (count($basrec) !== 2) continue; try { $record = new record_adapter($basrec[0], $basrec[1]); $base_id = $record->get_base_id(); if (isset($mska[$basrec[0]]) && isset($msko[$basrec[0]])) { $record = new record_adapter($basrec[0], $basrec[1]); $status = $record->get_status(); $status = databox_status::operation_and($status, $mska[$basrec[0]]); $status = databox_status::operation_or($status, $msko[$basrec[0]]); $record->set_binary_status($status); $session->get_logger($record->get_databox()) ->log($record, Session_Logger::EVENT_STATUS, '', ''); $maj++; unset($record); } } catch (Exception $e) { } } ?>