Example #1
0
 public function profile_action()
 {
     PageLayout::addHeadElement("script", array('src' => $this->assets_url . "/javascripts/autoresize.jquery.min.js"), "");
     PageLayout::addHeadElement("script", array('src' => $this->assets_url . "/javascripts/blubberforum.js"), "");
     PageLayout::addHeadElement("script", array('src' => $this->assets_url . "/javascripts/formdata.js"), "");
     if (Request::get("extern")) {
         $this->user = BlubberExternalContact::find(Request::get("user_id"));
     } else {
         $this->user = new BlubberUser(Request::get("user_id"));
     }
     PageLayout::setTitle(htmlReady($this->user->getName()) . " - Blubber");
     PageLayout::addHeadElement("link", array('rel' => "alternate", 'type' => "application/atom+xml", 'href' => PluginEngine::getLink($this->plugin, array(), "forum/feed/" . $this->user->getId()), 'title' => "Blubber von " . get_fullname($user_id)));
     $this->threads = ForumPosting::getThreads(array('user_id' => $this->user->getId(), 'limit' => $this->max_threads + 1));
     $this->more_threads = count($this->threads) > $this->max_threads;
     $this->course_id = $_SESSION['SessionSeminar'];
     if ($this->more_threads) {
         $this->threads = array_slice($this->threads, 0, $this->max_threads);
     }
 }
 /**
  * Return the default title of the avatar.
  * @return string the default title
  */
 function getDefaultTitle()
 {
     return BlubberExternalContact::find($this->user_id)->name;
 }
Example #3
0
 /**
  * Current user is going to follow (add as buddy) the given user, who could
  * also be an external contact.
  */
 public function follow_user_action()
 {
     if (!$GLOBALS['perm']->have_perm("autor")) {
         throw new AccessDeniedException();
     }
     if (Request::get("external_contact")) {
         $user = BlubberExternalContact::find(Request::option("user_id"));
     } else {
         $user = new BlubberUser(Request::option("user_id"));
     }
     if (!$user->isNew()) {
         if (is_a($user, "BlubberExternalContact")) {
             $statement = DBManager::get()->prepare("INSERT IGNORE INTO blubber_follower " . "SET studip_user_id = :user_id, " . "external_contact_id = :contact_id, " . "left_follows_right = '1' " . "");
             $success = $statement->execute(array('user_id' => $GLOBALS['user']->id, 'contact_id' => $user->getId()));
             if ($success) {
                 NotificationCenter::postNotification('BlubberExternalContactDidAdd', $user);
             }
         } else {
             Contact::import(array('owner_id' => User::findCurrent()->id, 'user_id' => $user->id))->store();
         }
     }
     $this->render_json(array('success' => 1, 'message' => (string) MessageBox::success(_("Kontakt hinzugefĆ¼gt"))));
 }
Example #4
0
 /**
  * Returns all known users that have been sharing this thread.
  * @return array of \BlubberContact
  */
 public function getSharingUsers()
 {
     if ($this['context_type'] !== "public") {
         return array();
     }
     $get_shares = DBManager::get()->prepare("SELECT * FROM blubber_reshares WHERE topic_id = ? " . "");
     $get_shares->execute(array($this['root_id']));
     $shares = $get_shares->fetchAll(PDO::FETCH_ASSOC);
     $users = array();
     foreach ($shares as $share) {
         $users[] = $share['external_contact'] ? BlubberExternalContact::find($share['user_id']) : BlubberUser::find($share['user_id']);
     }
     return $users;
 }