Application->recallObject( $this->getPrefixSpecial(), $this->Prefix, $params ); return !in_array( $object->GetDBField( $params['user_field'] ) , $virtual_users ); } function UserLink($params) { $object =& $this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix, $params ); $user_id = $object->GetDBField( $params['user_field'] ); if($user_id) { //return $this->Application->HREF('in-commerce/users/users_edit_general','', Array('u_id' => $user_id) ); $resource_id = $this->Conn->GetOne('SELECT ResourceId FROM '.TABLE_PREFIX.'PortalUser WHERE PortalUserId = '.$user_id); return 'javascript:OpenUserEdit('.$resource_id.');'; } } function GetTotalAffiliateVisits($params){ $object_user = &$this->Application->recallObject('u'); $sql='SELECT COUNT(*) FROM '.TABLE_PREFIX.'Visits vis LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON (vis.AffiliateId = af.AffiliateId) WHERE af.PortalUserId = '.$object_user->GetDBField('PortalUserId'); return $this->Conn->GetOne($sql); } function AffiliateOrderInfo($params){ $object_user = &$this->Application->recallObject('u'); $sql='SELECT COUNT(ord.OrderId) as OrderCount, SUM(AffiliateCommission) as TotalCommission, SUM(SubTotal+ShippingCost+VAT-CouponDiscount) as TotalAmount FROM '.TABLE_PREFIX.'Orders ord LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON (vis.AffiliateId = af.AffiliateId) LEFT JOIN '.TABLE_PREFIX.'Visits vis ON (ord.VisitId = vis.VisitId) WHERE af.PortalUserId = '.$object_user->GetDBField('PortalUserId').' GROUP BY af.PortalUserId '; $info = $this->Conn->GetRow($sql); $params_info = $this->prepareTagParams($params); $params_info['name'] = $params_info['render_as']; if (!$info['OrderCount']) $info['OrderCount'] = 0; if (!$info['TotalAmount']) $info['TotalAmount'] = 0; if (!$info['AffiliateCommission']) $info['AffiliateCommission'] = 0; $params_info = array_merge_recursive2($params_info, $info); $params_info['TotalVisits'] = $this->GetTotalAffiliateVisits($params); $this->Application->setUnitOption('ord', 'AutoLoad', false); $order_object = &$this->Application->recallObject('ord.totals'); $order_object->SetDBField('AffiliateCommission', $params_info['TotalCommission']); $order_object->SetDBField('TotalAmount', $params_info['TotalAmount']); $fields_to_convert = array('AffiliateCommission', 'TotalAmount'); if( $this->HasParam($params, 'currency') ) { $iso = $this->GetISO($params['currency']); foreach($fields_to_convert as $key => $field){ $iso = $this->GetISO($params['currency']); $original = $order_object->GetDBField($field); $value = $this->ConvertCurrency($original, $iso); $order_object->SetDBField($field, $value); } $params_info['TotalCommission'] = $this->AddCurrencySymbol($order_object->GetField('AffiliateCommission'), $iso); $params_info['TotalAmount'] = $this->AddCurrencySymbol($order_object->GetField('TotalAmount'), $iso); } return $this->Application->ParseBlock($params_info); } function ListVisitors($params){ $o = ''; $params['render_as'] = $params['item_render_as']; $o_visitors = $this->PrintList2($params); if ($o_visitors){ $visitors_params = array('name' => $params['header_render_as']); $o = $this->Application->ParseBlock($visitors_params); $o .= $o_visitors; }else { $visitors_params = array('name' => $params['empty_myvisitors_render_as']); $o = $this->Application->ParseBlock($visitors_params); } return $o; } /* function OrderLink($params){ $object = &$this->Application->recallObject($this->getPrefixSpecial()); $params['ord_id'] = $object->GetDBField('OrderId'); $main_processor =& $this->Application->recallObject('m_TagProcessor'); return $main_processor->T($params); } */ } ?>