public function _on_updated() { // Invalidate topic in cache to refresh all views // TODO: Do this only on status changes if (isset($GLOBALS['disable_activitystream'])) { return true; } if ($_MIDCOM->auth->request_sudo('midcom')) { // This is here because creating an object calls create and update..... and we don't want duplicate entry's $qb = midcom_helper_activitystream_activity_dba::new_query_builder(); $qb->set_limit(1); $qb->add_constraint('application', '=', 'fi.kilonkipinat.forms'); $qb->add_constraint('target', '=', $this->guid); $groups = $qb->execute(); if ($groups && is_array($groups) && count($groups) > 0) { $new_object = false; } else { $new_object = true; } $actor = midcom_db_person::get_cached($_MIDGARD['user']); $activity = new midcom_helper_activitystream_activity_dba(); $activity->target = $this->guid; $activity->application = 'fi.kilonkipinat.forms'; $activity->actor = $actor->id; $activity->verb = 'http://activitystrea.ms/schema/1.0/post'; if ($new_object) { $activity->summary = sprintf('%s loi kulukorvauslomakkeen', $actor->name); } else { $activity->summary = sprintf('%s muokkasi kulukorvauslomaketta', $actor->name); } $activity->create(); $_MIDCOM->auth->drop_sudo(); } return true; }
public function _on_updated() { // Invalidate topic in cache to refresh all views // TODO: Do this only on status changes $topic = midcom_db_topic::get_cached($this->topic); if ($topic->guid) { $_MIDCOM->cache->invalidate($topic->guid); } if (isset($GLOBALS['disable_activitystream'])) { return true; } if ($_MIDCOM->auth->request_sudo('midcom')) { $actor = midcom_db_person::get_cached($_MIDGARD['user']); $activity = new midcom_helper_activitystream_activity_dba(); $activity->target = $this->guid; $activity->application = 'fi.kilonkipinat.account'; $activity->actor = $actor->id; $activity->verb = 'http://activitystrea.ms/schema/1.0/post'; if ($this->id == $actor->id) { $activity->summary = sprintf('%s muokkasi omaa tunnustaan', $actor->name); } else { $tmp_name = $this->firstname . ' ' . $this->lastname; $activity->summary = sprintf('%s muokkasi %s:n tunnusta', $actor->name, $tmp_name); } $activity->create(); $_MIDCOM->auth->drop_sudo(); } return true; }
public function _on_watched_operation($operation, $object) { if (!$object->_use_activitystream) { // Activity Log not used for this object return; } // Create an activity log entry if (!midcom::get('auth')->request_sudo('midcom.helper.activitystream')) { // Not allowed to create activity logs return; } $activity = new midcom_helper_activitystream_activity_dba(); $activity->target = $object->guid; if ($object->_activitystream_verb) { $activity->verb = $object->_activitystream_verb; } else { $activity->verb = midcom_helper_activitystream_activity_dba::operation_to_verb($operation); } if (!$activity->verb) { debug_add('Cannot generate a verb for the activity, skipping'); midcom::get('auth')->drop_sudo(); return; } static $handled_targets = array(); if (isset($handled_targets["{$activity->target}_{$activity->actor}"])) { // We have already created an entry for this object in this request, skip return; } if ($object->_rcs_message) { $activity->summary = $object->_rcs_message; } if (midcom::get('auth')->user) { $actor = midcom::get('auth')->user->get_storage(); $activity->actor = $actor->id; } $activity->application = midcom_core_context::get()->get_key(MIDCOM_CONTEXT_COMPONENT); if ($activity->create()) { $handled_targets["{$activity->target}_{$activity->actor}"] = true; } midcom::get('auth')->drop_sudo(); }
public function _on_deleted() { $this->_invalidate_person_cache(); if (!midcom::get('auth')->request_sudo('midcom')) { return; } // Create an Activity Log entry for the membership addition try { $actor = midcom_db_person::get_cached($this->uid); $target = midcom_db_group::get_cached($this->gid); } catch (midcom_error $e) { $e->log(); return; } $activity = new midcom_helper_activitystream_activity_dba(); $activity->target = $target->guid; $activity->actor = $actor->id; $activity->verb = 'http://community-equity.org/schema/1.0/leave'; if (midcom::get('auth')->is_valid_user() && $actor->guid == midcom::get('auth')->user->guid) { $activity->summary = sprintf(midcom::get('i18n')->get_string('%s left group %s', 'midcom'), $actor->name, $target->official); } else { $activity->summary = sprintf(midcom::get('i18n')->get_string('%s was removed from group %s', 'midcom'), $actor->name, $target->official); } $activity->create(); midcom::get('auth')->drop_sudo(); }