public function loadGiftHistory($lPID, $enumSortType, $lACOID, &$clsACO, &$lNumGiftsGH, &$giftHistory) { //--------------------------------------------------------------------- // $enumSortType - date, giftID, name, amount, acctCamp //--------------------------------------------------------------------- $cPeople = new mpeople(); $bBiz = $cPeople->bBizRec($lPID); $clsHonMem = new mhon_mem(); $clsACO->loadCountries(false, false, true, $lACOID); $strFlag = $clsACO->countries[0]->strFlagImg; $strCurSymbol = $clsACO->countries[0]->strCurrencySymbol; $strCountry = $clsACO->countries[0]->strName; $strTableName = 'tmpGift'; $this->createTempGiftTable($strTableName); //------------------------------------------- // straight donations/sponsorship payments //------------------------------------------- $sqlStr = "INSERT INTO {$strTableName} (tgi_lGiftID, tgi_lPID)\n SELECT gi_lKeyID, gi_lForeignID\n FROM gifts\n WHERE gi_lForeignID={$lPID}\n AND gi_lACOID={$lACOID}\n AND NOT gi_bRetired;"; $this->db->query($sqlStr); //------------------------------------------- // soft donations/sponsorship payments //------------------------------------------- $sqlStr = "INSERT INTO {$strTableName} (tgi_lGiftID, tgi_lPID)\n SELECT gi_lKeyID, gi_lForeignID\n FROM gifts\n INNER JOIN people_relationships ON pr_lPerson_A_ID=gi_lForeignID\n WHERE pr_lPerson_B_ID={$lPID}\n AND gi_lACOID={$lACOID}\n AND pr_bSoftDonations\n AND NOT gi_bRetired;"; $this->db->query($sqlStr); //------------------------------------------- // people-to-business soft cash relationships //------------------------------------------- if ($bBiz) { $sqlStr = "INSERT INTO {$strTableName} (tgi_lGiftID, tgi_lPID)\n SELECT gi_lKeyID, gi_lForeignID\n FROM gifts\n INNER JOIN biz_contacts ON bc_lContactID=gi_lForeignID\n WHERE bc_lBizID={$lPID}\n AND bc_bSoftCash\n AND gi_lACOID={$lACOID}\n AND NOT bc_bRetired\n AND NOT gi_bRetired;"; } else { $sqlStr = "INSERT INTO {$strTableName} (tgi_lGiftID, tgi_lPID)\n SELECT gi_lKeyID, gi_lForeignID\n FROM gifts\n INNER JOIN biz_contacts ON bc_lBizID=gi_lForeignID\n WHERE bc_lContactID={$lPID}\n AND bc_bSoftCash\n AND gi_lACOID={$lACOID}\n AND NOT bc_bRetired\n AND NOT gi_bRetired;"; } $this->db->query($sqlStr); if ($this->bDebug) { $this->dumpTempTable($strTableName); } //------------------------- // set the sort order //------------------------- $strSort = $this->strSetSortOrder($enumSortType); $sqlStr = "SELECT\n gi_lKeyID, gi_lForeignID, gi_lSponsorID,\n gi_curAmnt, gi_dteDonation, \n gi_bHon, gi_bMem, gi_lACOID,\n pe_lKeyID, pe_bBiz, pe_strFName, pe_strLName,\n gc_lKeyID, gc_strCampaign, gi_bGIK, lgen_strListItem AS strGIK,\n ga_lKeyID, ga_strAccount\n\n FROM {$strTableName}\n INNER JOIN gifts ON gi_lKeyID = tgi_lGiftID\n INNER JOIN gifts_campaigns ON gi_lCampID = gc_lKeyID\n INNER JOIN gifts_accounts ON gc_lAcctID = ga_lKeyID\n INNER JOIN people_names ON pe_lKeyID = gi_lForeignID\n LEFT JOIN lists_generic ON gi_lGIK_ID = lgen_lKeyID\n\n ORDER BY {$strSort};"; $query = $this->db->query($sqlStr); $lNumGiftsGH = $numRows = $query->num_rows(); $giftHistory = array(); if ($lNumGiftsGH > 0) { $idx = 0; foreach ($query->result() as $row) { $giftHistory[$idx] = new stdClass(); $giftHistory[$idx]->gi_lKeyID = $lGiftID = $row->gi_lKeyID; $giftHistory[$idx]->gi_lForeignID = $row->gi_lForeignID; $giftHistory[$idx]->gi_lSponsorID = $row->gi_lSponsorID; $giftHistory[$idx]->gi_curAmnt = $row->gi_curAmnt; $giftHistory[$idx]->gi_dteDonation = dteMySQLDate2Unix($row->gi_dteDonation); $giftHistory[$idx]->gi_bGIK = $row->gi_bGIK; $giftHistory[$idx]->strGIK = $row->strGIK; $giftHistory[$idx]->pe_lKeyID = $row->pe_lKeyID; $giftHistory[$idx]->pe_bBiz = $row->pe_bBiz; $giftHistory[$idx]->pe_strFName = $row->pe_strFName; $giftHistory[$idx]->pe_strLName = $row->pe_strLName; $giftHistory[$idx]->gc_lKeyID = $row->gc_lKeyID; $giftHistory[$idx]->gc_strCampaign = $row->gc_strCampaign; $giftHistory[$idx]->ga_lKeyID = $row->ga_lKeyID; $giftHistory[$idx]->ga_strAccount = $row->ga_strAccount; $giftHistory[$idx]->bHon = $clsHonMem->lNumHonViaGID($lGiftID) > 0; $giftHistory[$idx]->bMem = $clsHonMem->lNumMemViaGID($lGiftID) > 0; $giftHistory[$idx]->lACOID = $lACOID; $giftHistory[$idx]->strACOFlag = $strFlag; $giftHistory[$idx]->strACOCurSymbol = $strCurSymbol; $giftHistory[$idx]->strACOCountry = $strCountry; ++$idx; } } $this->dropTempGiftTable($strTableName); }