/** * Prepare a log entry for listing * * @param modManagerLog $log * @return array */ public function prepareLog(modManagerLog $log) { $logArray = $log->toArray(); if (strpos($logArray['action'], '.') !== false) { // Action is prefixed with a namespace, assume we need to load a package $exp = explode('.', $logArray['action']); $ns = $exp[0]; $path = $this->modx->getOption("{$ns}.core_path", null, $this->modx->getOption('core_path') . "components/{$ns}/") . 'model/'; $this->modx->addPackage($ns, $path); } if (!empty($logArray['classKey']) && !empty($logArray['item'])) { $logArray['name'] = $logArray['classKey'] . ' (' . $logArray['item'] . ')'; /** @var xPDOObject $obj */ $obj = $this->modx->getObject($logArray['classKey'], $logArray['item']); if ($obj && $obj->get($obj->getPK()) == $logArray['item']) { $nameField = $this->getNameField($logArray['classKey']); $k = $obj->getField($nameField, true); if (!empty($k)) { $pk = $obj->get('id'); $logArray['name'] = $obj->get($nameField) . (!empty($pk) ? ' (' . $pk . ')' : ''); } } } else { $logArray['name'] = $log->get('item'); } $logArray['occurred'] = date($this->getProperty('dateFormat'), strtotime($logArray['occurred'])); return $logArray; }
/** * Prepare a log entry for listing * * @param modManagerLog $log * @return array */ public function prepareLog(modManagerLog $log) { $logArray = $log->toArray(); if (!empty($logArray['classKey']) && !empty($logArray['item']) && $logArray['item'] !== 'unknown') { $logArray['name'] = $logArray['classKey'] . ' (' . $logArray['item'] . ')'; /** @var xPDOObject $obj */ $obj = $this->modx->getObject($logArray['classKey'], $logArray['item']); if ($obj && $obj->get($obj->getPK()) == $logArray['item']) { $nameField = $this->getNameField($logArray['classKey']); $k = $obj->getField($nameField, true); if (!empty($k)) { $pk = $obj->get('id'); $logArray['name'] = $obj->get($nameField) . (!empty($pk) ? ' (' . $pk . ')' : ''); } } } else { $logArray['name'] = $log->get('item'); } $logArray['occurred'] = date($this->getProperty('dateFormat'), strtotime($logArray['occurred'])); return $logArray; }