Jump to content


Photo

affiliate program script change


  • Please log in to reply
No replies to this topic

#1 manula

manula
  • New Members
  • Pip
  • Newbie
  • 1 posts

Posted 17 October 2006 - 09:43 AM

Hi there,

I'm going crazy over this piece of code. I'm a newbie of php and I can't get my head around this.
I know what I'm trying to do is quite simple but nothing I've tried works. Perhaps someone out there can point me in the right direction!

This is a an extract of a script I own and have the right to change. The behaviour I'm trying to change is:
- currently - website members do not earn any points or cash commission for new FREE members they sponsor.

- I want - website members to still earn any points or cash commission for new FREE members they sponsor.

As you can see below the script has 4 membership levels. The variables we need to work on are 'AFF_RATES_FOR_LEVELS' and 'AFF_POINTS_FOR_LEVELS'

Here's the code. Thanks in advance for trying to help.
Regards


function affiliate($err_msg = '', $user = '') {
	$q =& $this->Common->q;
	$db =& $this->Common->db;
	$tpl =& $this->Common->tpl;
	$vars = array();

	if ($user == '') $user = $this->_check_login();
	$allow = 0;
	foreach (array('Free', 'Pro', 'Premium', 'Executive') as $membership) {
	    if (strtolower($this->cfg->AFF_MEMBERSHIP) == strtolower($membership)) $allow=1;
	    if ($user['Membership'] == $membership) break;
	}
	if (!$allow) {
	    $err_msg = "No affiliate program for ${user['Membership']} users.  You can upgrade to ".$this->cfg->AFF_MEMBERSHIP." account here.";
	    $this->membership($err_msg, $user);
	    exit;
	} else {
	    $aff_rates = array();
	    $level = 0;
	    foreach ($this->Common->aff_rates($user['Membership']) as $_) {
		    array_push($aff_rates, (substr($_,-1) == '%' ? $_ : '$'.number_format($_/100,2)).' (for level '.$level++.')');
	    }
	    $vars['AFF_RATES_FOR_LEVELS'] = count($aff_rates) ? $this->Common->specialchars(join(', ', $aff_rates)) : '<NO COMMISSIONS>';
	    $aff_points = $this->Common->aff_points($user['Membership']);
	    $aff_points2 = array();
	    if (count($aff_points)) {
		$level = 0;
		foreach ($aff_points as $_) {
			array_push($aff_points2, number_format($_,0).' (for level '.$level++.')');
		}
		$vars['AFF_POINTS_FOR_LEVELS'] = count($aff_points) ? $this->Common->specialchars(join(', ', $aff_points2)) : '<NO POINTS>';
	    }
	    $aff_points = $this->Common->aff_points_for_point_purchases($user['Membership']);
	    $aff_points2 = array();
	    if (count($aff_points)) {
		$level = 0;
		foreach ($aff_points as $_) {
			array_push($aff_points2, $_.' (for level '.$level++.')');
		}
		$vars['AFF_POINTS_FOR_POINT_PURCHASES_FOR_LEVELS'] = count($aff_points) ? $this->Common->specialchars(join(', ', $aff_points2)) : '<NO POINTS>';
	    }
	    $vars['AFF_URL'] = $this->cfg->BASE_URL.'/g.'.$this->cfg->SCRIPT_EXTENTION."?r=${user['ID']}";
	    $vars['ERR_MSG'] = $err_msg;
	    $vars["Membership_${user['Membership']}"] = 1;
	    $_ = array();
	    if (trim($this->cfg->POINTS_PER_MONTH) != '') {
		# get right Free..Executive order
		$_ = array('Free'=>0,'Pro'=>0,'Premium'=>0,'Executive'=>0,);
		list( $_["Free"], $_["Pro"], $_["Premium"], $_["Executive"] ) = preg_split('/[\s,]+/', trim($this->cfg->POINTS_PER_MONTH), -1, PREG_SPLIT_NO_EMPTY);
		if ($_[$user['Membership']]) {
		    $vars['POINTS_PER_MONTH_FOR_USER'] = $_[$user['Membership']];
		    $vars['MONTHLY_Membership'] = $user['Membership'];
		}





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users