Ejemplo n.º 1
0
 public function checkoutAction()
 {
     $auth = Zend_Auth::getInstance();
     $userId = $auth->getIdentity()->guid;
     $tblUser = new Kutu_Core_Orm_Table_User();
     $userDetailInfo = $tblUser->find($userId)->current();
     $tblUserFinance = new Kutu_Core_Orm_Table_UserFinance();
     $userFinanceInfo = $tblUserFinance->find($userId)->current();
     if (empty($userFinanceInfo)) {
         $finance = $tblUserFinance->fetchNew();
         $finance->userId = $userId;
         $finance->taxNumber = '';
         $finance->taxCompany = $userDetailInfo->company;
         $finance->taxAddress = $userDetailInfo->mainAddress;
         $finance->taxCity = $userDetailInfo->city;
         $finance->taxProvince = $userDetailInfo->state;
         $finance->taxCountryId = $userDetailInfo->countryId;
         $finance->taxZip = $userDetailInfo->zip;
         $finance->save();
     }
     $userFinanceInfo = $tblUserFinance->find($userId)->current();
     //print_r($_POST);
     $cart =& $_SESSION['jCart'];
     if (!is_object($cart)) {
         $cart = new jCart();
     }
     $this->view->cart = $cart;
     //print_r($_SESSION['jCart']);
     $this->view->userInfo = $userFinanceInfo;
     //if($this->_configStore->store->isClosed)
     if ($this->_isStoreClosed()) {
         $this->_forward('closed', 'store', 'site');
     }
 }
Ejemplo n.º 2
0
 function activateAction()
 {
     $sReturn = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
     $sReturn = base64_encode($sReturn);
     $r = $this->getRequest();
     $id = $r->getParam("id");
     $modelUser = new Kutu_Core_Orm_Table_User();
     $rowset = $modelUser->find(base64_decode($id))->current();
     if ($rowset) {
         if ($rowset->periodeId == 2) {
             $this->_forward('restricted', 'manager', 'membership', array('type' => 'user', 'num' => 106));
         } elseif ($rowset->periodeId == 3) {
             $this->_forward('restricted', 'manager', 'membership', array('type' => 'user', 'num' => 102));
         } elseif ($rowset->periodeId == 4) {
             $this->_forward('restricted', 'manager', 'membership', array('type' => 'user', 'num' => 'downgrade'));
         } else {
             $rowset->activationDate = date("Y-m-d h:i:s");
             $rowset->isActive = 1;
             $rowset->periodeId = 3;
             $rowset->save();
             $this->_forward('redirect-url', 'manager', 'membership', array('username' => $rowset->username, 'packageId' => $rowset->packageId, 'return' => $sReturn));
         }
     } else {
         $this->_forward('restricted', 'manager', 'membership', array('type' => 'user', 'num' => 105));
     }
 }
Ejemplo n.º 3
0
 public function changePassword($userGuid, $oldPassword, $newPassword)
 {
     $tblUser = new Kutu_Core_Orm_Table_User();
     $row = $tblUser->find($userGuid)->current();
     $obj = new Kutu_Crypt_Password();
     if ($obj->matchPassword($oldPassword, $row->password)) {
         $row->password = $obj->encryptPassword($newPassword);
         $row->save();
         return true;
     } else {
         return false;
     }
 }
Ejemplo n.º 4
0
 public function verifyoldpasswordAction()
 {
     $r = $this->getRequest();
     $oldPassword = $r->getParam('oldPassword');
     $auth = Zend_Auth::getInstance();
     $obj = new Kutu_Crypt_Password();
     $tblUser = new Kutu_Core_Orm_Table_User();
     $row = $tblUser->find($auth->getIdentity()->guid)->current();
     if ($obj->matchPassword($oldPassword, $row->password)) {
         die('1');
     } else {
         die('0');
     }
 }
Ejemplo n.º 5
0
 public function sendReceiptToUser($orderId, $paymentMethod = '', $statusText = '')
 {
     $config = new Zend_Config_Ini(KUTU_ROOT_DIR . '/application/configs/mail.ini', 'general');
     $siteOwner = "Hukumonline";
     $siteName = $config->mail->sender->support->name;
     $contactEmail = $config->mail->sender->support->email;
     $tblOrder = new Kutu_Core_Orm_Table_Order();
     $rowOrder = $tblOrder->find($orderId)->current();
     $userId = $rowOrder->userId;
     //first check if orderId status is PAID, then send the email.
     switch ($rowOrder->orderStatus) {
         case 1:
             die('ORDER STATUS IS NOT YET PAID. CAN NOT SEND RECEIPT!.');
             break;
         case 3:
             $orderStatus = "PAID";
             break;
         case 5:
             $orderStatus = "POSTPAID PENDING";
             break;
         case 6:
             $orderStatus = "PAYMENT REJECTED";
             break;
         case 7:
             $orderStatus = "PAYMENT ERROR";
             break;
         default:
             $orderStatus = "PAYMENT ERROR";
             break;
     }
     $tblUser = new Kutu_Core_Orm_Table_User();
     $rowUser = $tblUser->find($userId)->current();
     $userEmail = $rowUser->email;
     $userFullname = $rowUser->fullName;
     switch (strtolower($paymentMethod)) {
         case 'paypal':
         case 'manual':
         case 'bank':
         case 'postpaid':
         default:
             $message = "\t\t\t\t\t\r\nDear {$userFullname},\r\n\r\nThis is a payment receipt for Invoice # {$rowOrder->invoiceNumber}\r\n\r\nTotal Amount: USD {$rowOrder->orderTotal}\r\nTransaction #:\r\nTotal Paid: USD {$rowOrder->orderTotal}\r\nStatus: {$orderStatus}\r\nYour payment method is: {$paymentMethod}\r\n\r\nYou may review your invoice history at any time by logging in to your account " . KUTU_ROOT_URL . "/store/payment/list\r\n\r\nNote: This email will serve as an official receipt for this payment.\r\n\r\nSalam,\r\n\r\nHukumonline\r\n\r\n==============================";
     }
     $this->send($config->mail->sender->support->email, $config->mail->sender->support->name, $userEmail, '', "Hukumonline Receipt Invoice# " . $rowOrder->invoiceNumber, $message);
 }
Ejemplo n.º 6
0
 /**
  * _writeConfirmCorporateEmail
  * @return JSON
  */
 function _writeConfirmCorporateEmail($mailcontent, $fullname, $company, $payment, $disc, $total, $username, $guid, $email)
 {
     $obj = new Kutu_Crypt_Password();
     $mailcontent = str_replace('$fullname', $fullname, $mailcontent);
     $mailcontent = str_replace('$company', $company, $mailcontent);
     $mailcontent = str_replace('$timeline', $payment, $mailcontent);
     $mailcontent = str_replace('$disc', $disc, $mailcontent);
     $mailcontent = str_replace('$price', number_format($total), $mailcontent);
     $mailcontent = str_replace('$username1', $username, $mailcontent);
     $mailcontent = str_replace('$guid', $guid, $mailcontent);
     // table User
     $tblUser = new Kutu_Core_Orm_Table_User();
     $where = $tblUser->getAdapter()->quoteInto('company=?', $company);
     $rowUser = $tblUser->fetchAll($where, 'username ASC');
     $tag = '<table>';
     $tag .= '<tr><td><b>Username</b></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td><b>Password</b></td></tr>';
     foreach ($rowUser as $rowsetUser) {
         $tag .= '<tr><td>' . $rowsetUser->username . '</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>' . $obj->decryptPassword($rowsetUser->password) . '</td></tr>';
     }
     $tag .= '</table>';
     $mailcontent = str_replace('$tag', $tag, $mailcontent);
     $mail_body = $mailcontent;
     // parse ini_file
     $config = new Zend_Config_Ini(KUTU_ROOT_DIR . '/application/configs/mail.ini', 'mail');
     $mailAttempt = $this->add_mail($config->mail->sender->support->email, $email, $username, $config->mail->sender->support->name, $mail_body);
     // try to save mail before send
     if ($mailAttempt) {
         $sendAttempt = $this->send_mail();
         if ($sendAttempt) {
             $message = "Please check your email at {$email}!";
             // update user
             $rowUser = $tblUser->find($obj->decryptPassword($guid))->current();
             if ($rowUser) {
                 $rowUser->isEmailSent = 'Y';
                 $rowUser->save();
             }
         } else {
             $message = "Error send mail but register user successfully!<br>Please contact our customer service for more information";
         }
     } else {
         $message = "Error saving mail!";
     }
     return $message;
 }
Ejemplo n.º 7
0
 function processAction()
 {
     $formater = new Kutu_Core_Hol_User();
     $orderId = $this->_request->getParam('orderId');
     $packageId = $this->_request->getParam('packageId');
     $paymentSubscription = $this->_request->getParam('paymentSubscription');
     $this->_orderIdNumber = $orderId;
     if (empty($orderId)) {
         echo "kosong";
         die;
     }
     include_once KUTU_ROOT_DIR . '/application/models/Store.php';
     $modelAppStore = new App_Model_Store();
     if ($modelAppStore->isOrderPaid($orderId)) {
         //forward to error page
         $this->_helper->redirector->gotoSimple('error', 'store', 'hol-site', array('view' => 'orderalreadypaid'));
         die;
     }
     $tblOrder = new Kutu_Core_Orm_Table_Order();
     $items = $tblOrder->getOrderDetail($orderId);
     $tmpMethod = $this->_request->getParam('method');
     if (!empty($tmpMethod)) {
         $items[0]['paymentMethod'] = $tmpMethod;
     }
     $tblUser = new Kutu_Core_Orm_Table_User();
     $rowUser = $tblUser->find($items[0]['userId'])->current();
     $total = $formater->checkPromoValidation('Total', $packageId, $rowUser->promotionId, $paymentSubscription);
     switch ($items[0]['paymentMethod']) {
         case 'nsiapay':
             require_once 'PaymentGateway/Nsiapay.php';
             // include the class file
             $paymentObject = new Nsiapay();
             // initiate an instance of the class
             if ($this->_testMode) {
                 $paymentObject->enableTestMode();
             }
             $paymentObject->addField('TYPE', "IMMEDIATE");
             $subTotal = 0;
             for ($iCart = 0; $iCart < count($items); $iCart++) {
                 $i = $iCart + 1;
                 $basket[] = $items[$iCart]['documentName'] . "," . $items[$iCart]['price'] . ".00" . "," . $items[$iCart]['qty'] . "," . $items[$iCart]['finalPrice'] . ".00";
                 $subTotal += $items[$iCart]['price'] * $items[$iCart]['qty'];
             }
             $ca = implode(";", $basket);
             $merchantId = "000100090000028";
             $paymentObject->addField("BASKET", $ca);
             $paymentObject->addField("MERCHANTID", $merchantId);
             $paymentObject->addField("CHAINNUM", "NA");
             $paymentObject->addField("TRANSIDMERCHANT", $items[0]['invoiceNumber']);
             $paymentObject->addField("AMOUNT", $subTotal);
             $paymentObject->addField("CURRENCY", "360");
             $paymentObject->addField("PurchaseCurrency", "360");
             $paymentObject->addField("acquirerBIN", "360");
             $paymentObject->addField("password", "123456");
             $paymentObject->addField("URL", "http://hukumonline.pl");
             $paymentObject->addField("MALLID", "199");
             $paymentObject->addField("SESSIONID", Zend_Session::getId());
             $sha1 = sha1($subTotal . ".00" . $merchantId . "08iIWbWvO16w" . $items[0]['invoiceNumber']);
             //                echo $subTotal.".00".$merchantId."08iIWbWvO16w".$items[0]['invoiceNumber']."<br>";
             //                echo $sha1;die;
             $paymentObject->addField("WORDS", $sha1);
             //$paymentObject->dumpFields();
             $this->_helper->layout->disableLayout();
             $paymentObject->submitPayment();
             break;
         case 'manual':
         case 'bank':
             /*
              1. update order status
              2. redirect to instruction page 
             */
             //setting payment and status as pending (1), notify = 0, notes = 'paid with...'
             $this->updateInvoiceMethod($orderId, 'bank', 1, 0, 'paid with manual method');
             // HAP: i think we should send this notification when user were on page "Complete Order" and after confirmation made by user is approved;
             //$this->Mailer($orderId, 'admin-order', 'admin');
             //$this->Mailer($orderId, 'user-order', 'user');
             $this->_helper->redirector('instruction', 'payment', 'membership', array('orderId' => $orderId));
             break;
     }
 }
Ejemplo n.º 8
0
 function changeusernameAction()
 {
     $this->_helper->layout->setLayout('layout-hukumonlineid-ps');
     $auth = Zend_Auth::getInstance();
     if (!$auth->hasIdentity()) {
         $this->_forward('restricted', 'error', 'identity', array('type' => 'identity', 'num' => 101));
     } else {
         $guid = $auth->getIdentity()->guid;
         $tblUser = new Kutu_Core_Orm_Table_User();
         $rowUser = $tblUser->find($guid)->current();
         $this->view->row = $rowUser;
         $g = $this->getRequest();
         if ($g->isPost()) {
             $aData = $g->getParams();
             $aData['guid'] = $guid;
             try {
                 $hol = new Kutu_Core_Hol_User();
                 $rowUser = $hol->editprofile($aData);
                 $this->view->row = $rowUser;
                 $this->view->message = "Data has been successfully saved.";
             } catch (Zend_Exception $e) {
                 $this->view->message = $e->getMessage();
             }
         }
     }
 }
Ejemplo n.º 9
0
 private function _checkAuth()
 {
     $auth = Zend_Auth::getInstance();
     $userId = $auth->getIdentity()->guid;
     if (!$auth->hasIdentity()) {
         $this->_redirect(KUTU_ROOT_URL . '/helper/sso/login' . '?returnTo=' . $sReturn);
     } else {
         // [TODO] else: check if user has access to admin page
         $username = $auth->getIdentity()->username;
         $this->view->username = $username;
     }
     //$userId=$auth->getIdentity()->guid;
     $tblUser = new Kutu_Core_Orm_Table_User();
     $this->_userDetailInfo = $tblUser->find($userId)->current();
     $tblUserFinance = new Kutu_Core_Orm_Table_UserFinance();
     $this->_userInfo = $tblUserFinance->find($userId)->current();
     if (empty($this->_userInfo)) {
         $finance = $tblUserFinance->fetchNew();
         $finance['userId'] = $userId;
         $finance->save();
         $this->_userInfo = $tblUserFinance->find($userId)->current();
     }
 }
Ejemplo n.º 10
0
    public function Mailer($idOrder, $key, $userTo)
    {
        $mail = new PaymentGateway_HtmlMail();
        $tblSetting = new Kutu_Core_Orm_Table_PaymentSetting();
        $template = $tblSetting->fetchAll($tblSetting->select()->where("settingKey = '{$key}'"));
        $tblOrder = new Kutu_Core_Orm_Table_Order();
        $tblOrderDetail = new Kutu_Core_Orm_Table_OrderDetail();
        $rowset = $tblOrder->getOrderAndStatus($idOrder);
        //echo '<pre>';
        //print_r($_SESSION['_orderIdNumber']);
        $rowsetDetail = $tblOrderDetail->fetchAll($tblOrderDetail->select()->where("orderId = " . $idOrder));
        $tblConfirm = new Kutu_Core_Orm_Table_PaymentConfirmation();
        $unConfirmed = $tblConfirm->fetchAll($tblConfirm->select()->where("confirmed =0 AND orderId = " . $idOrder));
        $detail = "ORDER ID : " . $idOrder . '<br/>' . 'Detail : <br/><blockquote><ol>';
        foreach ($rowsetDetail as $row) {
            $detail .= '<li><ul>
							<li>Document Name: ' . $row->documentName . '</li>
							<li>Quantity : ' . $row->qty . '</li>
							<li>Price : USD ' . number_format($row->price, 2) . ' </li>
							<li>Tax : ' . number_format($row->tax, 2) . ' %</li>
							<li>Final Price : ' . number_format($row->finalPrice, 2) . '</li>
							</ul></li>';
        }
        $detail .= '</ol></blockquote>';
        //$userId=$rowset[0]['userId'];
        //echo $userId;
        $auth = Zend_Auth::getInstance();
        $userId = $auth->getIdentity()->guid;
        $tblUser = new Kutu_Core_Orm_Table_User();
        $this->_userDetailInfo = $tblUser->find($userId)->current();
        $sMailSource = $template[0]->note;
        $tblSetting = new Kutu_Core_Orm_Table_PaymentSetting();
        $adminMail = $tblSetting->fetchAll($tblSetting->select()->where("settingKey = 'paypalBusiness'"));
        if ($userTo == 'admin') {
            $sMailEmailTo = $adminMail[0]->settingValue;
            //die($this->_userDetailInfo->email);
            $sMailEmailFrom = $this->_userDetailInfo->email;
            $link = '<a href="' . KUTU_ROOT_URL . '/admin/store/detailOrder/id/' . $idOrder . '">here</a>';
        } else {
            $sMailEmailTo = $this->_userDetailInfo->email;
            $sMailEmailFrom = $adminMail[0]->settingValue;
            $link = '<a href="' . KUTU_ROOT_URL . '/site/store_payment/detail/id/' . $idOrder . '">here</a>';
        }
        $sMailSubject = "Confirmation for user payment";
        $sMailHeader = '';
        $aMailDataSet = array('PAYMENTDATE' => @$unConfirmed[0]->paymentDate, 'PAYMENT' => $rowset[0]->paymentMethod, 'DESCRIPTION' => $detail, 'TOTALORDER' => $rowset[0]->orderTotal, 'ORDERTIME' => $rowset[0]->datePurchased, 'INVOICE' => $rowset[0]->invoiceNumber, 'METHOD' => $rowset[0]->paymentMethod, 'LINK' => $link);
        $mail->SendFileMail($sMailSource, $sMailEmailTo, $sMailSubject, $sMailEmailFrom, $sMailHeader, $aMailDataSet);
    }
Ejemplo n.º 11
0
 public function changepasswordAction()
 {
     $r = $this->getRequest();
     $guid = $r->getParam('guid');
     $tblUser = new Kutu_Core_Orm_Table_User();
     $row = $tblUser->find($guid)->current();
     $this->view->rowUser = $row;
     if ($r->isPost()) {
         echo "<strong> THIS FUNCTION IS NOT YET IMPLEMENTED</strong>";
     }
 }
Ejemplo n.º 12
0
 public function newsletterAction()
 {
     $this->_helper->layout()->setLayout('layout-final-inside');
     $auth = Zend_Auth::getInstance();
     $userGuid = $auth->getIdentity()->guid;
     $tblUser = new Kutu_Core_Orm_Table_User();
     $rowUser = $tblUser->find($userGuid)->current();
     if (!empty($rowUser)) {
         $this->view->email = $rowUser->email;
     }
 }
Ejemplo n.º 13
0
 public function delete($userId)
 {
     //[TODO] WE MUST DEFINE RELATIONSHIP AND CASCADE DELETE ON EVERY TABLES
     $tblUser = new Kutu_Core_Orm_Table_User();
     $rowUser = $tblUser->find($userId)->current();
     $username = $rowUser->username;
     print_r($username);
     //delete from KutuOrder
     //$tblOrder = new Kutu_Core_Orm_Table_Order();
     //$tblOrder->delete("userId='$userId'");
     //delete from PHPGACL (use PHPGACL function to delete user)
     $acl = Kutu_Acl::manager();
     $acl->deleteUser($username);
     //delete from KutuUserFinance
     $tblUserFinance = new Kutu_Core_Orm_Table_UserFinance();
     $rowsetUserFinance = $tblUserFinance->find($userId);
     if (count($rowsetUserFinance)) {
         $rowUserFinance = $rowsetUserFinance->current();
         $rowUserFinance->delete();
     }
     //delete from KutuUser
     $rowUser->delete();
     //delete from all table that Chenri made (Store related tables)
 }
Ejemplo n.º 14
0
 public function sendPaypalCompleteNotificationToUser($orderId)
 {
     $config = new Zend_Config_Ini(KUTU_ROOT_DIR . '/application/configs/mail.ini', 'general');
     $sOrderId = '';
     $tblUser = new Kutu_Core_Orm_Table_User();
     $tblOrder = new Kutu_Core_Orm_Table_Order();
     $rowOrder = $tblOrder->find($orderId)->current();
     $userId = $rowOrder->userId;
     $rowUser = $tblUser->find($userId)->current();
     $userEmail = $rowUser->email;
     $userFullname = $rowUser->firstname . ' ' . $rowUser->lastname;
     $message = "\t\t\t\t\t\nYour Paypal payment for item(s) with Order ID {$sOrderId} has been completely proceed.\n\nnow you can continue to <a href=\"" . KUTU_ROOT_URL . "/site/store_payment/document\">download the document(s)</a> or just continue <a href=\"" . KUTU_ROOT_URL . "/dms\">browsing our database</a>..\n\n==============================";
     $sFile = "sendPaypalCompleteNotificationToUser.log";
     $content = "SENDER : " . $config->mail->sender->support->email . "\n";
     $content .= "NAME : " . $config->mail->sender->support->name . "\n";
     $content .= "RECIPIENT : " . $userEmail;
     $content .= "MESSAGE : [LGS ONLINE] Receipt Invoice# " . $rowOrder->invoiceNumber . $message . "\n";
     $this->logThisMail($sFile, $content);
     $this->send($config->mail->sender->support->email, $config->mail->sender->support->name, $userEmail, '', "[LGS ONLINE] Paypal Payment Complete ", $message);
 }
Ejemplo n.º 15
0
 function changeemailAction()
 {
     $tblUser = new Kutu_Core_Orm_Table_User();
     $rowset = $tblUser->find($this->_user->kopel)->current();
     $this->view->row = $rowset;
     $this->view->identity = "Ubah Email";
     $r = $this->getRequest();
     if ($r->isPost()) {
         $aData = $r->getParams();
         try {
             $hol = new Kutu_Core_Hol_User();
             $rowUser = $hol->editprofile($aData);
             $this->view->row = $rowUser;
             $this->view->message = "Data has been successfully saved.";
         } catch (Zend_Exception $e) {
             $this->view->message = $e->getMessage();
         }
     }
 }
 private function _migrateAllUsers()
 {
     $sqlSource = "SELECT * from tblPersonalization_User";
     $this->_dbSource->setFetchMode(Zend_Db::FETCH_OBJ);
     $results = $this->_dbSource->fetchAll($sqlSource);
     // do mapping
     if (count($results)) {
         foreach ($results as $row) {
             $tblUser = new Kutu_Core_Orm_Table_User();
             $rowsetUser = $tblUser->find($this->_guidPrefix . $row->UserID);
             if (count($rowsetUser) < 1) {
                 // do something
                 $rowUser = $tblUser->fetchNew();
                 $rowUser->guid = $this->_guidPrefix . $row->UserID;
                 $rowUser->username = $row->UserName;
                 $rowUser->password = is_null($row->Password) ? 'V3FXfFJzBnpVYg==' : $row->Password;
                 $rowUser->firstname = $row->FullName;
                 $rowUser->lastname = '';
                 $rowUser->email = $row->Email;
                 $rowUser->company = $row->CompanyName;
                 $rowUser->mainAddress = $row->Address;
                 $rowUser->zip = $row->ZIP;
                 $rowUser->phone = $row->Phone;
                 $rowUser->industryId = $row->CompBusLine;
                 $rowUser->isActive = is_null($row->isActive) ? 0 : $row->isActive;
                 $rowUser->createdDate = $row->DateCreate;
                 $rowUser->registrationDate = $rowUser->createdDate;
                 $sqlMembership = "SELECT * from tblMembership_Exp where User_ID={$row->UserID}";
                 $this->_dbSource->setFetchMode(Zend_Db::FETCH_OBJ);
                 $resultsMembership = $this->_dbSource->fetchAll($sqlMembership);
                 //print_r($resultsMembership);
                 //die();
                 if (count($resultsMembership)) {
                     $rowMembership = $resultsMembership[0];
                     $rowUser->fax = $rowMembership->Fax;
                     $rowUser->activationDate = $rowMembership->Activation_Date;
                     $rowUser->expirationDate = $rowMembership->Expiration_Date;
                 }
                 //if($row->UserID==157)
                 if (true) {
                     $rowUser->save();
                     //die();
                 }
                 //Must also assign assign user as group:member_free
                 $acl = Kutu_Acl_Manager::getAdapter();
                 $acl->addUserToGroup($rowUser->username, "member_free");
             } else {
             }
         }
     }
     die;
 }