Files
@ a45f0dabc59c
Branch filter:
Location: hot67beta/components/com_user/models/remind.php
a45f0dabc59c
2.8 KiB
text/x-php
mneh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | <?php
/**
* @version $Id: remind.php 10752 2008-08-23 01:53:31Z eddieajau $
* @package Joomla
* @subpackage User
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant to the
* GNU General Public License, and as distributed it includes or is derivative
* of works licensed under the GNU General Public License or other free or open
* source software licenses. See COPYRIGHT.php for copyright notices and
* details.
*/
// No direct access
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
/**
* User Component Remind Model
*
* @package Joomla
* @subpackage User
* @since 1.5
*/
class UserModelRemind extends JModel
{
/**
* Registry namespace prefix
*
* @var string
*/
var $_namespace = 'com_user.remind.';
/**
* Takes a user supplied e-mail address, looks
* it up in the database to find the username
* and then e-mails the username to the e-mail
* address given.
*
* @since 1.5
* @param string E-mail address
* @return bool True on success/false on failure
*/
function remindUsername($email)
{
jimport('joomla.mail.helper');
global $mainframe;
// Validate the e-mail address
if (!JMailHelper::isEmailAddress($email))
{
$this->setError(JText::_('INVALID_EMAIL_ADDRESS'));
return false;
}
$db = &JFactory::getDBO();
$db->setQuery('SELECT username FROM #__users WHERE email = '.$db->Quote($email), 0, 1);
// Get the username
if (!($username = $db->loadResult()))
{
$this->setError(JText::_('COULD_NOT_FIND_EMAIL'));
return false;
}
// Push the email address into the session
$mainframe->setUserState($this->_namespace.'email', $email);
// Send the reminder email
if (!$this->_sendReminderMail($email, $username))
{
return false;
}
return true;
}
/**
* Sends a username reminder to the e-mail address
* specified containing the specified username.
*
* @since 1.5
* @param string A user's e-mail address
* @param string A user's username
* @return bool True on success/false on failure
*/
function _sendReminderMail($email, $username)
{
$config = &JFactory::getConfig();
$uri = &JFactory::getURI();
$url = $uri->toString( array('scheme', 'host', 'port')).JRoute::_('index.php?option=com_user&view=login', false);
$from = $config->getValue('mailfrom');
$fromname = $config->getValue('fromname');
$subject = JText::sprintf('USERNAME_REMINDER_EMAIL_TITLE', $config->getValue('sitename'));
$body = JText::sprintf('USERNAME_REMINDER_EMAIL_TEXT', $config->getValue('sitename'), $username, $url);
if (!JUtility::sendMail($from, $fromname, $email, $subject, $body))
{
$this->setError('ERROR_SENDING_REMINDER_EMAIL');
return false;
}
return true;
}
}
|