/** * 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')); } }
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'));
* 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 {