function postcampaigndoAction() { if ($this->autoAccountBinding() == false) { return; } if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($this->postToIndicate($formData)) { //save report successfully $consumer = $this->_currentUser; $survey_id = (int) $this->_request->getParam('i2_survey_id', 0); $code = $this->_request->getParam('id'); $currentTime = date("Y-m-d H:i:s"); $campaignModel = new Campaign(); $this->view->campaign = $campaignModel->fetchRow("post_campaign_survey=" . $survey_id . " or " . "post_campaign_survey_en=" . $survey_id); $db = Zend_Registry::get('db'); $campaignId = $this->view->campaign->id; $this->view->campaign_id = $campaignId; if ($campaignId > 0) { //change campaign_participation state $db = Zend_Registry::get('db'); $select2 = $db->select(); $select2->from('campaign_participation', '*')->join('campaign_invitation', 'campaign_invitation.id = campaign_participation.campaign_invitation_id', null)->where('campaign_invitation.consumer_id = ?', $consumer['id'])->where('campaign_invitation.campaign_id = ?', $campaignId)->where("campaign_participation.state != 'COMPLETED'"); $isExist = $db->fetchAll($select2); if ($isExist != null) { $campaing_participateModel = new CampaignParticipation(); $campaign_participation = $campaing_participateModel->fetchRow('campaign_invitation_id = ' . $isExist[0]['campaign_invitation_id']); $campaign_participation->state = 'COMPLETED'; $campaign_participation->save(); //add 200 points for member in reward_point_transaction_record $rewardPointTransactionRecordModel = new RewardPointTransactionRecord(); $rewardPointTransaction = array("consumer_id" => $consumer['id'], "date" => date("Y-m-d H:i:s"), "transaction_id" => "5", "point_amount" => "200"); $id = $rewardPointTransactionRecordModel->insert($rewardPointTransaction); } $this->view->message = "Success"; } } else { //failed $this->view->message = "Failed"; $this->render('failed'); } } else { $this->view->xianei_redirect = $this->xiaonei_redirect('home'); $this->render('redirect2home'); } }
function adminsaveurlreportstateAction() { $type = $this->_request->getParam('type'); $db = Zend_Registry::get('db'); if ($type == 'reportState') { $idStr = $this->_request->getParam('reportids'); $idStrArray = explode(',', $idStr); $reportIdArray = array(); $i = 0; $config = Zend_Registry::get('config'); $smtpSender = new Zend_Mail_Transport_Smtp($config->smtp->report->mail->server, array('username' => $config->smtp->report->mail->username, 'password' => $config->smtp->report->mail->password, 'auth' => $config->smtp->report->mail->auth, 'ssl' => $config->smtp->report->mail->ssl, 'port' => $config->smtp->report->mail->port)); // $smtpSender = new Zend_Mail_Transport_Smtp( // 'smtp.163.com',array( // 'username'=>'*****@*****.**', // 'password'=>'19990402', // 'auth'=>'login')); Zend_Mail::setDefaultTransport($smtpSender); foreach ($idStrArray as $idAndState) { if ($idAndState == '') { continue; } $idAndStateArray = explode('@', $idAndState); if ($idAndStateArray[1] == 'NEW') { continue; } if ($idAndStateArray[1] == 'APPROVED') { $urlreportModel = new UrlReport(); $row = $urlreportModel->fetchRow('id = ' . $idAndStateArray[0]); if ($row->state != 'NEW') { continue; } $row->state = $idAndStateArray[1]; if ($row->reward_point_transaction_record_id == null || $row->reward_point_transaction_record_id == '') { $rewardModel = new RewardPointTransactionRecord(); $reward = $rewardModel->createRow(); $reward->consumer_id = $idAndStateArray[2]; $reward->date = date("Y-m-d H:i:s"); $reward->transaction_id = 8; $reward->point_amount = 300; $row->reward_point_transaction_record_id = $reward->save(); } else { $rewardModel = new RewardPointTransactionRecord(); $reward = $rewardModel->fetchRow('id = ' . $row->reward_point_transaction_record_id); if ($reward != null) { $reward->date = date("Y-m-d H:i:s"); $reward->point_amount = 300; $reward->save(); } } $row->save(); //2011-05-13 change the rank of consumer $rankModel = new Rank(); $rankModel->changeConsumerRank($idAndStateArray[1]); } if ($idAndStateArray[1] == 'UNAPPROVED') { $urlreportModel = new UrlReport(); $row = $urlreportModel->fetchRow('id = ' . $idAndStateArray[0]); if ($row == null) { continue; } if ($row->reward_point_transaction_record_id != null && $row->reward_point_transaction_record_id != '') { $rewardModel = new RewardPointTransactionRecord(); $reward = $rewardModel->fetchRow('id = ' . $row->reward_point_transaction_record_id); if ($reward != null) { $db2 = $rewardModel->getAdapter(); $where = $db2->quoteInto('id = ?', $row->reward_point_transaction_record_id); $rows_affected = $rewardModel->delete($where); } } $db2 = $urlreportModel->getAdapter(); $where = $db2->quoteInto('id = ?', $idAndStateArray[0]); $rows_affected = $urlreportModel->delete($where); } $consumerModel = new Consumer(); $consumer = $consumerModel->fetchRow('id = ' . $idAndStateArray[2]); //send mail... if ($consumer->email == '') { continue; } $mail = new Zend_Mail('utf-8'); if ($consumer->language_pref != null && $consumer->language_pref == 'en') { $emailSubject = $this->view->translate('Admin_Reply_WOM_URLReport_Subject_en'); $emailBody = $this->view->translate('Admin_Reply_WOM_URLReport_Body_en'); } else { $emailSubject = $this->view->translate('Admin_Reply_WOM_URLReport_Subject_zh'); $emailBody = $this->view->translate('Admin_Reply_WOM_URLReport_Body_zh'); } $stringChange = array('?USERNAME?' => $consumer->name, '?YOURSTORY?' => $row->url, '?MYRESPONSE?' => $idAndStateArray[3]); $emailBody = strtr($emailBody, $stringChange); $langNamespace = new Zend_Session_Namespace('Lang'); if ($langNamespace->lang == 'en' || $langNamespace->lang == 'EN') { $mail->setSubject($emailSubject); } else { $mail->setSubject("=?UTF-8?B?" . base64_encode($emailSubject) . "?="); } $mail->setBodyText($emailBody); $mail->addTo($consumer->email); $mail->setFrom($config->smtp->report->mail->username, $this->view->translate('Wildfire')); // $mail->setFrom('*****@*****.**',$this->view->translate('Wildfire')); $mail->send(); // save email $urlreportreplyModel = new UrlReportReply(); $urlreportreply = $urlreportreplyModel->createRow(); $urlreportreply->date = date("Y-m-d H:i:s"); $urlreportreply->subject = $emailSubject; $urlreportreply->content = $idAndStateArray[3]; $urlreportreply->from = $config->smtp->report->mail->username; $urlreportreply->to = $consumer->email; $urlreportreply->url_report_id = $row->id; //2011-04-08 ham.bao separate the sessions with admin $urlreportreply->admin_id = $this->_currentAdmin->id; $urlreportreply->save(); } } }
function thankyouAction() { $this->view->activeTab = 'Polls'; $this->view->title = $this->view->title = $this->view->translate("Wildfire") . " - " . $this->view->translate("Thanks_For_Poll"); $consumer = $this->_currentUser; $id = (int) $this->_request->getParam('survey', 0); $profileSurveyModel = new ProfileSurvey(); $profileSurvey = $profileSurveyModel->fetchRow("i2_survey_id =" . $id . " or " . "i2_survey_id_en =" . $id); // $this->view->point = $profileSurvey->points; //check history to prevent multiple participation $db = Zend_Registry::get('db'); $select1 = $db->select(); $select1->from("poll_participation", "count(*)"); $select1->where("poll_participation.poll_id = ?", $profileSurvey->id); $select1->where("poll_participation.consumer_id = ?", $consumer->id); $participationCount = $db->fetchOne($select1); if ($participationCount == 0) { // check ws $indicate2Connect = new Indicate2_Connect(); $ids = array($id); $wsResult = $indicate2Connect->getAnswerSetCount($consumer->email, $ids); // Zend_Debug::dump($wsResult."------------".$profileSurvey->points);die; if ($wsResult > 0) { // add poll participation $currentTime = date("Y-m-d H:i:s"); $pollParticipationModel = new PollParticipation(); $pollParticipation = $pollParticipationModel->createRow(); $pollParticipation->poll_id = $profileSurvey->id; $pollParticipation->consumer_id = $consumer->id; $pollParticipation->date = $currentTime; $pollParticipation->save(); // add points $pointRecordModel = new RewardPointTransactionRecord(); $point = $pointRecordModel->createRow(); $point->consumer_id = $consumer->id; $point->transaction_id = 3; $point->date = $currentTime; $point->point_amount = $profileSurvey->points; $point->save(); //2011-05-13 change the rank of consumer $rankModel = new Rank(); $rankModel->changeConsumerRank($consumer->id); $this->view->point = $point->point_amount; } else { // add poll participation $currentTime = date("Y-m-d H:i:s"); $pollParticipationModel = new PollParticipation(); $pollParticipation = $pollParticipationModel->createRow(); $pollParticipation->poll_id = $profileSurvey->id; $pollParticipation->consumer_id = $consumer->id; $pollParticipation->date = $currentTime; $pollParticipation->save(); // add points $pointRecordModel = new RewardPointTransactionRecord(); $point = $pointRecordModel->createRow(); $point->consumer_id = $consumer->id; $point->transaction_id = 3; $point->date = $currentTime; $point->point_amount = $profileSurvey->points; $point->save(); //2011-05-13 change the rank of consumer $rankModel = new Rank(); $rankModel->changeConsumerRank($consumer->id); $this->view->point = $point->point_amount; } } }
function postcampaignfinishedAction() { $this->view->activeTab = 'Campaign'; $this->view->title = $this->view->title = $this->view->translate("Wildfire") . " - " . $this->view->translate("You_are_in"); $id = (int) $this->_request->getParam('survey'); $campaignModel = new Campaign(); $this->view->campaign = $campaignModel->fetchRow("post_campaign_survey=" . $id . " or " . "post_campaign_survey_en=" . $id); $db = Zend_Registry::get('db'); $campaignId = $this->view->campaign->id; $this->view->campaign_id = $campaignId; $consumer = $this->_currentUser; if ($campaignId > 0) { //change campaign_participation state $db = Zend_Registry::get('db'); $select2 = $db->select(); $select2->from('campaign_participation', '*')->join('campaign_invitation', 'campaign_invitation.id = campaign_participation.campaign_invitation_id', null)->where('campaign_invitation.consumer_id = ?', $consumer->id)->where('campaign_invitation.campaign_id = ?', $campaignId)->where("campaign_participation.state != 'COMPLETED'"); $isExist = $db->fetchAll($select2); // Zend_Debug::dump($isExist[0]['campaign_invitation_id']); if ($isExist != null) { $campaing_participateModel = new CampaignParticipation(); $campaign_participation = $campaing_participateModel->fetchRow('campaign_invitation_id = ' . $isExist[0]['campaign_invitation_id']); $campaign_participation->state = 'COMPLETED'; $campaign_participation->save(); //add 200 points for member in reward_point_transaction_record $rewardPointTransactionRecordModel = new RewardPointTransactionRecord(); $rewardPointTransaction = array("consumer_id" => $consumer->id, "date" => date("Y-m-d H:i:s"), "transaction_id" => "5", "point_amount" => "200"); $id = $rewardPointTransactionRecordModel->insert($rewardPointTransaction); //2011-05-13 change the rank of consumer $rankModel = new Rank(); $rankModel->changeConsumerRank($consumer->id); } } }
function adminajaxauditAction() { $this->_helper->layout->disableLayout(); $rewardPointTransactionRecordModel = new RewardPointTransactionRecord(); $rewardPointTransaction = array("consumer_id" => $this->_request->getParam('consumer'), "date" => date("Y-m-d H:i:s"), "transaction_id" => "11", "point_amount" => $this->_request->getParam('point')); $id = $rewardPointTransactionRecordModel->insert($rewardPointTransaction); $irrModel = new InboxRepliedRecord(); $irrModel->updatePointTransaction($this->_request->getParam('irrId'), $id); }
function adminsetselectedorderAction() { $type = $this->_request->getParam('type'); if ($type == 'orderState') { $idStr = $this->_request->getParam('orderids'); $idStrArray = explode(',', $idStr); $productOrderModel = new ProductOrder(); foreach ($idStrArray as $idAndState) { if (null == $idAndState || '' == $idAndState) { continue; } $idAndStateArray = explode('@', $idAndState); $productOrder = $productOrderModel->fetchRow('id = ' . $idAndStateArray[0]); // consumer cancel order if ($productOrder->state == 'CANCEL') { continue; } // confirm used point in table 'reward_point_transaction_record' $rewardPointTransactionRecordModel = new RewardPointTransactionRecord(); $rewardPointTransactionRecord = $rewardPointTransactionRecordModel->fetchRow('id = ' . $productOrder->reward_point_transaction_record_id); if ($rewardPointTransactionRecord == null) { continue; } else { $productModel = new Product(); $product = $productModel->fetchRow('id = ' . $productOrder->product_id); if ($product == null) { continue; } else { if ($idAndStateArray[1] == 'UNAPPROVED') { $rewardPointTransactionRecord->point_amount = 0; } } $rewardPointTransactionRecord->save(); } // change order state $currenttime = date("Y-m-d H:i:s"); $productOrder->state = $idAndStateArray[1]; $productOrder->handle_date = $currenttime; $productOrder->save(); } } $this->_helper->json('Success'); }
function ajaxaddrewardAction() { $this->_helper->layout->disableLayout(); $uid = $this->_request->getParam('uid'); $postData = $this->_request->getPost(); if (is_numeric($postData['score'])) { $rewardPointTransactionRecordModel = new RewardPointTransactionRecord(); $rewardPointTransactionRecordModel->insert(array('consumer_id' => $uid, 'transaction_id' => 7, 'point_amount' => $postData['score'], 'date' => date("Y-m-d H:i:s"))); $rankModel = new Rank(); $rankModel->changeConsumerRank($uid); $this->_helper->json("Success"); } else { $this->_helper->json("Wrong"); } }
function redeemAction() { $this->view->title = $this->view->translate("Wildfire") . " - " . $this->view->translate("GIFT_REDEEM"); if ($this->_request->isPost()) { $formData = $this->_request->getPost(); $cartNamespace = new Zend_Session_Namespace('Cart'); if ($cartNamespace->list == null) { $this->_redirect('gift/list'); return; } // validate consumer info $consumerModel = new Consumer(); $consumer = $consumerModel->fetchRow("email = '" . $this->_currentUser->email . "' and password = MD5('" . $formData['password'] . "')"); if ($consumer == null) { $this->_flashMessenger->addMessage($this->view->translate("Gift_consumer_info_incorrect")); $this->_flashMessenger->addMessage(true); $this->_redirect('gift/confirmcart'); return; } // check redeem condition $db = Zend_Registry::get('db'); $selectTotalCompletedCampaign = $db->select(); $selectTotalCompletedCampaign->from('campaign_participation', 'count(*)')->join('campaign_invitation', 'campaign_participation.campaign_invitation_id = campaign_invitation.id', null)->where('campaign_invitation.consumer_id = ?', $this->_currentUser->id); $this->view->completedCampaignAmount = $db->fetchOne($selectTotalCompletedCampaign); // $selectTotalSubmittedReport = $db->select(); // $selectTotalSubmittedReport->from('report', 'count(*)') // ->where('state = "APPROVED"') // ->where('consumer_id = ?', $this->_currentUser->id); // $this->view->submittedReportAmount = $db->fetchOne($selectTotalSubmittedReport); if ($this->view->completedCampaignAmount < 1 || $this->_currentUser->pest != null && $this->_currentUser->pest == 1) { $this->_flashMessenger->addMessage($this->view->translate("Gift_can_not_redeem_gift")); $this->_flashMessenger->addMessage(true); $this->_redirect('gift/confirmcart'); return; } // check the point $selectUsablePoints = $db->select(); $selectUsablePoints->from('reward_point_transaction_record', 'SUM(point_amount)')->where("consumer_id = ?", $this->_currentUser->id); $usablePoints = (int) $db->fetchOne($selectUsablePoints); $amountSelectedProductPoint = 0; foreach ($cartNamespace->list as $product) { $selectSelectedProductPoint = $db->select(); $selectSelectedProductPoint->from('product', 'point')->where("id = " . $product['id']); $selectedProductPoint = (int) $db->fetchOne($selectSelectedProductPoint); $amountSelectedProductPoint += $product['amount'] * $selectedProductPoint; } if ($amountSelectedProductPoint > $usablePoints) { $this->_flashMessenger->addMessage($this->view->translate("Gift_have_no_enough_point")); $this->_flashMessenger->addMessage(true); $this->_redirect('gift/confirmcart'); return; } // save shipping info $consumerModel = new Consumer(); $id = $this->_currentUser->id; $consumer = $consumerModel->find($id)->current(); $consumer->recipients_name = $formData['recipients_name']; $consumer->phone = $formData['phone']; $consumer->address1 = $formData['address1']; $consumer->postalcode = $formData['postalcode']; if ($formData['city'] != null && $formData['province'] != null) { $consumer->city = $formData['city']; $consumer->province = $formData['province']; } if ($formData['englishcity'] != null) { $consumer->city = $formData['englishcity']; $consumer->province = null; } if ($formData['province'] == '' && $formData['englishcity'] == null) { $consumer->city = null; $consumer->province = null; } $consumer->save(); // save exchange records $currentTime = date("Y-m-d H:i:s"); $rewardPointTransactionRecordModel = new RewardPointTransactionRecord(); $prodcutOrderModel = new ProductOrder(); $notificationModel = new Notification(); $total_redeem_point = 0; foreach ($cartNamespace->list as $product) { // add records to reward_point_transaction_record table $rewardPointTransactionRecord = array("consumer_id" => $this->_currentUser->id, "DATE" => $currentTime, "transaction_id" => '4', "point_amount" => -$product['amount'] * $product['point']); $transactionRecordId = $rewardPointTransactionRecordModel->insert($rewardPointTransactionRecord); // add records to product_order table $prodcutOrder = array('consumer_id' => $this->_currentUser->id, 'product_id' => $product['id'], 'create_date' => $currentTime, 'state' => 'NEW', 'reward_point_transaction_record_id' => $transactionRecordId, 'amount' => $product['amount']); $prodcutOrderId = $prodcutOrderModel->insert($prodcutOrder); // roll back if an exception occurred // ... $total_redeem_point += $product['amount'] * $product['point']; } // add notification $notificationModel->createRecord("REDEEM_POINT", $this->_currentUser->id, $total_redeem_point); $this->paidGifts = $cartNamespace->list; $cartNamespace->list = null; // show redeem.phtml with "... Successfully" $this->_flashMessenger->addMessage("Gift_submit_orders_successfully"); $this->_flashMessenger->addMessage(false); $this->_flashMessenger->addMessage($this->paidGifts); $this->_redirect('gift/thankyou'); } else { $this->_redirect('gift/list'); } }