bis virtuemartversion 1.1
1. änderung in der datei
....administrator\components\com_virtuemart\html\c heckout.thankyou.php
am ende der datei "checkout.thankyou.php" hinzufügen
1.1 änderung in der dateiPHP-Code:<?php
/** Session aus der Tabelle "#__session" aktualisieren **/
require_once(CLASSPATH.'ps_session.php');
$sess = new ps_session();
$sessid = $sess->getSessionId();
$q = "UPDATE #__session SET username=0,guest=1,userid=0,usertype=0,gid=0 WHERE session_id='$sessid'";
$db->query($q);
/** Benutzerdaten aus der Tabelle "#__vm_user_info löschen" **/
$q = "DELETE FROM #__{vm}_user_info WHERE user_id='".$my->id."'";
$db->query($q);
/** User-Datensatz aus der Tabelle "#__users" löschen **/
$q = "DELETE FROM #__users WHERE id='".$my->id."' LIMIT 1";
$db->query($q);
?>
....administrator\components\com_virtuemart\html\s hop.browse.php
am anfang nach "Direct Access" hinzufügen
PHP-Code:/** USER aus abgerochenen Bestellungen entfernen die auch ihre Cookies gelöscht haben **/
$timeset = 3600; // zeitvorgabe in sekunden
$timestamp = (time() - $timeset);
$q = "DELETE FROM #__users WHERE unix_timestamp(registerDate) < (unix_timestamp(now()) - $timeset) AND username = 'hiddenshopper' OR username = 'hiddenshoppe0' OR username = 'hiddenshoppe1' OR username = 'hiddenshoppe2' OR username = 'hiddenshoppe3' OR username = 'hiddenshoppe4' OR username = 'hiddenshoppe5' OR username = 'hiddenshoppe6' OR username = 'hiddenshoppe7' OR username = 'hiddenshoppe8' OR username = 'hiddenshoppe9'";
$db->query($q);
$q = "DELETE FROM #__session WHERE time<'".$timestamp."' AND username = 'hiddenshopper' OR username = 'hiddenshoppe0' OR username = 'hiddenshoppe1' OR username = 'hiddenshoppe2' OR username = 'hiddenshoppe3' OR username = 'hiddenshoppe4' OR username = 'hiddenshoppe5' OR username = 'hiddenshoppe6' OR username = 'hiddenshoppe7' OR username = 'hiddenshoppe8' OR username = 'hiddenshoppe9'";
$db->query($q);
$q = "DELETE FROM #__{vm}_user_info WHERE cdate<'".$timestamp."' AND address_type_name='-default-'";
$db->query($q);
$query = "SELECT username FROM #__users WHERE gid='18' AND username = 'hiddenshopper' OR username = 'hiddenshoppe0' OR username = 'hiddenshoppe1' OR username = 'hiddenshoppe2' OR username = 'hiddenshoppe3' OR username = 'hiddenshoppe4' OR username = 'hiddenshoppe5' OR username = 'hiddenshoppe6' OR username = 'hiddenshoppe7' OR username = 'hiddenshoppe8' OR username = 'hiddenshoppe9'";
$database->setQuery($query);
$username = $database->loadResult();
if (($username == 'hiddenshopper') or ($username == 'hiddenshoppe0') or ($username == 'hiddenshoppe1') or ($username == 'hiddenshoppe2') or ($username == 'hiddenshoppe3') or ($username == 'hiddenshoppe4') or ($username == 'hiddenshoppe5') or ($username == 'hiddenshoppe6') or ($username == 'hiddenshoppe7') or ($username == 'hiddenshoppe8') or ($username == 'hiddenshoppe9')) {
}
else {
require_once(CLASSPATH.'ps_session.php');
$sess = new ps_session();
$sessid = $sess->getSessionId();
$q = "UPDATE #__session SET username=0,guest=1,userid=0,usertype=0,gid=0 WHERE session_id='$sessid'";
$db->query($q);
}
2. hyperlink zur bestellansicht in der "checkout.thankyou.php" ausblenden
3. den loginteil für benutzername und passwort ausblendenPHP-Code:<!-- Link zu der Bestellansicht ausblenden
<p><a href="<?php //$sess->purl(SECUREURL."index.php?page=account.order_details&order_id=". $order_id) ?>">
<?php //echo $VM_LANG->_PHPSHOP_ORDER_LINK ?></a>
</p>
-->
folgenden code in der "checkout.index.php" auskommentieren
die stelle findet man in der checkout.index.php ganz am ende
4. In der global konfiguration im virtuemart die stille (versteckte) nutzerregistrierung ----->aktivierenPHP-Code:<?php
include(PAGEPATH. 'checkout_register_form.php');
}
else { // user is not logged in
?>
<!--<fieldset> Registrierfeld deaktivieren
<legend><span class="sectiontableheader"><?php echo $VM_LANG->_PHPSHOP_RETURN_LOGIN ?></span></legend>
<br />
<?php
// include(PAGEPATH.'checkout.login_form.php');
?>
<br />
</fieldset><br />-->
<?php
?><br />
<!--<div class="sectiontableheader"><?php echo $VM_LANG->_PHPSHOP_NEW_CUSTOMER ?></div>-->
<br /><?php
include(PAGEPATH. 'checkout_register_form.php');
?>
<br />
<?php
}
}
}
else {
mosRedirect( $sess->url( 'index.php?page=shop.cart' ) );
}
?>
5. einstellungen in der Joomla globalen konfiguration ändern
- benutzerregistrierung erlauben --->ja
- aktivierung neuer accounts --->nein
6. Versenden der registrierungs-emails an user und admin deaktivieren
xxx\administrator\components\com_virtuemart\classe s\ps_shopper.php
username ändern auf"hiddenshopper"
PHP-Code:$_POST['name'] = $d['first_name']." ".$d['last_name'];
if( VM_SILENT_REGISTRATION == '1' ) {
//$silent_username = substr( str_replace( '-', '_', $d['email'] ), 0, 25 ); orginal
$silent_username = 'hiddenshopper'; // änderung
$db->query( 'SELECT username FROM `#__users` WHERE username=\''.$silent_username.'\'');
$i = 0;
while( $db->next_record()) {
$silent_username = substr_replace( $silent_username, $i, strlen($silent_username)-1 );
$silent_username = substr_replace( $silent_username, $i, strlen($silent_username)-1 );
$db->query( 'SELECT username FROM `#__users` WHERE username=\''.$silent_username.'\'');
$i++;
}
$_POST['username'] = $d['username'] = $silent_username;
$_POST['password'] = $d['password'] = mosMakePassword();
$_POST['password2'] = $_POST['password'];
}
7. hyperlinks zur bestellungen in den formularen entfernenPHP-Code:// Send email to user
if ($mosConfig_mailfrom != "" && $mosConfig_fromname != "") {
$adminName2 = $mosConfig_fromname;
$adminEmail2 = $mosConfig_mailfrom;
} else {
$query = "SELECT name, email"
. "\n FROM #__users"
. "\n WHERE LOWER( usertype ) = 'superadministrator'"
. "\n OR LOWER( usertype ) = 'super administrator'"
;
$database->setQuery( $query );
$rows = $database->loadObjectList();
$row2 = $rows[0];
$adminName2 = $row2->name;
$adminEmail2 = $row2->email;
}
// toni | email an user - registrierung - nicht senden
//mosMail($adminEmail2, $adminName2, $email, $subject, $message);
if( VM_SILENT_REGISTRATION != '1' ) {
mosMail($adminEmail2, $adminName2, $email, $subject, $message);
}
// Send notification to all administrators
$subject2 = sprintf (_SEND_SUB, $name, $mosConfig_sitename);
$message2 = sprintf (_ASEND_MSG, $adminName2, $mosConfig_sitename, $row->name, $email, $username);
$subject2 = vmHtmlEntityDecode($subject2, ENT_QUOTES);
$message2 = vmHtmlEntityDecode($message2, ENT_QUOTES);
// get superadministrators id
$admins = $acl->get_group_objects( 25, 'ARO' );
foreach ( $admins['users'] AS $id ) {
$query = "SELECT email, sendEmail"
. "\n FROM #__users"
."\n WHERE id = $id"
;
$database->setQuery( $query );
$rows = $database->loadObjectList();
$row = $rows[0];
if ($row->sendEmail) {
// toni email an admin - registrierung - nicht senden
//mosMail($adminEmail2, $adminName2, $row->email, $subject2, $message2);
}
}
if ( $mosConfig_useractivation == 1 ){
echo _REG_COMPLETE_ACTIVATE;
} else {
echo _REG_COMPLETE;
}
return true;
}
---
link zu meinem testshop da dürft ihr gerne auch testbestellungen machen
http://www.ausserlechner.net/hella/index.php
---


LinkBack URL
About LinkBacks
Zitieren

Lesezeichen