0byt3m1n1-V2
Path:
/
home
/
a
/
c
/
a
/
academiac
/
www
/
[
Home
]
File: com_mailto.tar
mailto.php 0000666 00000001106 15137250644 0006553 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_mailto * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; jimport('joomla.application.component.helper'); require_once JPATH_COMPONENT.'/helpers/mailto.php'; require_once JPATH_COMPONENT.'/controller.php'; $controller = JControllerLegacy::getInstance('Mailto'); $controller->registerDefaultTask('mailto'); $controller->execute(JRequest::getCmd('task')); //$controller->redirect(); mailto.xml 0000666 00000002164 15137250644 0006571 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension type="component" version="2.5" method="upgrade"> <name>com_mailto</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> <copyright>(C) 2005 - 2014 Open Source Matters. All rights reserved. </copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>2.5.0</version> <description>COM_MAILTO_XML_DESCRIPTION</description> <files folder="site"> <filename>controller.php</filename> <filename>index.html</filename> <filename>mailto.php</filename> <folder>views</folder> </files> <languages folder="site"> <language tag="en-GB">language/en-GB.com_mailto.ini </language> </languages> <administration> <files folder="admin"> <filename>index.html</filename> </files> </administration> <params> <param name="view" type="filelist" directory="/components/com_mailto/views" hide_none="1" hide_default="0" filter="." default="0" label="View Style" description="The view style for display" /> </params> </extension> controller.php 0000666 00000007175 15137250644 0007465 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_mailto * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * @package Joomla.Site * @subpackage com_mailto */ class MailtoController extends JControllerLegacy { /** * Show the form so that the user can send the link to someone * * @access public * @since 1.5 */ function mailto() { $session = JFactory::getSession(); $session->set('com_mailto.formtime', time()); JRequest::setVar('view', 'mailto'); $this->display(); } /** * Send the message and display a notice * * @access public * @since 1.5 */ function send() { // Check for request forgeries JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); $app = JFactory::getApplication(); $session = JFactory::getSession(); $db = JFactory::getDbo(); $timeout = $session->get('com_mailto.formtime', 0); if ($timeout == 0 || time() - $timeout < 20) { JError::raiseNotice(500, JText:: _ ('COM_MAILTO_EMAIL_NOT_SENT')); return $this->mailto(); } $SiteName = $app->getCfg('sitename'); $MailFrom = $app->getCfg('mailfrom'); $FromName = $app->getCfg('fromname'); $link = MailtoHelper::validateHash(JRequest::getCMD('link', '', 'post')); // Verify that this is a local link if (!$link || !JURI::isInternal($link)) { //Non-local url... JError::raiseNotice(500, JText:: _ ('COM_MAILTO_EMAIL_NOT_SENT')); return $this->mailto(); } // An array of email headers we do not want to allow as input $headers = array ( 'Content-Type:', 'MIME-Version:', 'Content-Transfer-Encoding:', 'bcc:', 'cc:'); // An array of the input fields to scan for injected headers $fields = array( 'mailto', 'sender', 'from', 'subject', ); /* * Here is the meat and potatoes of the header injection test. We * iterate over the array of form input and check for header strings. * If we find one, send an unauthorized header and die. */ foreach ($fields as $field) { foreach ($headers as $header) { if (strpos($_POST[$field], $header) !== false) { JError::raiseError(403, ''); } } } /* * Free up memory */ unset ($headers, $fields); $email = JRequest::getString('mailto', '', 'post'); $sender = JRequest::getString('sender', '', 'post'); $from = JRequest::getString('from', '', 'post'); $subject_default = JText::sprintf('COM_MAILTO_SENT_BY', $sender); $subject = JRequest::getString('subject', $subject_default, 'post'); // Check for a valid to address $error = false; if (! $email || ! JMailHelper::isEmailAddress($email)) { $error = JText::sprintf('COM_MAILTO_EMAIL_INVALID', $email); JError::raiseWarning(0, $error); } // Check for a valid from address if (! $from || ! JMailHelper::isEmailAddress($from)) { $error = JText::sprintf('COM_MAILTO_EMAIL_INVALID', $from); JError::raiseWarning(0, $error); } if ($error) { return $this->mailto(); } // Build the message to send $msg = JText :: _('COM_MAILTO_EMAIL_MSG'); $body = sprintf($msg, $SiteName, $sender, $from, $link); // Clean the email data $subject = JMailHelper::cleanSubject($subject); $body = JMailHelper::cleanBody($body); $sender = JMailHelper::cleanAddress($sender); // Send the email if (JFactory::getMailer()->sendMail($from, $sender, $email, $subject, $body) !== true) { JError::raiseNotice(500, JText:: _ ('COM_MAILTO_EMAIL_NOT_SENT')); return $this->mailto(); } JRequest::setVar('view', 'sent'); $this->display(); } } helpers/.htaccess 0000666 00000000177 15137250644 0010024 0 ustar 00 <FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>