Sponsor-Board.de
WHMCs Stornierte Produkte

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Community (/forumdisplay.php?fid=56)
+--- Forum: Hilfe (/forumdisplay.php?fid=102)
+---- Forum: Admin-Panels (/forumdisplay.php?fid=106)
+---- Thema: WHMCs Stornierte Produkte (/showthread.php?tid=40962)


WHMCs Stornierte Produkte - mech - 27.07.2013 00:59

Hallo zusammen,

gibt es für WHMCs eine Möglichkeit wenn Produkte Storniert wurden das diese dann auch nicht mehr in der Client Area dargestellt werden?

Rechnungen werden nicht erstellt das es sich um ein Free Product handelt.

Zb. eine automatisches Löschen über eine Hook? Oder gar als Modul?

Würde für den goldenen Tip 500 Pkt. spendieren.

Danke für eure Mithilfe, Gn8 ;D


RE: WHMCs Stornierte Produkte - noez - 27.07.2013 02:36

Hi,

mit API:Get_Clients_Products kannst du dir alle Produkte ausgeben lassen und dann selbst nach dem Status storniert filtern. Und dann gibts auch bestimmt ne Möglichkeit das irgendwie zu löschen.

Dir gehts aber ja nur um's Ausblenden: Kein Thema.

Gehe in das Wunschtemplate und öffne clientareaproducts.tpl. Dann suchst du:

Code:
{foreach from=$services item=service}


darunter fügst du nun

Code:
{if $service.rawstatus!="cancelled"}


ein. Sodass es nun heißt:


Code:
{foreach from=$services item=service}
{if $service.rawstatus!="cancelled"}


Danach suchst du das nächste "{foreachelse}" und fügst darüber ein "{/if}" ein, sodass nun

Code:
{/if}
{foreachelse}


dort steht.

Und siehe da: Alle stornierten Produkte sind für den User verschwunden.
Wenn dir das nicht reicht, müsste man dafür einen Cronjob Hook basteln der dann mit jedem Cronjob über die API die Arbeit erledigt, habe das jetzt aber nicht in 2-3 Minuten Morgens um fast 4 Uhr geschrieben, sorry Biggrin Müsste ich dann morgen machen. Meld dich einfach mal und sag ob's geklappt/gereicht hat.


RE: WHMCs Stornierte Produkte - mech - 27.07.2013 09:18

Hey, vielen Dank für die ausführliche Beschreibung Wink - Noch ne Nachteule Wink

Das die Produkte ausgeblendet werden reicht leider nicht ganz aus. Ich habe noch einen Hook drin der verhindert das ein User sich ein neues Free Produkt bestellen kann sofern noch eins vorhanden ist. Und wenn die Produkte nur "ausgeblendet" werden erkennt WHMCs ja dennoch durch den DB Eintrag das noch ein Produkt vorhanden ist.

Ich denke das müsste man über nen neuen Hook erledigen wie du schon geschrieben hast.


RE: WHMCs Stornierte Produkte - noez - 27.07.2013 10:57

Hi,

statt noch einen Hook zu schreiben der das im Cron Verfahren löscht (Zieht ja auch ne Wartezeit mit sich) wäre es einfacher den free-Hook anzupassen, sodass er einfach stornierte Produkte ignoriert.

Wenn du magst kannst du mir den Hook per PN schicken, dann passe ich ihn dir an, ansonsten müsste ich den "nur 1 Free-Produkt"- Hook auch noch selbst irgendwo rumliegen haben.


RE: WHMCs Stornierte Produkte - Storage-Base.de - 27.07.2013 13:21

@Noez, hättest du das noch irgendwo? ^^

Ich stelle mir gerade die Frage welchen Hook ich dafür nehmen soll. Prinzipiell würde ich dann die Bestellungen nachträglich Stornieren.

@mech

Was ist denn dein Ziel damit? Ich verstehe das gerade nicht so ganz.

Alternativ kannst du doch direkt nen Query schreiben - ich finde die DB von WHMCS ist nicht schwer zu verstehen.


RE: WHMCs Stornierte Produkte - noez - 27.07.2013 13:24

@Storage:

PHP-Code:
<?php

if (!defined("WHMCS"))
        die(
"This file cannot be accessed directly");


function 
limitOrders($vars) {
        if(
mysql_num_rows(mysql_query("SELECT packageid FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'")) > 0) {

                if(
$packageid '2') {
                global 
$errormessage;
                
$errormessage "<li>Sorry, you already have a Free VPS account and there's a limit of one per user.</li>";
                }
        }
}
add_hook("ShoppingCartValidateCheckout"1"limitOrders");
?>


Quelle: Whmcs Forum, ist nicht meins. Finde mein eigenes nicht mehr :/ ([Link: Registrierung erforderlich]) - (Muss dann halt noch die ID anpassen vom Paket)


RE: WHMCs Stornierte Produkte - Storage-Base.de - 27.07.2013 13:27

@noez

Ahh alles klar - Danke! Biggrin

Hab eben schon angefangen ein Addon dafür zu schreiben um das Dynamisch eintragen zu können, nur bei dem Hook für das AddOn wusste ich nicht genau was ich nehmen sollte und vorallem wie ich das dem Kunden anzeigen Biggrin


RE: WHMCs Stornierte Produkte - noez - 27.07.2013 13:29

Hey, jetzt wo du den Hook ja hast, sollte das kein Problem mehr sein. Hatte das früher auch per Modul gelöst. Mittlerweile schränke ich das aber nicht mehr ein, meine Kunden sind einfach die liebsten, die bestellen nicht mehr als sie brauchen Biggrin


RE: WHMCs Stornierte Produkte - mech - 27.07.2013 13:41

Hey, mein Problem ist das der Hook halt weiterhin auf die Stornierten Bestellungen greift. Benutze auch den Hook den Noez gepostet hat.

[Link: Registrierung erforderlich]

Die Stonierten Bestellungen verbleiben ja im Kundeninterface nach der Stornierung der gelöschten Server.

Sodass wenn der Kunde dann nach 24 Stunden zb. erneut einen Testserver bestellen will der Hook das ablehnt weil er die Produkt id beim Kunden ja noch in der DB findet.

Dazu dachte ich mir das ich den Hook dann so anpasse das er bei der Bestellung nur noch überprüft ob das Produkt noch "Aktiv" ist, aber das will auch nicht wirklich fruchten.

Jetzt kann der Kunde komischerweise nur noch 1 Produkt generell Bestellen. Obwohl er doch eigentlich nur das Produkt mit der ID 23 checken müsste.

Hier mal meine Anpassung vielleicht gibts ja Vorschläge Smile

Code:
<?php

if (!defined("WHMCS"))
        die("This file cannot be accessed directly");


function limitOrders($vars) {
        if(mysql_num_rows(mysql_query("SELECT packageid FROM `tblhosting` WHERE `domainstatus` = 'Active' and  and `userid` = '{$_SESSION['uid']}'")) > 0)  {

                if($packageid = '23') {
                global $errormessage;
                $errormessage = "<li>Sorry, you already have a Free VPS account and there's a limit of one per user.</li>";
                }
        }
    
}
add_hook("ShoppingCartValidateCheckout", 1, "limitOrders");
?>




RE: WHMCs Stornierte Produkte - noez - 27.07.2013 13:49

Hi,

ich schreibe dir morgen irgendwann den fertigen Hook. Bin jetzt für heute erst mal weg.


RE: WHMCs Stornierte Produkte - mech - 27.07.2013 13:54

Ja, danke. Ich versuche das selbst nochmal anzupassen. Hab schon eine Idee. Sollte ich erfolgreich sein werde ich ihn hier zu verfügung stellen Wink


RE: WHMCs Stornierte Produkte - Storage-Base.de - 27.07.2013 14:09

mech schrieb:

Code:
<?php

if (!defined("WHMCS"))
        die("This file cannot be accessed directly");


function limitOrders($vars) {
        if(mysql_num_rows(mysql_query("SELECT packageid FROM `tblhosting` WHERE `domainstatus` = 'Active' AND `userid` = '{$_SESSION['uid']}'")) > 0)  {

                if($packageid = '23') {
                global $errormessage;
                $errormessage = "<li>Sorry, you already have a Free VPS account and there's a limit of one per user.</li>";
                }
        }
    
}
add_hook("ShoppingCartValidateCheckout", 1, "limitOrders");
?>


Du hattest in der WHERE Klausel einen Fehler: "and and", wenn du nur ein "AND" setzt, sollte es klappen.

Du kannst solche Querys eigentlich auch direkt in PMA ausführen, dann siehst du auch die Fehlermeldung.

//EDIT: Und "{$_SESSION['uid']}" müsste durch "$_SESSION['uid']" getauscht werden. Ggf. vorher nochmal "mysql_real_escape_string" drüber


RE: WHMCs Stornierte Produkte - mech - 27.07.2013 15:04

Danke für den Hinweis, das ist mir auch aufgefallen. Doch leider bleibt der Fehler das wenn der Hook ausgeführt wird die Benutzer kein zusätzliches Produkt mehr bestellen können wenn ein Free Server vorhanden ist Wink

Echt merkwürdig.


RE: WHMCs Stornierte Produkte - Storage-Base.de - 27.07.2013 15:07

Naja, die müssen dann erst das "Fehlerhafte" Produkt, also das doppelte, aus dem Warenkorb nehmen - ansonsten besteht der Fehler beim CheckOut ja weiterhin.

Die beste Lösung wäre, wenn WHMCS die Option direkt in die Produkte integriert.


RE: WHMCs Stornierte Produkte - mech - 27.07.2013 15:16

Ja, aber da werden wir sicher noch was drauf warten müssen Wink


RE: WHMCs Stornierte Produkte - Storage-Base.de - 27.07.2013 15:19

Ich hoffe nicht Biggrin

Aber dank dir ist mir aufgefallen dass dieser Hook kontraproduktiv ist. Wenn nun ein Kunde zwei Free Webspace Pakete nehmen will und eine Domain dazu, er dann die Meldung bekommt, haben wir diesen sicherlich verloren - anders können wir seine Bestellung annehmen ihm aber das weitere Paket einfach verweigern.


RE: WHMCs Stornierte Produkte - noez - 28.07.2013 19:51

Storage-Base.de schrieb:
Ich hoffe nicht Biggrin

Aber dank dir ist mir aufgefallen dass dieser Hook kontraproduktiv ist. Wenn nun ein Kunde zwei Free Webspace Pakete nehmen will und eine Domain dazu, er dann die Meldung bekommt, haben wir diesen sicherlich verloren - anders können wir seine Bestellung annehmen ihm aber das weitere Paket einfach verweigern.


Der Hook kann von der Logik her eigentlich nicht bei der ersten Bestellung greifen, oder? Dann hat der Kunde ja noch kein Paket in der DB.


RE: WHMCs Stornierte Produkte - Storage-Base.de - 28.07.2013 19:54

Ja, der Hook so in seiner Form, ich wollte den ja aber auch etwas umgestalten Wink

Aber das Beispiel wäre auch auf diesen Hook übertragbar. Der Kunde hat ein Freehosting Paket, bestellt sich noch eines mit kostenpflichtiger Domain, dann bekommt er den Fehler - die Wahrscheinlichkeit dass er den Vorgang komplett abbricht wäre größer.


RE: WHMCs Stornierte Produkte - noez - 28.07.2013 20:03

Aber mit dem Hook so wie er derzeit ist müsste es möglich sein am Anfang 6 Pakete auf einmal zu bestellen, da der Kunde zu dem Zeitpunkt laut Hook ja "sauber" ist.


RE: WHMCs Stornierte Produkte - Storage-Base.de - 28.07.2013 20:09

Richtig - das ist halt etwas was ich auch direkt unterbinden wollte. Aber wenn Aussicht auf ein kostenpflichtiges Produkt besteht, finde ich das nicht so prickelnd die Bestellung komplett zu verweigern.

Schöner wäre es wenn WHMCS da eine Lösung zu integriert die bei dem zweiten Paket direkt sagt "Das Produkt darf nur ein mal bestellt werden". Biggrin


RE: WHMCs Stornierte Produkte - noez - 28.07.2013 20:10

Ja, ist aber auch so generell alles möglich aber nur was Aufwändiger. z.B kann man ja im Bestellprozess checken wie oft das Produkt im Warenkorb ist und dann sagen "nene die ID maximal 1x".