Esempio n. 1
0
File: start.php Progetto: elgg/elgg
/**
 * Add messageboard post
 *
 * @param ElggUser $poster User posting the message
 * @param ElggUser $owner User who owns the message board
 * @param string $message The posted message
 * @param int $access_id Access level (see defines in elgglib.php)
 * @return bool
 */
function messageboard_add($poster, $owner, $message, $access_id = ACCESS_PUBLIC)
{
    $result_id = $owner->annotate('messageboard', $message, $access_id, $poster->guid);
    if (!$result_id) {
        return false;
    }
    elgg_create_river_item(array('view' => 'river/object/messageboard/create', 'action_type' => 'messageboard', 'subject_guid' => $poster->guid, 'object_guid' => $owner->guid, 'access_id' => $access_id, 'annotation_id' => $result_id));
    // Send notification only if poster isn't the owner
    if ($poster->guid != $owner->guid) {
        $subject = elgg_echo('messageboard:email:subject', array(), $owner->language);
        $body = elgg_echo('messageboard:email:body', array($poster->name, $message, elgg_get_site_url() . "messageboard/owner/" . $owner->username, $poster->name, $poster->getURL()), $owner->language);
        $params = ['action' => 'create', 'object' => elgg_get_annotation_from_id($result_id)];
        notify_user($owner->guid, $poster->guid, $subject, $body, $params);
    }
    return $result_id;
}
Esempio n. 2
0
/**
 * Notify $user that $sharer shared his $entity.
 *
 * @param type $user
 * @param type $sharer
 * @param type $entity 
 */
function share_notify_user(ElggUser $user, ElggUser $sharer, ElggEntity $entity)
{
    if (!$user instanceof ElggUser) {
        return false;
    }
    if (!$sharer instanceof ElggUser) {
        return false;
    }
    if (!$entity instanceof ElggEntity) {
        return false;
    }
    $title_str = $entity->title;
    if (!$title_str) {
        $title_str = elgg_get_excerpt($entity->description);
    }
    $site = get_config('site');
    $subject = elgg_echo('share:notifications:subject', array($sharer->name, $title_str));
    $body = elgg_echo('share:notifications:body', array($user->name, $sharer->name, $title_str, $site->name, $entity->getURL(), $sharer->getURL()));
    notify_user($user->guid, $sharer->guid, $subject, $body);
}
Esempio n. 3
0
/**
 * Apply the protection rules
 *
 * @param ElggUser $page_owner
 * @param ElggUser $user
 *
 * @access private
 * @return bool true you have access, false you don't
 */
function owner_gatekeeper_apply_rules(ElggUser $page_owner, ElggUser $user = null)
{
    if (!$page_owner instanceof ElggUser) {
        return false;
    }
    if (current_page_url() === elgg_normalize_url($page_owner->getURL())) {
        // profile page
        if (!owner_gatekeeper_protect_profile()) {
            return true;
        }
    } else {
        // content pages
        if (!owner_gatekeeper_protect_page_owner()) {
            return true;
        }
    }
    if (!$user instanceof ElggUser) {
        return false;
    }
    if (!owner_gatekeeper_match_group($page_owner, $user)) {
        return false;
    }
    return true;
}
Esempio n. 4
0
File: start.php Progetto: rasul/Elgg
/**
 * Add messageboard post
 *
 * @param ElggUser $poster User posting the message
 * @param ElggUser $owner User who owns the message board
 * @param string $message The posted message
 * @param int $access_id Access level (see defines in elgglib.php)
 * @return bool
 */
function messageboard_add($poster, $owner, $message, $access_id = ACCESS_PUBLIC)
{
    $result = $owner->annotate('messageboard', $message, $access_id, $poster->guid);
    if (!$result) {
        return false;
    }
    add_to_river('river/object/messageboard/create', 'messageboard', $poster->guid, $owner->guid, $access_id, 0, $result);
    // only send notification if not self
    if ($poster->guid != $owner->guid) {
        $subject = elgg_echo('messageboard:email:subject');
        $body = elgg_echo('messageboard:email:body', array($poster->name, $message, elgg_get_site_url() . "messageboard/" . $owner->username, $poster->name, $poster->getURL()));
        notify_user($owner->guid, $poster->guid, $subject, $body);
    }
    return $result;
}
Esempio n. 5
0
/**
 * Add messageboard post
 *
 * @param ElggUser $poster User posting the message
 * @param ElggUser $owner User who owns the message board
 * @param string $message The posted message
 * @param int $access_id Access level (see defines in elgglib.php)
 * @return bool
 */
function messageboard_add($poster, $owner, $message, $access_id = ACCESS_PUBLIC)
{
    $result_id = $owner->annotate('messageboard', $message, $access_id, $poster->guid);
    if (!$result_id) {
        return false;
    }
    elgg_create_river_item(array('view' => 'river/object/messageboard/create', 'action_type' => 'messageboard', 'subject_guid' => $poster->guid, 'object_guid' => $owner->guid, 'access_id' => $access_id, 'annotation_id' => $result_id));
    // only send notification if not self
    if ($poster->guid != $owner->guid) {
        $subject = elgg_echo('messageboard:email:subject');
        $body = elgg_echo('messageboard:email:body', array($poster->name, $message, elgg_get_site_url() . "messageboard/" . $owner->username, $poster->name, $poster->getURL()));
        notify_user($owner->guid, $poster->guid, $subject, $body);
    }
    return $result_id;
}
Esempio n. 6
0
 /**
  * @SWG\Definition(
  *  definition="User",
  *  required={"guid","name"},
  *  @SWG\Property(property="guid", type="integer"),
  *  @SWG\Property(property="name", type="string"),
  *  @SWG\Property(property="icon_url", type="string"),
  *  @SWG\Property(property="url", type="string")
  * )
  */
 private function parseUser(\ElggUser $user)
 {
     return array('guid' => $user->guid, 'name' => html_entity_decode($user->name, ENT_QUOTES), 'icon_url' => $user->getIconURL(), 'url' => $user->getURL());
 }