public function release($releaseuser = null) { $submitinfo = $this->submitted_to(); if (is_null($submitinfo)) { throw new ParameterException("View with id " . $this->get('id') . " has not been submitted"); } $releaseuser = optional_userobj($releaseuser); self::_db_release(array($this->id), $this->get('owner'), $this->get('submittedgroup')); $ownerlang = get_user_language($this->get('owner')); $url = $this->get_url(false); require_once 'activity.php'; activity_occurred('maharamessage', array('users' => array($this->get('owner')), 'subject' => get_string_from_language($ownerlang, 'viewreleasedsubject', 'group', $this->get('title'), $submitinfo['name'], display_name($releaseuser, $this->get_owner_object())), 'message' => get_string_from_language($ownerlang, 'viewreleasedmessage', 'group', $this->get('title'), $submitinfo['name'], display_name($releaseuser, $this->get_owner_object())), 'url' => $url, 'urltext' => $this->get('title'))); }
/** * Invite a user to a group. * * @param object $group group * @param object $userid User to invite * @param object $userfrom User sending the invitation */ function group_invite_user($group, $userid, $userfrom, $role = 'member', $delay = null) { $user = optional_userobj($userid); $data = new StdClass(); $data->group = $group->id; $data->member = $user->id; $data->ctime = db_format_timestamp(time()); $data->role = $role; ensure_record_exists('group_member_invite', $data, $data); $lang = get_user_language($user->id); require_once 'activity.php'; $activitydata = array('users' => array($user->id), 'subject' => get_string_from_language($lang, 'invitetogroupsubject', 'group'), 'message' => get_string_from_language($lang, 'invitetogroupmessage', 'group', display_name($userfrom, $user), $group->name), 'url' => group_homepage_url($group, false), 'urltext' => $group->name); activity_occurred('maharamessage', $activitydata, null, null, $delay); }
/** * Release a submitted collection * * @param object $releaseuser The user releasing the collection */ public function release($releaseuser = null) { if (!$this->is_submitted()) { throw new ParameterException("Collection with id " . $this->id . " has not been submitted"); } // One day there might be group and institution collections, so be safe if (empty($this->owner)) { throw new ParameterException("Collection with id " . $this->id . " has no owner"); } $viewids = $this->get_viewids(); db_begin(); execute_sql(' UPDATE {collection} SET submittedgroup = NULL, submittedhost = NULL, submittedtime = NULL, submittedstatus = ' . self::UNSUBMITTED . ' WHERE id = ?', array($this->id)); View::_db_release($viewids, $this->owner, $this->submittedgroup); db_commit(); // We don't send out notifications about the release of remote-submitted Views & Collections // (though I'm not sure why) if ($this->submittedgroup) { $releaseuser = optional_userobj($releaseuser); $releaseuserdisplay = display_name($releaseuser, $this->owner); $submitinfo = $this->submitted_to(); require_once 'activity.php'; activity_occurred('maharamessage', array('users' => array($this->get('owner')), 'strings' => (object) array('subject' => (object) array('key' => 'collectionreleasedsubject', 'section' => 'group', 'args' => array($this->name, $submitinfo->name, $releaseuserdisplay)), 'message' => (object) array('key' => 'collectionreleasedmessage', 'section' => 'group', 'args' => array($this->name, $submitinfo->name, $releaseuserdisplay))), 'url' => $this->get_url(false), 'urltext' => $this->name)); } }
public function release($releaseuser = null) { require_once get_config('docroot') . 'artefact/lib.php'; $submitinfo = $this->submitted_to(); if (is_null($submitinfo)) { throw new ParameterException("View with id " . $this->get('id') . " has not been submitted"); } $releaseuser = optional_userobj($releaseuser); db_begin(); if ($submitinfo['type'] == 'group') { $group = $this->get('submittedgroup'); $this->set('submittedgroup', null); if ($group) { // Remove hidden tutor view access records delete_records('view_access', 'view', $this->id, 'group', $group, 'visible', 0); } } else { if ($submitinfo['type'] == 'host') { $this->set('submittedhost', null); } } $this->set('submittedtime', null); $this->commit(); ArtefactType::update_locked($this->owner); db_commit(); $ownerlang = get_user_language($this->get('owner')); $url = get_config('wwwroot') . 'view/view.php?id=' . $this->get('id'); require_once 'activity.php'; activity_occurred('maharamessage', array('users' => array($this->get('owner')), 'subject' => get_string_from_language($ownerlang, 'viewreleasedsubject', 'group', $this->get('title'), $submitinfo['name'], display_name($releaseuser, $this->get_owner_object())), 'message' => get_string_from_language($ownerlang, 'viewreleasedmessage', 'group', $this->get('title'), $submitinfo['name'], display_name($releaseuser, $this->get_owner_object())), 'url' => $url, 'urltext' => $this->get('title'))); }
public function release($releaseuser = null) { $submitinfo = $this->submitted_to(); if (is_null($submitinfo)) { throw new ParameterException("View with id " . $this->get('id') . " has not been submitted"); } $releaseuser = optional_userobj($releaseuser); if ($submitinfo['type'] == 'group') { $this->set('submittedgroup', null); } else { if ($submitinfo['type'] == 'host') { $this->set('submittedhost', null); } } $this->commit(); $ownerlang = get_user_language($this->get('owner')); require_once 'activity.php'; activity_occurred('maharamessage', array('users' => array($this->get('owner')), 'subject' => get_string_from_language($ownerlang, 'viewreleasedsubject', 'group'), 'message' => get_string_from_language($ownerlang, 'viewreleasedmessage', 'group', $submitinfo['name'], display_name($releaseuser, $this->get_owner_object())))); }