예제 #1
0
 /**
  * Send a message
  *
  * @param   object  $database  Database
  * @param   string  $option    Name of the component
  * @param   object  $member    Current member
  * @return  mixed
  */
 public function send($database, $option, $member)
 {
     // Ensure the user is logged in
     if (User::isGuest()) {
         return false;
     }
     // Check for request forgeries
     Request::checkToken();
     // Incoming array of users to message
     $mbrs = array_map("trim", explode(',', Request::getVar('mbrs', array(), 'post')));
     //array to hold members
     $email_users = array();
     //
     foreach ($mbrs as $mbr) {
         // User ID
         if (is_numeric($mbr)) {
             $email_users[] = $mbr;
         } else {
             if (preg_match("/\\((\\d+)\\)/", $mbr, $matches)) {
                 preg_match("/\\((\\d+)\\)/", $mbr, $matches);
                 $email_users[] = $matches[1];
             } else {
                 // Username?
                 $usr = User::getInstance($mbr);
                 if ($id = $usr->get('id')) {
                     $email_users[] = $id;
                 } else {
                     // User not found
                     // Maybe it was a group?
                     $grp = Hubzero\User\Group::getInstance($mbr);
                     if ($grp && $grp->get('gidNumber')) {
                         $email_users = array_merge($email_users, $grp->get('members'));
                     }
                 }
             }
         }
     }
     // Incoming message and subject
     $subject = Request::getVar('subject', Lang::txt('PLG_MEMBERS_MESSAGES_SUBJECT_MESSAGE'));
     $message = Request::getVar('message', '');
     $no_html = Request::getInt('no_html', 0);
     if (!$subject || !$message) {
         if (!$no_html) {
             $this->addPluginMessage(Lang::txt('You must select a message recipient and enter a message.'), 'error');
             return $this->redirect(Route::url($member->link() . '&active=messages&action=new'));
         }
         return App::abort(500, Lang::txt('You must select a message recipient and enter a message.'));
     }
     // Build the "from" data for the e-mail
     $from = array();
     $from['name'] = $member->get('name');
     $from['email'] = $member->get('email');
     // Send the message
     if (!Event::trigger('xmessage.onSendMessage', array('member_message', $subject, $message, $from, $email_users, $option))) {
         $this->setError(Lang::txt('PLG_MEMBERS_MESSAGES_ERROR_MSG_USER_FAILED'));
     }
     // Determine if we're returning HTML or not
     // (if no - this is an AJAX call)
     if (!$no_html) {
         $this->addPluginMessage(Lang::txt('You have successfully sent a message.'), 'passed');
         return App::redirect(Route::url($member->link() . '&active=messages&task=inbox'));
     }
 }
예제 #2
0
echo $posts;
?>
 new post<?php 
if ($posts > 1) {
    echo 's';
}
?>
 across <?php 
echo $groups;
?>
 of your groups

=======================
<?php 
foreach ($this->posts as $group => $posts) {
    $group = Hubzero\User\Group::getInstance($group);
    echo $group->description;
    foreach ($posts as $post) {
        $inst = $post;
        ?>


<?php 
        echo User::getInstance($post->created_by)->get('name');
        ?>
 | <?php 
        echo Date::of($post->created)->toLocal('M j, Y g:i:s a');
        ?>

<?php 
        echo Hubzero\Utility\Sanitize::stripAll($inst->get('comment'));
예제 #3
0
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * HUBzero is a registered trademark of Purdue University.
 *
 * @package   hubzero-cms
 * @copyright Copyright 2005-2015 HUBzero Foundation, LLC.
 * @license   http://opensource.org/licenses/MIT MIT
 */
// No direct access
defined('_HZEXEC_') or die;
$group = Hubzero\User\Group::getInstance($this->group->gidNumber);
//get status
$status = '';
$options = '';
//determine group status
if ($group->get('published') && !User::isGuest()) {
    $members = $group->get('members');
    if (in_array(User::get('id'), $members)) {
        $status = 'member';
        $options = '<a class="cancel tooltips" href="' . Route::url('index.php?option=' . $this->option . '&cn=' . $group->get('cn') . '&task=cancel') . '" title="' . Lang::txt('COM_GROUPS_TOOLBAR_CANCEL') . '">' . Lang::txt('COM_GROUPS_TOOLBAR_CANCEL') . '</a>';
        $managers = $group->get('managers');
        if (in_array(User::get('id'), $managers)) {
            $status = 'manager';
            $options = ' <a class="customize tooltips" href="' . Route::url('index.php?option=' . $this->option . '&cn=' . $group->get('cn') . '&task=edit') . '" title="' . Lang::txt('COM_GROUPS_TOOLBAR_EDIT') . '">' . Lang::txt('COM_GROUPS_TOOLBAR_EDIT') . '</a>';
        }
    } else {