/** * Create new log entry and return it * * Delete actions are automatically marked as silent if $is_silent value is not provided (not NULL) * * @param ApplicationDataObject $object * @param Project $project * @param DataManager $manager * @param boolean $save Save log object before you save it * @return ApplicationReadLog */ static function createLog(ApplicationDataObject $object, $workspaces, $action = null, $save = true, $log_data = '') { if (is_null($action)) { $action = self::ACTION_READ; } // if if (!self::isValidAction($action)) { throw new Error("'{$action}' is not valid log action"); } // if try { Notifier::notifyAction($object, $action, $log_data); } catch (Exception $ex) { } $manager = $object->manager(); if (!$manager instanceof DataManager) { throw new Error('Invalid object manager'); } // if $log = new ApplicationReadLog(); if (logged_user() instanceof Contact) { $log->setTakenById(logged_user()->getId()); } else { $log->setTakenById(0); } $log->setRelObjectId($object->getObjectId()); $log->setAction($action); if ($save) { $log->save(); } // if return $log; }
/** * Create new log entry and return it * * Delete actions are automatically marked as silent if $is_silent value is not provided (not NULL) * * @param ApplicationDataObject $object * @param Project $project * @param DataManager $manager * @param boolean $save Save log object before you save it * @return ApplicationReadLog */ static function createLog(ApplicationDataObject $object, $workspaces, $action = null, $is_private = false, $is_silent = null, $save = true, $log_data = '') { if (is_null($action)) { $action = self::ACTION_READ; } // if if (!self::isValidAction($action)) { throw new Error("'{$action}' is not valid log action"); } // if try { Notifier::notifyAction($object, $action, $log_data); } catch (Exception $ex) { } $manager = $object->manager(); if (!$manager instanceof DataManager) { throw new Error('Invalid object manager'); } // if $log = new ApplicationReadLog(); if (logged_user() instanceof User) { $log->setTakenById(logged_user()->getId()); } else { $log->setTakenById(0); } $log->setRelObjectId($object->getObjectId()); $log->setRelObjectManager(get_class($manager)); $log->setAction($action); if ($save) { $log->save(); } // if if ($save) { if ($workspaces instanceof Project) { $wo = new WorkspaceObject(); $wo->setObject($log); $wo->setWorkspace($workspaces); $wo->save(); } else { if (is_array($workspaces)) { foreach ($workspaces as $w) { if ($w instanceof Project) { $wo = new WorkspaceObject(); $wo->setObject($log); $wo->setWorkspace($w); $wo->save(); } } } } } return $log; }