public static function CreateFromCheckImage(Login $objLogin, StewardshipStack $objStack, $strCheckImageFileHash) { $objContribution = new StewardshipContribution(); $objContribution->CreatedByLogin = $objLogin; $objContribution->UnpostedFlag = true; $objContribution->StewardshipContributionTypeId = StewardshipContributionType::Check; $objContribution->StewardshipBatchId = $objStack->StewardshipBatchId; $objContribution->StewardshipStack = $objStack; $objContribution->DateEntered = QDateTime::Now(); $objContribution->DateCredited = new QDateTime($objStack->StewardshipBatch->DateCredited); $objContribution->strCheckImageFileHash = $strCheckImageFileHash; $arrTiffData = exif_read_data($objContribution->TempPath); if (array_key_exists('ImageDescription', $arrTiffData)) { $arrCheckingData = self::ParseCheckingInformation($arrTiffData['ImageDescription']); if ($arrCheckingData) { if (intval($arrCheckingData[2])) { $objContribution->CheckNumber = intval($arrCheckingData[2]); } $objCheckingAccountLookup = CheckingAccountLookup::LoadByTransitAndAccount($arrCheckingData[0], $arrCheckingData[1]); if ($objCheckingAccountLookup) { $objContribution->CheckingAccountLookup = $objCheckingAccountLookup; $objPersonArray = $objCheckingAccountLookup->GetPersonArray(); if (!count($objPersonArray)) { $objContribution->objPossiblePeopleArray = null; } else { if (count($objPersonArray) == 1) { $objContribution->Person = $objPersonArray[0]; } else { $objContribution->objPossiblePeopleArray = $objPersonArray; } } } else { $objContribution->objUnsavedCheckingAccountLookup = CheckingAccountLookup::CreateUnsavedForTransitAndAccount($arrCheckingData[0], $arrCheckingData[1]); } } } return $objContribution; }