/**
  * Add feedback
  *
  * @param mixed $writerID
  * @param mixed $score
  * @param mixed $feedback
  * @param mixed $activityID
  * @param mixed $activityType
  * @return int|null|string|void
  */
 public function addFeedback($writerID, $score, $feedback, $activityID, $activityType = BuckysFeedback::ACTIVITY_TYPE_TRADE)
 {
     global $db;
     if (!is_numeric($activityID) || !is_numeric($writerID) || !is_numeric($score) || $feedback == '') {
         return;
     }
     // failed
     //If you left feedback already, then return
     if ($this->hasFeedback($writerID, $activityID, $activityType)) {
         return;
     }
     //exists
     $param = ['activityID' => $activityID, 'activityType' => $activityType, 'writerID' => $writerID, 'score' => $score, 'comment' => $feedback, 'createdDate' => date('Y-m-d H:i:s')];
     $otherUserID = null;
     switch ($activityType) {
         case BuckysFeedback::ACTIVITY_TYPE_TRADE:
             $tradeIns = new BuckysTrade();
             $tradeData = $tradeIns->getTradeByID($activityID);
             if (!$tradeData) {
                 return;
             }
             //no such trade
             if ($tradeData['sellerID'] == $writerID) {
                 $otherUserID = $param['receiverID'] = $tradeData['buyerID'];
                 $param['itemID'] = $tradeData['buyerItemID'];
             } else {
                 if ($tradeData['buyerID'] == $writerID) {
                     $otherUserID = $param['receiverID'] = $tradeData['sellerID'];
                     $param['itemID'] = $tradeData['sellerItemID'];
                 } else {
                     return;
                     //no rights
                 }
             }
             break;
         case BuckysFeedback::ACTIVITY_TYPE_SHOP:
             $shopOrderIns = new BuckysShopOrder();
             $orderData = $shopOrderIns->getOrderByID($activityID);
             if (!$orderData || $orderData['buyerID'] != $writerID) {
                 return;
             }
             //no such trade
             $otherUserID = $param['receiverID'] = $orderData['sellerID'];
             $param['itemID'] = $orderData['productID'];
             break;
         default:
             return;
             //no such cases
             break;
     }
     $newID = $db->insertFromArray(TABLE_FEEDBACK, $param);
     if ($newID && $otherUserID) {
         //Update TradeUser Table for rating calculation
         $this->_updateRanking($otherUserID);
     }
     //Create notification
     $tradeNotificationIns = new BuckysTradeNotification();
     $tradeNotificationIns->createNotification($otherUserID, $writerID, BuckysTradeNotification::ACTION_TYPE_FEEDBACK, $newID);
     return $newID;
 }
 /**
  * Add feedback
  *
  * @param integer $tradeID
  * @param integer $userID
  * @param integer $score : one of this two value, 1 & -1
  * @param string  $feedback
  * @return int
  */
 public function addFeedback($tradeID, $userID, $score, $feedback)
 {
     global $db;
     if (!is_numeric($tradeID) || !is_numeric($userID) || !is_numeric($score) || $feedback == '') {
         return;
     }
     // failed
     if ($this->getFeedbackByTradeID($tradeID)) {
         return;
     }
     //exists
     //Add
     $tradeIns = new BuckysTrade();
     $tradeData = $tradeIns->getTradeByID($tradeID);
     $otherUserID = null;
     if (!$tradeData) {
         return;
     }
     //no such trade
     if ($tradeData['sellerID'] == $userID) {
         $param = ['tradeID' => $tradeID, 'sellerID' => $tradeData['sellerID'], 'buyerID' => $tradeData['buyerID'], 'sellerToBuyerScore' => $score, 'sellerToBuyerFeedback' => $feedback, 'sellerToBuyerFeedbackCreatedAt' => date('Y-m-d H:i:s')];
         $otherUserID = $tradeData['buyerID'];
     } else {
         if ($tradeData['buyerID'] == $userID) {
             $param = ['tradeID' => $tradeID, 'sellerID' => $tradeData['sellerID'], 'buyerID' => $tradeData['buyerID'], 'buyerToSellerScore' => $score, 'buyerToSellerFeedback' => $feedback, 'buyerToSellerFeedbackCreatedAt' => date('Y-m-d H:i:s')];
             $otherUserID = $tradeData['sellerID'];
         } else {
             return;
             //no rights
         }
     }
     $newID = $db->insertFromArray(TABLE_TRADE_FEEDBACK, $param);
     if ($newID && $otherUserID) {
         //Update TradeUser Table for rating calculation
         $this->_updateRanking($otherUserID);
     }
     //Create notification
     $tradeNotificationIns = new BuckysTradeNotification();
     $tradeNotificationIns->createNotification($otherUserID, $userID, BuckysTradeNotification::ACTION_TYPE_FEEDBACK, $newID);
     return $newID;
 }
Exemplo n.º 3
0
/**
 * Save Tracking number
 */
function saveTrackingNumber()
{
    $userID = buckys_is_logged_in();
    if (!$userID) {
        //You should be logged in
        return;
    } else {
        $tradeIns = new BuckysTrade();
        $tradeID = buckys_escape_query_integer($_REQUEST['tradeID']);
        $trackingNo = buckys_escape_query_string($_REQUEST['trackingNo']);
        $tradeData = $tradeIns->getTradeByID($tradeID);
        if (empty($tradeData) || $tradeData['sellerID'] != $userID && $tradeData['buyerID'] != $userID) {
            //error, no permission
            echo json_encode(['success' => 0, 'msg' => "You do not have permission."]);
        } else {
            if ($tradeData['sellerID'] == $userID) {
                $tradeIns->updateTrade($tradeID, ['sellerTrackingNo' => $trackingNo]);
            } else {
                $tradeIns->updateTrade($tradeID, ['buyerTrackingNo' => $trackingNo]);
            }
            echo json_encode(['success' => 1, 'msg' => "You have saved tracking number successfully."]);
        }
    }
}
Exemplo n.º 4
0
/**
* Save Tracking number
* 
*/
function saveTrackingNumber()
{
    $userID = buckys_is_logged_in();
    if (!$userID) {
        //You should be logged in
        echo json_encode(array('success' => 0, 'msg' => "Please sign in to save tracking number."));
    } else {
        $tradeIns = new BuckysTrade();
        $tradeID = get_secure_integer($_REQUEST['tradeID']);
        $trackingNo = get_secure_string($_REQUEST['trackingNo']);
        $tradeData = $tradeIns->getTradeByID($tradeID);
        if (empty($tradeData) || $tradeData['sellerID'] != $userID && $tradeData['buyerID'] != $userID) {
            //error, no permission
            echo json_encode(array('success' => 0, 'msg' => "You do not have permission."));
        } else {
            if ($tradeData['sellerID'] == $userID) {
                $tradeIns->updateTrade($tradeID, array('sellerTrackingNo' => $trackingNo));
            } else {
                $tradeIns->updateTrade($tradeID, array('buyerTrackingNo' => $trackingNo));
            }
            echo json_encode(array('success' => 1, 'msg' => "You have saved tracking number successfully."));
        }
    }
}