Beispiel #1
0
 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')));
 }
Beispiel #2
0
/**
 * 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);
}
Beispiel #3
0
 /**
  * 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')));
 }
Beispiel #5
0
 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()))));
 }