Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Sat, Nov 8, 9:36 PM

in-portal

Index: branches/unlabeled/unlabeled-1.7.2/core/units/visits/visits_tag_processor.php
===================================================================
--- branches/unlabeled/unlabeled-1.7.2/core/units/visits/visits_tag_processor.php (revision 2549)
+++ branches/unlabeled/unlabeled-1.7.2/core/units/visits/visits_tag_processor.php (revision 2550)
@@ -1,122 +1,152 @@
<?php
class VisitsTagProcessor extends kDBTagProcessor {
function UserFound($params)
{
$virtual_users = Array(-1,-2, 0);
$object =& $this->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').'
+ AND ord.Status = 4
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);
//$order_autoload = $this->Application->getUnitOption('ord', 'AutoLoad');
//$this->Application->setUnitOption('ord', 'AutoLoad', false);
$order_object = &$this->Application->recallObject('ord.totals', null, array('skip_autoload'=>true));
//$this->Application->setUnitOption('ord', 'AutoLoad', $order_autoload);
$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);
}
*/
+
+ /**
+ * Enter description here...
+ *
+ * @param unknown_type $params
+ * @return kDBList
+ */
+
+ function &GetList($params)
+ {
+ $list_name = $this->SelectParam($params, 'list_name,name');
+ if (!$list_name) {
+ $list_name = $this->Application->Parser->GetParam('list_name');
+ }
+ $types = $this->SelectParam($params, 'types');
+ $special='';
+ if ($types=='myvisitororders' || $types=='myvisitors'){
+ $special = 'incommerce';
+ $names_mapping = $this->Application->GetVar('NamesToSpecialMapping');
+ $names_mapping[$list_name] = $special;
+ $this->Application->SetVar('NamesToSpecialMapping', $names_mapping);
+
+ }
+
+
+ return parent::GetList($params);
+ }
+
}
+
?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.7.2/core/units/visits/visits_tag_processor.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.7
\ No newline at end of property
+1.7.2.1
\ No newline at end of property

Event Timeline