function insertPayments($id, User $u)
 {
     $data = $this->db_yourmembers->selectPage($total, "select t.*, a.name as action from ?_ym_transaction t left join ?_ym_transaction_action a on t.action_id = a.id where user_id=? order by unixtime", $id);
     $data = $data ? $data : array();
     $payments = array();
     foreach ($data as $d) {
         if (!isset($payments[$d['transaction_id']])) {
             $payments[$d['transaction_id']] = new YourMembers_Transaction($u);
         }
         $payments[$d['transaction_id']]->addTransactionData($d);
     }
     InvoiceCreator_Abstract::factory('standard', $this->db_yourmembers)->process($u, $payments);
 }
예제 #2
0
 function insertPayments($id, User $u)
 {
     $payments = $this->db_oss->select("\n            select * \n            from ?_payments p left join ?_payments_products pr on p.ID = pr.PaymentId \n            where payment_system_code = 'paypal' and Status='completed' and UserID=? and Details like '%subscr_payment%'", $id);
     $payments = $payments ? $payments : array();
     //to add access if exists
     $byPs = array('paypal' => array());
     foreach ($payments as $p) {
         $byPs['paypal'][] = $p;
     }
     foreach ($byPs as $paysys_id => $list) {
         InvoiceCreator_Abstract::factory($paysys_id, $this->db_oss)->process($u, $list);
     }
 }
 function insertPayments($member_id, User $u)
 {
     /**
      * worldpay,safepay,metacharge,alertpay,localweb sets ORIG_ID to parent transaction
      * 
      * paypal_pro sets $payment['data']['PAYPAL_PROFILE_ID']
      * 
      * additional_access by product settings:
      *     $newp['receipt_id']  = 'ADDITIONAL ACCESS:' . $payment['receipt_id'];
      *     $newp['data'][0]['ORIG_ID'] = $payment_id; 
      * 
      * 
      */
     $payments = $this->db3->select("SELECT * FROM ?_payments \n            WHERE member_id={$member_id} \n            AND (completed > 0 OR receipt_id > '')\n            AND (paysys_id <> '')\n            ORDER BY payment_id");
     $byPs = array();
     foreach ($payments as $payment_id => $p) {
         $p['data'] = @unserialize($p['data']);
         $byPs[$p['paysys_id']][] = $p;
     }
     foreach ($byPs as $paysys_id => $list) {
         InvoiceCreator_Abstract::factory($paysys_id)->process($u, $list);
     }
     //        if ($payments)
     //            $u->checkSubscriptions(true);
 }
예제 #4
0
 function insertPayments($id, User $u)
 {
     $payments = $this->db_dap->select("SELECT t.*, u.id AS user_id FROM ?_transactions t\n            LEFT JOIN ?_users u \n            ON IF(u.paypal_email IS NULL OR u.paypal_email = '', u.email = t.payer_email, u.paypal_email = t.payer_email)\n            WHERE u.id={$id}\n            AND t.status IN (1,5)\n            AND t.trans_type = 'subscr_payment'\n            AND t.payment_status = 'Completed'\n            ORDER BY t.id");
     $payments = $payments ? $payments : array();
     //to add access if exists
     $byPs = array('paypal' => array());
     foreach ($payments as $p) {
         $byPs['paypal'][] = $p;
     }
     foreach ($byPs as $paysys_id => $list) {
         InvoiceCreator_Abstract::factory($paysys_id, $this->db_dap)->process($u, $list);
     }
 }
 function doWork(&$context)
 {
     $maxImported = (int) $this->getDi()->db->selectCell("SELECT `value` FROM ?_data\n                WHERE `table`='user' AND `key`='wom:id'\n                ORDER BY `id` DESC LIMIT 1");
     $count = @$this->options['count'];
     if ($count) {
         $count -= $context;
     }
     if ($count < 0) {
         return true;
     }
     $q = $this->db_wordpress->queryResultOnly("\n            SELECT\n                u.*,\n                um1.meta_value as first_name,\n                um2.meta_value as last_name,\n                um3.meta_value as wp_optimizemember_subscr_gateway,\n                um4.meta_value as wp_optimizemember_subscr_id,\n                um5.meta_value as wp_optimizemember_paid_registration_times\n            FROM ?_users u\n            LEFT JOIN ?_usermeta um1 on u.ID = um1.user_id and um1.meta_key = 'first_name'\n            LEFT JOIN ?_usermeta um2 on u.ID = um2.user_id and um2.meta_key = 'last_name'\n            LEFT JOIN ?_usermeta um3 on u.ID = um3.user_id and um3.meta_key = 'wp_optimizemember_subscr_gateway'\n            LEFT JOIN ?_usermeta um4 on u.ID = um4.user_id and um4.meta_key = 'wp_optimizemember_subscr_id'\n            LEFT JOIN ?_usermeta um5 on u.ID = um5.user_id and um5.meta_key = 'wp_optimizemember_paid_registration_times'\n            WHERE u.ID > ?d \n            ORDER BY u.ID\n            {LIMIT ?d} ", $maxImported, $count ? $count : DBSIMPLE_SKIP);
     while ($r = $this->db_wordpress->fetchRow($q)) {
         if (!$this->checkLimits()) {
             return;
         }
         $u = $this->getDi()->userRecord;
         $u->email = $r['user_email'];
         $u->added = $r['user_registered'];
         $u->login = $r['user_login'];
         $u->name_f = (string) $r['first_name'];
         $u->name_l = (string) $r['last_name'];
         $u->is_approved = 1;
         $u->data()->set('wom:id', $r['ID']);
         $u->data()->set('signup_email_sent', 1);
         // do not send signup email second time
         $u->pass = $r['user_pass'];
         if (@$this->options['keep_user_id']) {
             $u->disableInsertPkCheck(true);
             $u->user_id = $r['ID'];
         }
         try {
             if (@$this->options['keep_user_id']) {
                 $u->insert(false)->refresh();
             } else {
                 $u->insert();
             }
             if ($r['wp_optimizemember_subscr_gateway']) {
                 InvoiceCreator_Abstract::factory($r['wp_optimizemember_subscr_gateway'], $this->db_wordpress)->process($u, $r);
             } elseif ($r['wp_optimizemember_paid_registration_times']) {
                 InvoiceCreator_Abstract::factory('Manual', $this->db_wordpress)->process($u, $r);
             }
             $context++;
         } catch (Am_Exception_Db_NotUnique $e) {
             echo "Could not import user: "******"<br />\n";
         }
     }
     return true;
 }
 function insertPayments($id, User $u)
 {
     $payments = $this->db_ipb_nexus->select("\n            SELECT p.ps_id, i.i_id, p.ps_start, p.ps_expire, p.ps_item_id, i.i_member, i.i_total, i.i_date, i.i_paid\n            FROM ?_nexus_purchases p\n            LEFT JOIN ?_nexus_invoices i ON p.ps_original_invoice = i.i_id\n            WHERE\n                i.i_member = {$id}\n                AND i.i_status = 'paid'\n            ORDER BY i_id\n        ");
     if (empty($payments)) {
         return false;
     }
     InvoiceCreator_Abstract::factory('ccbill', $this->db_ipb_nexus)->process($u, $payments);
     return true;
 }
 function insertPayments($id, User $u)
 {
     $payments = $this->db_drupal->select("\n            select p.*, o.created as order_created,\n            o.order_key as order_key,\n            o.status as order_status,\n            o.modified as order_modified\n            from ?_ms_payments p left join ?_ms_orders o using(oid)\n            where o.uid = ?\n            order by p.pid desc", $id);
     $payments = $payments ? $payments : array();
     //to add access if exists
     InvoiceCreator_Abstract::factory('standard', $this->db_drupal)->process($u, $payments);
 }
 function insertPayments($id, User $u)
 {
     $payments = $this->db_wordpress->select("\n(select concat('tr', transaction_ID) as id,  transaction_subscription_ID  as sub_id, transaction_user_ID as user_id, transaction_paypal_ID as txn_id, \ntransaction_total_amount as amount, transaction_status as status, '' as startdate, '' as expirydate, transaction_stamp as stamp , transaction_currency as currency from ?_m_subscription_transaction where transaction_user_ID=?)\nunion \n(select concat('rel', rel_id) as id, sub_id, user_id, '' as txn_id, 0 as amount, 'Access', startdate, expirydate, 0  as stamp, '' as currency from ?_m_membership_relationships where user_id =?)\norder by user_id desc\n", $id, $id);
     $payments = $payments ? $payments : array();
     //to add access if exists
     InvoiceCreator_Abstract::factory('standard', $this->db_wordpress)->process($u, $payments);
 }