View previous topic :: View next topic
Author
Message
jurka Joined: 26 Aug 2004 Posts: 1088 Location: Zagreb
Posted: 14.03.2006 00:16 Post subject: muči me kontakt forma
problem je sljedeći. imam textpattern cms, i instaliran plug-in za kontakt formu sljedećeg koda
Code: function zem_contact($atts, $thing='') {
global $zem_contact_error, $sitename, $zem_contact_from, $zem_contact_nonce, $zem_contact_form;
$form = (empty($atts['form']) ? '' : $atts['form']);
$thanksform = (empty($atts['thanksform']) ? '' : $atts['thanksform']);
$thanks = (empty($atts['thanks']) ? '<ul><li>Thank you for your enquiry. We will contact you as soon as possible! </li></ul>' : $atts['thanks']);
$mailto = (empty($atts['mailto']) ? '' : $atts['mailto']);
$mailfrom = (empty($atts['mailfrom']) ? '' : $atts['mailfrom']);
$showinput = isset($atts['showinput']) ? $atts['showinput'] : 1;
$showerror = isset($atts['showerror']) ? $atts['showerror'] : 1;
if (!$mailto)
return '<ul><li>No mailto address specified</li></ul>';
if ($form)
$Form = fetch("Form","txp_form","name",$form);
else
$form = $thing;
if (empty($form)) {
$form =<<<EOF
<txp:zem_contact_text label="Enter your name" /><br />
<txp:zem_contact_email /><br />
<txp:zem_contact_textarea /><br />
<txp:zem_contact_submit />
EOF;
}
if ($thanksform)
$thanks = fetch("Form","txp_form","name",$thanksform);
$zem_contact_nonce = md5(uniqid(rand(), true));
safe_insert("txp_discuss_nonce", "issue_time=now(), nonce='$zem_contact_nonce'");
$f = parse($form);
$out = '';
if (is_array($zem_contact_error) and count($zem_contact_error)) {
if ($showerror) {
$out .= "<ul>\n";
foreach($zem_contact_error as $err) {
$out .= "<li>$err</li>\n";
}
$out .= "</ul>\n";
}
}
elseif ($showinput and is_array($zem_contact_form) and ps('zem_contact_submit')) {
$from = ($mailfrom ? $mailfrom : $zem_contact_from);
$headers = (empty($from) ? '' : "From: $from\r\n");
if ($mailfrom)
$headers .= "Reply-To: $zem_contact_from\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers .= "Content-Type: text/plain; charset=\"UTF-8\"\r\n";
$msg = '';
foreach ($zem_contact_form as $k=>$v)
$msg .= "$k: ".htmlspecialchars($v)."\n";
$r = mail($mailto, "Email enquiry for $sitename", $msg, $headers);
if ($r) {
$_POST = array();
$out .= $thanks;
$f = parse($form);
}
else {
$out .= "<p>Unable to send email</p>";
}
}
if ($showinput)
$out .= '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'
. $f
. '</form>';
return $out;
}
function zem_contact_text($atts) {
global $zem_contact_error, $zem_contact_form;
$label = (empty($atts['label']) ? 'Text' : $atts['label']);
$name = (empty($atts['name']) ? preg_replace('/\W/', '', $label) : $atts['name']);
$break = (!isset($atts['break']) ? '<br />' : $atts['break']);
$size = (empty($atts['size']) ? '' : $atts['size']);
$min = (empty($atts['min']) ? 0 : $atts['min']);
$max = (!isset($atts['max']) ? 100 : $atts['max']);
$default = (empty($atts['default']) ? '' : $atts['default']);
$required = (empty($atts['required']) ? false : true);
$size = ($size ? 'size="'.(int)$size.'"' : '');
$maxlength = ($max ? 'maxlength="'.(int)$max.'"' : '');
$default = ($default ? 'value="'.$default.'"' : '');
$v = (ps($name) ? ps($name) : $default);
if ($v and $max)
$v = substr($v, 0, $max);
if (ps('zem_contact_submit') and $required and empty($v))
$zem_contact_error[] = "Required field $label is missing";
elseif (ps($name) and $min and strlen($v) < $min)
$zem_contact_error[] = "$label must be at least $min characters";
elseif (ps($name))
$zem_contact_form[$label] = $v;
$l = ($required ? "$label" : $label);
return '<label for="'.$name.'">'.$l.':</label>'.
$break.
'<input type="text" name="'.$name.'" id="'.$name.'" value="'.htmlentities($v).'" '.$size.' '.$maxlength.' />';
}
function zem_contact_textarea($atts) {
global $zem_contact_error, $zem_contact_form;
$label = (empty($atts['label']) ? 'Message' : $atts['label']);
$name = (empty($atts['name']) ? preg_replace('/\W/', '', $label) : $atts['name']);
$break = (!isset($atts['break']) ? '<br />' : $atts['break']);
$cols = (empty($atts['cols']) ? '34' : $atts['cols']);
$rows = (empty($atts['rows']) ? '6' : $atts['rows']);
$min = (empty($atts['min']) ? 0 : $atts['min']);
$max = (!isset($atts['max']) ? 10000 : $atts['max']);
$default = (empty($atts['default']) ? '' : $atts['default']);
$required = (empty($atts['required']) ? false : true);
$v = (ps($name) ? ps($name) : $default);
if (ps($name) and $max)
$v = substr($v, 0, $max);
if (ps('zem_contact_submit') and $required and empty($v))
$zem_contact_error[] = "Required field $label is missing";
elseif (ps($name) and $min and strlen($v) < $min)
$zem_contact_error[] = "$label must be at least $min characters";
elseif (ps($name))
$zem_contact_form[$label] = $v;
$l = ($required ? "$label" : $label);
return '<label for="'.$name.'">'.$l.':</label>'.
$break.
'<'.'textarea name="'.$name.'" id="'.$name.'" rows="'.$rows.'" cols="'.$cols.'">'.htmlentities($v).'<'.'/textarea>';
}
function zem_contact_email($atts) {
global $zem_contact_error, $zem_contact_form, $zem_contact_from;
$atts = array_merge(array('label'=>'Email', 'required'=>'1'), $atts);
$label = (empty($atts['label']) ? 'Email' : $atts['label']);
$name = (empty($atts['name']) ? preg_replace('/\W/', '', $label) : $atts['name']);
if (ps('zem_contact_submit')) {
$email = ps($name);
if (!preg_match('/^[\w._-]+@([\w-]+\.)+[\w-]+$/', $email))
$zem_contact_error[] = "'$email' is not a valid email address";
elseif (preg_match("/@(.+)$/", $email, $match)) {
$domain = $match[1];
$mx = 0;
if (is_callable('getmxrr')) {
$dummy = array();
$mx = @getmxrr($domain, $mx);
}
if (!$mx and (@gethostbyname($domain) == $domain))
$zem_contact_error[] = "Domain '$domain' is not a valid email host";
else
$zem_contact_from = $email;
}
else
$zem_contact_from = $email;
}
return zem_contact_text($atts);
}
function zem_contact_select($atts) {
global $zem_contact_error, $zem_contact_form;
$delim = empty($atts['delim']) ? ',' : $atts['delim'];
$list = empty($atts['list']) ? 'General enquiry' : $atts['list'];
$selected = empty($atts['selected']) ? '' : $atts['selected'];
$label = (empty($atts['label']) ? 'Option' : $atts['label']);
$name = (empty($atts['name']) ? preg_replace('/\W/', '', $label) : $atts['name']);
$break = (!isset($atts['break']) ? '<br />' : $atts['break']);
$required = (empty($atts['required']) ? false : true);
$list = split($delim, $list);
$list = array_map('trim', $list);
$v = (ps($name) ? ps(name) : $selected);
if (ps('zem_contact_submit') and $required and empty($v))
$zem_contact_error[] = "Required field $label is missing";
elseif (ps($name) and !in_array($v, $list))
$zem_contact_error[] = "Unknown $label $v";
elseif (ps($name))
$zem_contact_form[$label] = $v;
$out = '';
for ($i=0; $i < count($list); $i++) {
if ($list[$i] == $selected)
$out .= '<option selected=1>'.$list[$i]."</option>\n";
else
$out .= '<option>'.$list[$i]."</option>\n";
}
$l = ($required ? "<b>$label</b>" : $label);
return '<label for="'.$name.'">'.$l.':</label>'.
$break.
'<select name="'.$name.'">'.$out.'</select>';
}
function zem_contact_checkbox($atts) {
global $zem_contact_error, $zem_contact_form;
$label = (empty($atts['label']) ? 'Checkbox' : $atts['label']);
$name = (empty($atts['name']) ? preg_replace('/\W/', '', $label) : $atts['name']);
$break = (!isset($atts['break']) ? '<br />' : $atts['break']);
$checked = empty($atts['checked']) ? 0 : 1;
$required = (empty($atts['required']) ? false : true);
$v = (ps('zem_contact_submit') ? (bool)ps($name) : '');
if (ps('zem_contact_submit') and $required and empty($v))
$zem_contact_error[] = "Required field $label is missing";
elseif (ps('zem_contact_submit'))
$zem_contact_form[$label] = ($v ? 'Yes' : 'No');
$l = ($required ? "<b>$label</b>" : $label);
return '<input type="checkbox" name="'.$name.'"'.
($checked ? ' checked="true"' : '').
'>'.
'<label for="'.$name.'">'.$l.'</label>'.
$break;
}
function zem_contact_serverinfo($atts) {
global $zem_contact_error, $zem_contact_form;
$name = (empty($atts['name']) ? '' : $atts['name']);
$label = (empty($atts['label']) ? $name : $atts['label']);
if ($name and ps('zem_contact_submit'))
$zem_contact_form[$label] = serverSet($name);
}
function zem_contact_submit($atts) {
global $zem_contact_nonce, $zem_contact_error;
$label = (empty($atts['label']) ? 'Send' : $atts['label']);
if (ps('zem_contact_submit')) {
$nonce = ps('zem_contact_nonce');
if (empty($nonce)) {
$zem_contact_error[] = "Required field nonce is missing";
}
else {
safe_delete("txp_discuss_nonce", "issue_time < date_sub(now(),interval 10 minute)");
$rs = safe_row("*", "txp_discuss_nonce", "nonce='$nonce' and used='0'");
if ($rs)
safe_update("txp_discuss_nonce", "used='1'", "nonce='$nonce'");
else
$zem_contact_error[] = "Form expired, please try again.";
}
}
return '<input type="hidden" name="zem_contact_nonce" value="'.$zem_contact_nonce.'" />'.
'<input type="submit" name="zem_contact_submit" value="'.$label.'" />';
}
čestitam onom kome se ovo dalo čitati
pošto nemam neko znanje programiranja obraćam se mi3 zajednici da mi pomogne. želio bi da kada netko upiše sve šta se treba upisati, klikom na submit skoči na anchor npr #contact. znači htio bi da mi gumb send osim što pošalje sve potrebne podatke ode na Code: <a name="contact"></a>
. znam da bi negdje u kodu trebao dodati Code: <a href="#contact">nešto</a>
ali problem je u tome što ne znam točno gdje. help?
e, da, to pokušavam staviti ovdje
_________________Jedan šest | Behance | Vimeo
Back to top
blackshtef mi3.crew Joined: 14 Sep 2003 Posts: 661
Posted: 14.03.2006 22:17 Post subject:
jel mi se to čini ili su neki postovi obrisani odavde?
zakleo bih se da sam danas vidio ovaj topic i da je netko odgovorio
Back to top
les Joined: 25 Oct 2004 Posts: 370
Posted: 14.03.2006 22:22 Post subject:
100% je bio bar jedan odgovor - i ja ga vidio...
Back to top
pez Joined: 10 Mar 2006 Posts: 50 Location: okolica Zagreba
Posted: 14.03.2006 22:52 Post subject:
ima dvije iste teme...
_________________ || http://www.lab404.net ||
Back to top
blackshtef mi3.crew Joined: 14 Sep 2003 Posts: 661
Posted: 15.03.2006 00:49 Post subject:
da, dva topica su ista...
Back to top
jurka Joined: 26 Aug 2004 Posts: 1088 Location: Zagreb
Posted: 15.03.2006 01:19 Post subject:
a ne kužim kako. ja sam htio obrisati dupli post, ali ga nisam vidio u rootu client sidea...?
_________________Jedan šest | Behance | Vimeo
Back to top
blackshtef mi3.crew Joined: 14 Sep 2003 Posts: 661
Posted: 15.03.2006 13:49 Post subject:
jurka wrote: a ne kužim kako. ja sam htio obrisati dupli post, ali ga nisam vidio u rootu client sidea ...?
pogledaj u root server sidea
Back to top
jurka Joined: 26 Aug 2004 Posts: 1088 Location: Zagreb
Back to top
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
Powered by phpBB © 2001, 2005 phpBB Group