Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** @name ebay_bewertungsmodul.functions.includes.php* @description This file includes the functions for '../ebay_bewertungsmodul.php'.** @author Patrick Lautsch* @copyright 2011 Webagentur Niewerth* @package Content-management* @version* @license propietary*//*** Setzt eine Positive Bewertung bei eBay.** @param array* @param EbatNs_ServiceProxy-Object* @return array**/function leaveFeedback($positveBewertungen, $sp){for ( $i=0; $i<count($positveBewertungen); $i++ ){$req = new LeaveFeedbackRequestType();$req->ItemID = $positveBewertungen[$i]['ItemID'];$req->CommentText = getCommentText();$req->CommentType = 'Positive';$req->TransactionID = $positveBewertungen[$i]['TransactionID'];$req->TargetUser = $positveBewertungen[$i]['UserID'];//$res = $sp->LeaveFeedback($req);//errorDetection($res);setFeedbackInDB( $req->ItemID, $req->TransactionID, $req->CommentText, $req->CommentType );}}/*** Setzt in der Datenbank den abgegebnen Kommentar** @param int* @param int* @param string* @param string**/function setFeedbackInDB( $ItemID, $TransactionID, $CommentText, $CommentType ){// Parameter korrekt?if ( empty( $ItemID ) || empty( $TransactionID ) || empty( $CommentText ) || empty( $CommentType ) )die();// QUERY: Setzte in der Datenbank den Kommentar und den Kommentar Typ.// Die Identifikation der Transaction findet über das "Paar" $ItemID und $Tran$TransactionID statt.$sql = 'INSERT INTOeBay_Feedback(ItemID, TransactionID, CommentText, CommentType, FeedbackReceivedCommentType)VALUES("'.$ItemID.'", "'.$TransactionID.'", "'.$CommentText.'", "'.$CommentType.'", "Positive")';mysql_query( $sql ) or die( mail("info@weban.de", "eBay-Bewertungsmodul Fehler", mysql_errno() . ': ' . mysql_error() . '<hr />' . $sql) );}/*** Holt per Zufall einen Bewertungstext aus der Datenbank** @return string*/function getCommentText(){// QUERY: Hole aus der Tabelle eBay_settings,// alle Kommentare die eine ID haben die >=179 und <= 199 ist.$sql = 'SELECTInhalt AS feedbackFROMeBay_settingsWHERE(ID BETWEEN 179 AND 199)AND Inhalt != ""AND shops_id = '.$_GET['shops_id'].'';$result = mysql_query( $sql ) or die( mail("info@weban.de", "eBay-Bewertungsmodul Fehler", mysql_errno() . ': ' . mysql_error() . '<hr />' . $sql) );$i=0;while ( $row = mysql_fetch_assoc($result) ){$feedback_array[$i] = $row['feedback'];$i++;}// Anzahl der Zufallszahlen ist die Anzahl der abgefragten Kommentare$zufallszahl = rand( 0, ($i-1) );// Auswahl eines Kommentars auf Basis der Zufallszahl$feedback = $feedback_array[$zufallszahl];// Rückgabe des Kommentarsreturn $feedback;}/*** Returns the Path of the 'ConfDatei', which is needed for the constructor of the* 'EbatNs_Session'-Class** @param int* @return string**/function getConfDateiPath($shops_id){// Param. correct?if ( !is_int($shops_id) || $shops_id == 0 ){die('getConfDateiPath(): Variable \'shops_id\' is not int.');}// the select-statement to get the path of the 'confDatei'$sql = "SELECTInhaltFROMeBay_settingsWHERETyp = 'confDatei'AND shops_id = '" . $shops_id . "'";// execute the query$result = mysql_query( $sql ) or die( mail("info@weban.de", "eBay-Bewertungsmodul Fehler", mysql_errno() . ': ' . mysql_error() . '<hr />' . $sql) );// create an asso. array of the result$row = mysql_fetch_assoc( $result );// return the path of the 'confDatei'return (string)$row['Inhalt'];}/*** Überprüft die "Response" auf Fehler** @param mixed-Object**/function errorDetection($res){if (!isset($res)) die ('errorDetection: $res wurde nicht gesetzt!');if ( !($res->getAck() == 'Success') ){foreach ($res->getErrors() as $error){die("#" . $error->getErrorCode() . " " . htmlentities($error->getShortMessage()) . "/" . htmlentities($error->getLongMessage()) . "<br>");}}}/*** Holt das Transaktions-Array.** @param object* @return object*/function getTransactionArray($res){return $res->ItemsAwaitingFeedback->TransactionArray;}/*** Holt alle Positven Bewertungen aus dem Transaktions-Array,* in dem kein 'Seller' existiert (Nur Käufer werden bewertet, nicht Verkäufer!)* Des Weiteren erstellt diese Funktion einen Eintrag in 'eBay_Feedback',* wenn der Kommentar des Käufers nicht positiv ist.** @param array* @return array*/function getTransactionWithPositiveFeedback($transactionArray){$i = 0;foreach ($transactionArray as $taa){if ( $taa->FeedbackReceived->CommentType == 'Positive' && !isset($taa->Item->Seller) ){$transaction[$i]['ItemID'] = $taa->Item->ItemID;$transaction[$i]['TransactionID'] = $taa->TransactionID;$transaction[$i]['UserID'] = $taa->Buyer->UserID;$i++;}if ( ($taa->FeedbackReceived->CommentType == 'Neutral' || $taa->FeedbackReceived->CommentType == 'Negative') && !isset($taa->Item->Seller) ){$sql = 'INSERT INTOeBay_Feedback(ItemID,TransactionID,FeedbackReceivedCommentType)VALUES('.$taa->Item->ItemID.','.$taa->TransactionID.',"'.$taa->FeedbackReceived->CommentType.'")';// execute the query$result = mysql_query( $sql ) or die( mail("info@weban.de", "eBay-Bewertungsmodul Fehler", mysql_errno() . ': ' . mysql_error() . '<hr />' . $sql) );}}return $transaction;}?>