<?php
include 'common.php';
if (($system->SETTINGS['contactseller'] == 'logged' && !$user->is_logged_in()) || $system->SETTINGS['contactseller'] == 'never')
{
if (isset($_SESSION['REDIRECT_AFTER_LOGIN']))
{
header('location: ' . $_SESSION['REDIRECT_AFTER_LOGIN']);
}
else
{
header('location: index.php');
}
}
if (!isset($_POST['auction_id']) && !isset($_GET['auction_id']))
{
$auction_id = $_SESSION['CURRENT_ITEM'];
}
else
{
$auction_id = intval($_GET['auction_id']);
}
$_SESSION['CURRENT_ITEM'] = $auction_id;
// Get item description
$query = "SELECT a.user, a.title, u.nick, u.email FROM " . $DBPrefix . "auctions a
LEFT JOIN " . $DBPrefix . "users u ON (u.id = a.user)
WHERE a.id = " . intval($auction_id);
$result = mysql_query($query);
$system->check_mysql($result, $query, __LINE__, __FILE__);
if (mysql_num_rows($result) == 0)
{
$TPL_error_text = $ERR_606;
}
else
{
$auction_data = mysql_fetch_assoc($result);
$seller_id = $auction_data['user'];
$item_title = $auction_data['title'];
$seller_nick = $auction_data['nick'];
$seller_email = $auction_data['email'];
}
if (isset($_POST['action']) || !empty($_POST['action']))
{
$cleaned_question = $system->cleanvars($_POST['sender_question']);
if ($system->SETTINGS['wordsfilter'] == 'y')
{
$cleaned_question = $system->filter($cleaned_question);
}
// Check errors
if (isset($_POST['action']) && (!isset($_POST['sender_name']) || !isset($_POST['sender_email']) || empty($seller_nick) || empty($seller_email)))
{
$TPL_error_text = $ERR_032;
}
if (empty($cleaned_question))
{
$TPL_error_text = $ERR_031;
}
if (isset($_POST['action']) && (!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i', $_POST['sender_email']) || !preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i', $seller_email)))
{
$TPL_error_text = $ERR_008;
}
if (empty($TPL_error_text))
{
$mes = $MSG['337'] . ': <i>' . $seller_nick . '</i><br><br>';
$emailer = new email_handler();
$emailer->assign_vars(array(
'SENDER_NAME' => $_POST['sender_name'],
'SENDER_QUESTION' => $cleaned_question,
'SENDER_EMAIL' => $_POST['sender_email'],
'SITENAME' => $system->SETTINGS['sitename'],
'SITEURL' => $system->SETTINGS['siteurl'],
'AID' => $auction_id,
'TITLE' => $item_title,
'SELLER_NICK' => $seller_nick
));
$item_title = $system->uncleanvars($item_title);
$subject = $MSG['335'] . ' ' . $system->SETTINGS['sitename'] . ' ' . $MSG['336'] . ' ' . $item_title;
$from_id = (!$user->logged_in) ? $_POST['sender_email'] : $user->user_data['id'];
$id_type = (!$user->logged_in) ? 'fromemail' : 'sentfrom';
$emailer->email_uid = $seller_id;
$emailer->email_sender($seller_email, 'send_email.inc.php', $subject);
$query = "INSERT INTO " . $DBPrefix . "messages (sentto, " . $id_type . ", sentat, message, subject, question)
VALUES (" . $seller_id . ", '" . $from_id . "', '" . time() . "', '" . $cleaned_question . "', '" . $system->cleanvars(sprintf($MSG['651'], $item_title)) . "', " . $auction_id . ")";
$system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
}
}
$template->assign_vars(array(
'MESSAGE' => (isset($mes)) ? $mes : '',
'ERROR' => (isset($TPL_error_text)) ? $TPL_error_text : '',
'AUCT_ID' => $auction_id,
'SELLER_NICK' => $seller_nick,
'SELLER_EMAIL' => $seller_email,
'SELLER_QUESTION' => (isset($_POST['sender_question'])) ? $_POST['sender_question'] : '',
'ITEM_TITLE' => $item_title,
'EMAIL' => ($user->logged_in) ? $user->user_data['email'] : ''
));
include 'header.php';
$template->set_filenames(array(
'body' => 'send_email.tpl'
));
$template->display('body');
include 'footer.php';
?>
Link gekopieerd
- Ariën -
11-08-2014 19:39
gewijzigd op 11-08-2014 19:43
Het is niet vervelend bedoeld, maar je geeft nu een code van 500 regels, waarvan niet iedereen deze zomaar gaat doorspitten. Ikzelf heb in ieder geval even gekeken...
email_user_needapproval.php, email_user_confirmation.php, email_user_approved.php. Daar moet je het mogelijk kunnen vinden.
Anyway, als je weinig van PHP en programmeren weet, dan denk ik persoonlijk dat je het beste een vacature kan aanmaken, volgens de daarvoor geldende voorwaarden, op deze site. Een andere oplossing is om support bij de maker van het script vragen.
Of anders zelf doen, maar zonder PHP-ervaring vergt het veel engelengeduld ;-)
Link gekopieerd
Hallo Aar,
Bedankt zover, Tja een vacature is ook een mogelijkheid, heb daarvoor alleen geen geld !
En support van de maker van het script adviseert om het domein en account naar zijn toko te verhuizen.
Ik ben met het mail verhaal al een week mee bezig!! :( is ook een bezigheid voor mij
website
Link gekopieerd
Pieter Jansen op 11/08/2014 19:46:03
Hallo Aar,
Bedankt zover, Tja een vacature is ook een mogelijkheid, heb daarvoor alleen geen geld!
Wie heeft het over geld? Een tagje met [vrijwillig] in de titel kan natuurlijk ook.
Link gekopieerd
?
Onbekende gebruiker
11-08-2014 20:56
Als ik het zo zie worden er HEUL veel dingen neergezet wat niet nodig is.
Test het eerst eens met wat minder informatie.
Gebruik je een SMTP of wordt het door mail(); van PHP afgehandeld.
Link gekopieerd
gezien het probleem, dat de mail blijft hangen, en de informatie van pcextreme.nl,, wordt de mail afgehandeld door mail(); van PHP. dat kan dus vertragen, hun advies was dus ook ook verstuur de mail via SMTP
Link gekopieerd
- Ariën -
11-08-2014 21:05
gewijzigd op 11-08-2014 21:06
Daarom via PHPmailer, die heeft daar ondersteuning voor.
Ik gok dat je het in
email_user_needapproval.php
email_user_confirmation.php
en
email_user_approved.php
kan vinden. Het ligt er net aan hoe je de activatie hebt ingesteld.
In ieder geval moet er, naar mijn idee, wel een verwijzing in deze bestanden zijn, naar de manier die gebruikt wordt om te mailen.
Toch blijft het vreemd dat PCextreme beweert dat de standaard mail() functie niet goed werkt. Voor mij zou dat een reden zijn om het vertrouwen in zo'n partij te verliezen.
Link gekopieerd
Hi,
Bedankt zover, ik ga eens zoeken in de bestanden die je hierboven benoemt, en zal de code die ik vindt hier plaatsen,
Had even de moet opgegeven maar zit toch weer na 1 uur achter het scherm,
ik oordeel ook niet verder over PCx, maar had na 8jaar klant toch wel wat meer support verwacht.
[size=xsmall]Toevoeging op 11/08/2014 22:01:46: [/size]
<?php
include 'common.php';
if (($system->SETTINGS['contactseller'] == 'logged' && !$user->is_logged_in()) || $system->SETTINGS['contactseller'] == 'never')
{
if (isset($_SESSION['REDIRECT_AFTER_LOGIN']))
{
header('location: ' . $_SESSION['REDIRECT_AFTER_LOGIN']);
}
else
{
header('location: index.php');
}
}
if (!isset($_POST['auction_id']) && !isset($_GET['auction_id']))
{
$auction_id = $_SESSION['CURRENT_ITEM'];
}
else
{
$auction_id = intval($_GET['auction_id']);
}
$_SESSION['CURRENT_ITEM'] = $auction_id;
// Get item description
$query = "SELECT a.user, a.title, u.nick, u.email FROM " . $DBPrefix . "auctions a
LEFT JOIN " . $DBPrefix . "users u ON (u.id = a.user)
WHERE a.id = " . intval($auction_id);
$result = mysql_query($query);
$system->check_mysql($result, $query, __LINE__, __FILE__);
if (mysql_num_rows($result) == 0)
{
$TPL_error_text = $ERR_606;
}
else
{
$auction_data = mysql_fetch_assoc($result);
$seller_id = $auction_data['user'];
$item_title = $auction_data['title'];
$seller_nick = $auction_data['nick'];
$seller_email = $auction_data['email'];
}
if (isset($_POST['action']) || !empty($_POST['action']))
{
$cleaned_question = $system->cleanvars($_POST['sender_question']);
if ($system->SETTINGS['wordsfilter'] == 'y')
{
$cleaned_question = $system->filter($cleaned_question);
}
// Check errors
if (isset($_POST['action']) && (!isset($_POST['sender_name']) || !isset($_POST['sender_email']) || empty($seller_nick) || empty($seller_email)))
{
$TPL_error_text = $ERR_032;
}
if (empty($cleaned_question))
{
$TPL_error_text = $ERR_031;
}
if (isset($_POST['action']) && (!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i', $_POST['sender_email']) || !preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i', $seller_email)))
{
$TPL_error_text = $ERR_008;
}
if (empty($TPL_error_text))
{
$mes = $MSG['337'] . ': <i>' . $seller_nick . '</i><br><br>';
$emailer = new email_handler();
$emailer->assign_vars(array(
'SENDER_NAME' => $_POST['sender_name'],
'SENDER_QUESTION' => $cleaned_question,
'SENDER_EMAIL' => $_POST['sender_email'],
'SITENAME' => $system->SETTINGS['sitename'],
'SITEURL' => $system->SETTINGS['siteurl'],
'AID' => $auction_id,
'TITLE' => $item_title,
'SELLER_NICK' => $seller_nick
));
$item_title = $system->uncleanvars($item_title);
$subject = $MSG['335'] . ' ' . $system->SETTINGS['sitename'] . ' ' . $MSG['336'] . ' ' . $item_title;
$from_id = (!$user->logged_in) ? $_POST['sender_email'] : $user->user_data['id'];
$id_type = (!$user->logged_in) ? 'fromemail' : 'sentfrom';
$emailer->email_uid = $seller_id;
$emailer->email_sender($seller_email, 'send_email.inc.php', $subject);
$query = "INSERT INTO " . $DBPrefix . "messages (sentto, " . $id_type . ", sentat, message, subject, question)
VALUES (" . $seller_id . ", '" . $from_id . "', '" . time() . "', '" . $cleaned_question . "', '" . $system->cleanvars(sprintf($MSG['651'], $item_title)) . "', " . $auction_id . ")";
$system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
}
}
$template->assign_vars(array(
'MESSAGE' => (isset($mes)) ? $mes : '',
'ERROR' => (isset($TPL_error_text)) ? $TPL_error_text : '',
'AUCT_ID' => $auction_id,
'SELLER_NICK' => $seller_nick,
'SELLER_EMAIL' => $seller_email,
'SELLER_QUESTION' => (isset($_POST['sender_question'])) ? $_POST['sender_question'] : '',
'ITEM_TITLE' => $item_title,
'EMAIL' => ($user->logged_in) ? $user->user_data['email'] : ''
));
include 'header.php';
$template->set_filenames(array(
'body' => 'send_email.tpl'
));
$template->display('body');
include 'footer.php';
?>
Link gekopieerd
Hmm... send_email.inc.php lijkt me wat diepgaander.
Link gekopieerd