-
Posts
12 -
Joined
-
Last visited
Information
-
Sex
Женщина
im0not's Achievements
Explorer (1/14)
0
Reputation
-
Тема закрыта
-
Как сделать "прикрепить файл" (file attachment) в форму ОС стандартного контакта?
im0not replied to im0not's question in HTML Coding
В любом случае, спасибо за помощь и ввиду необходимости других доработок на уровне пхп+джумла, придется отдать это на аутсорс.- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with:
-
Сайт существует на движке Joomla. Сюда его не пишу, потому что нет защиты от спама, но есть достаточно конкретное ТЗ, которое могу выслать при личном общении. В общих чертах необходимо реализовать функции, указанные желтым. Комментарии - оранжевым. По стоимости - пишите в личку. Срок - до воскресенья. Все необходимые файлы, пароли, фтп будут предоставлены.
-
Как сделать "прикрепить файл" (file attachment) в форму ОС стандартного контакта?
im0not replied to im0not's question in HTML Coding
Так.. теперь пришло: ... Attach: <pre>1</pre> ...- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with:
-
Как сделать "прикрепить файл" (file attachment) в форму ОС стандартного контакта?
im0not replied to im0not's question in HTML Coding
Ну я вроде как бы уже давно поставила на печать во здесь: // Prepare email body $prefix = JText::sprintf('COM_CONTACT_ENQUIRY_TEXT', JURI::base()); $body = $prefix."\n".$name.' <'.$email.'>'."\r\n\r\n" .'Фамилия: '.$surname."\r\n\r\n" .'Телефон: '.$phone."\r\n\r\n" .'Должность, Организация: '.$positi."\r\n\r\n" .'Attach: '.$data."\r\n\r\n" .stripslashes($body); Видите в конце строчка .'Attach: '.$data."\r\n\r\n" И мне на почту приходит сообщение: ... Attach: Array ...- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with:
-
Как сделать "прикрепить файл" (file attachment) в форму ОС стандартного контакта?
im0not replied to im0not's question in HTML Coding
Сделала как сказал Fatal error: Call to private method ContactControllerContact::_sendEmail() from context 'JController' in /Applications/MAMP/htdocs/vega77web/components/com_contact/controllers/contact.php on line 197- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with:
-
Как сделать "прикрепить файл" (file attachment) в форму ОС стандартного контакта?
im0not replied to im0not's question in HTML Coding
Не получается загнать под спойлер, сорри.. Массив $data я пробовала распечатать, правда по дурацки - через $prefix = JText::sprintf там внизу - получила Array, но то о чем вы говорите, я вообще не представляю себе куда пихать( Вот где можно вставить ? <?php /** * @package Joomla.Site * @subpackage Contact * @copyright Copyright (C) 2005 - 2012 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.controllerform'); class ContactControllerContact extends JControllerForm { public function getModel($name = '', $prefix = '', $config = array('ignore_request' => true)) { return parent::getModel($name, $prefix, array('ignore_request' => false)); } public function submit() { // Check for request forgeries. JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); // Initialise variables. $app = JFactory::getApplication(); $model = $this->getModel('contact'); $params = JComponentHelper::getParams('com_contact'); $stub = JRequest::getString('id'); $id = (int)$stub; // Get the data from POST $data = JRequest::getVar('jform', array(), 'post', 'array'); $contact = $model->getItem($id); $params->merge($contact->params); // Check for a valid session cookie if($params->get('validate_session', 0)) { if(JFactory::getSession()->getState() != 'active'){ JError::raiseWarning(403, JText::_('COM_CONTACT_SESSION_INVALID')); // Save the data in the session. $app->setUserState('com_contact.contact.data', $data); // Redirect back to the contact form. $this->setRedirect(JRoute::_('index.php?option=com_contact&view=contact&id='.$stub, false)); return false; } } // Contact plugins JPluginHelper::importPlugin('contact'); $dispatcher = JDispatcher::getInstance(); // Validate the posted data. $form = $model->getForm(); if (!$form) { JError::raiseError(500, $model->getError()); return false; } $validate = $model->validate($form, $data); if ($validate === false) { // Get the validation messages. $errors = $model->getErrors(); // Push up to three validation messages out to the user. for ($i = 0, $n = count($errors); $i < $n && $i < 3; $i++) { if ($errors[$i] instanceof Exception) { $app->enqueueMessage($errors[$i]->getMessage(), 'warning'); } else { $app->enqueueMessage($errors[$i], 'warning'); } } // Save the data in the session. $app->setUserState('com_contact.contact.data', $data); // Redirect back to the contact form. $this->setRedirect(JRoute::_('index.php?option=com_contact&view=contact&id='.$stub, false)); return false; } // Validation succeeded, continue with custom handlers $results = $dispatcher->trigger('onValidateContact', array(&$contact, &$data)); foreach ($results as $result) { if ($result instanceof Exception) { return false; } } // Passed Validation: Process the contact plugins to integrate with other applications $results = $dispatcher->trigger('onsubmitContact', array(&$contact, &$data)); // Send the email $sent = false; if (!$params->get('custom_reply')) { $sent = $this->_sendEmail($data, $contact); } // Set the success message if it was a success if (!($sent instanceof Exception)) { $msg = JText::_('COM_CONTACT_EMAIL_THANKS'); } else { $msg = 'Упс!' ; } // Flush the data from the session $app->setUserState('com_contact.contact.data', null); // Redirect if it is set in the parameters, otherwise redirect back to where we came from if ($contact->params->get('redirect')) { $this->setRedirect($contact->params->get('redirect'), $msg); } else { $this->setRedirect(JRoute::_('index.php?option=com_contact&view=contact&id='.$stub, false), $msg); } return true; } private function _sendEmail($data, $contact) { $app = JFactory::getApplication(); $params = JComponentHelper::getParams('com_contact'); if ($contact->email_to == '' && $contact->user_id != 0) { $contact_user = JUser::getInstance($contact->user_id); $contact->email_to = $contact_user->get('email'); } $mailfrom = $app->getCfg('mailfrom'); $fromname = $app->getCfg('fromname'); $sitename = $app->getCfg('sitename'); $copytext = JText::sprintf('COM_CONTACT_COPYTEXT_OF', $contact->name, $sitename); /*****/ $name = $data['contact_name']; $surname = $data['contact_surname']; $email = $data['contact_email']; $phone = $data['contact_phone']; $positi = $data['contact_positis']; $subject = $data['contact_subject']; $body = $data['contact_message']; $attachmentos = $data['fileattachment']; // Prepare email body $prefix = JText::sprintf('COM_CONTACT_ENQUIRY_TEXT', JURI::base()); $body = $prefix."\n".$name.' <'.$email.'>'."\r\n\r\n" .'Фамилия: '.$surname."\r\n\r\n" .'Телефон: '.$phone."\r\n\r\n" .'Должность, Организация: '.$positi."\r\n\r\n" .'Attach: '.$data."\r\n\r\n" .stripslashes($body); /* $body = $prefix."\n".$name.' ('.$email.','.$surname.','.$phone.','.$positis.','.$organ.')'."\r\n\r\n".stripslashes($body);*/ $mail = JFactory::getMailer(); $mail->addRecipient($contact->email_to); $mail->addReplyTo(array($email, $name)); $mail->setSender(array($mailfrom, $fromname)); $mail->setSubject($sitename.': '.$subject); $mail->setBody($body); $mail->addAttachment($attachmentos); $sent = $mail->Send(); //If we are supposed to copy the sender, do so. /* // check whether email copy function activated if ( array_key_exists('contact_email_copy', $data) ) { $copytext = JText::sprintf('COM_CONTACT_COPYTEXT_OF', $contact->name, $sitename); $copytext .= "\r\n\r\n".$body; $copysubject = JText::sprintf('COM_CONTACT_COPYSUBJECT_OF', $subject); $mail = JFactory::getMailer(); $mail->addRecipient($email); $mail->addReplyTo(array($email, $name)); $mail->setSender(array($mailfrom, $fromname)); $mail->setSubject($copysubject); $mail->setBody($copytext); $sent = $mail->Send(); } */ return $sent; } }- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with:
-
Как сделать "прикрепить файл" (file attachment) в форму ОС стандартного контакта?
im0not replied to im0not's question in HTML Coding
Вот это то как раз и непонятно, потому что в джумле три файла в который можно это вставить.. Вот что у меня в contact.xml <field name="fileattachment" type="file" size="40" id="fileattachment" enctype="multipart/form-data" description="COM_CONTACT_CONTACT_FILEATTACH_DESC" label="COM_CONTACT_CONTACT_FILEATTACH_LABEL" default="0" /> Вот что в default_form.php <dt id="fileattach"><?php echo $this->form->getLabel('fileattachment'); ?></dt> <dd id="fileattach"><?php echo $this->form->getInput('fileattachment'); ?></dd> Вот что в contact.php // Get the data from POST $data = JRequest::getVar('jform', array(), 'post', 'array'); .... $name = $data['contact_name']; $surname = $data['contact_surname']; $email = $data['contact_email']; $phone = $data['contact_phone']; $positi = $data['contact_positis']; $subject = $data['contact_subject']; $body = $data['contact_message']; $attachmentos = $data['fileattachment']; ... $mail = JFactory::getMailer(); $mail->addRecipient($contact->email_to); $mail->addReplyTo(array($email, $name)); $mail->setSender(array($mailfrom, $fromname)); $mail->setSubject($sitename.': '.$subject); $mail->setBody($body); $mail->addAttachment($attachmentos); $sent = $mail->Send(); Добавлю что я шлю файл с локального сервера, если это имеет вообще значение..- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with:
-
Как сделать "прикрепить файл" (file attachment) в форму ОС стандартного контакта?
im0not replied to im0not's question in HTML Coding
Если бы еще понятно было куда это вставлять, учитывая структуру джумловской формы обратной связи ))- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with:
-
Как сделать "прикрепить файл" (file attachment) в форму ОС стандартного контакта?
im0not replied to im0not's question in HTML Coding
Да, но здесь я не понимаю именно вот этот момент: $mail->addAttachment(JPATH_BASE.DS.'tmp'.DS.'document.pdf'); Ведь JPATH_BASE указывает в корень приложения - тогда как файл грузится с любого места компа клиента. А второе - "document.pdf" - это какое-то конкретное имя и расширение.. а ведь у меня имя и расширение должно быть любое..- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with:
-
Как сделать "прикрепить файл" (file attachment) в форму ОС стандартного контакта?
im0not replied to im0not's question in HTML Coding
Ойойой! Я забыла написать что речь идет о Joomla.. У меня не получается именно туда вставить правильный код, чтоб письмо отправлялось Там как-то все взаимосвязано и используются свои, джумловские переменные, классы и методы. К тому же, сам путь к файлу - может быть любой - и с рабочего стола и с какой-нибудь папки.. Я могу выложить код, если нужно! Насколько я вижу проблему: В ситуацию $mail->addAttachment($attachmentos); в $attachmentos нужно прописать полный путь к загружаемому с ПК файлу, я в текущей ситуации у меня от ипута передается только название файла, например vasia.jpg. Но возможно проблема глубже..(- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with:
-
Привет! Собственно, я добавила само поле - но не могу заставить его работать - т.е. письмо приходит без прикрепленного файла. Я догадываюсь, что нужно ковырять contact.php, но в PHP я ноль, поэтому если можно максимально подробно
- 19 replies
-
- прикрепить файл
- attachment
-
(and 2 more)
Tagged with: