/**
  * Internal function to return an IndividualSubscription object from a row.
  * @param $row array
  * @return IndividualSubscription
  */
 function &_returnSubscriptionFromRow(&$row)
 {
     $individualSubscription = parent::_returnSubscriptionFromRow($row);
     HookRegistry::call('IndividualSubscriptionDAO::_returnSubscriptionFromRow', array(&$individualSubscription, &$row));
     return $individualSubscription;
 }
    /**
     * Internal function to return an InstitutionalSubscription object from a row.
     * @param $row array
     * @return InstitutionalSubscription
     */
    function &_returnSubscriptionFromRow(&$row)
    {
        $institutionalSubscription = parent::_returnSubscriptionFromRow($row);
        $institutionalSubscription->setInstitutionName($row['institution_name']);
        $institutionalSubscription->setInstitutionMailingAddress($row['mailing_address']);
        $institutionalSubscription->setDomain($row['domain']);
        $ipResult =& $this->retrieve('SELECT ip_string
			FROM
			institutional_subscription_ip
			WHERE subscription_id = ?
			ORDER BY institutional_subscription_ip_id ASC', $institutionalSubscription->getId());
        $ipRanges = array();
        while (!$ipResult->EOF) {
            $ipRow =& $ipResult->GetRowAssoc(false);
            $ipRanges[] = $ipRow['ip_string'];
            $ipResult->moveNext();
        }
        $institutionalSubscription->setIPRanges($ipRanges);
        $ipResult->Close();
        unset($ipResult);
        HookRegistry::call('InstitutionalSubscriptionDAO::_returnSubscriptionFromRow', array(&$institutionalSubscription, &$row));
        return $institutionalSubscription;
    }