<?php


abstract class BasesfGuardUser extends BaseObject  implements Persistent {


	
	protected static $peer;


	
	protected $id;


	
	protected $username;


	
	protected $algorithm = '\\asha1\\a';


	
	protected $salt;


	
	protected $password;


	
	protected $created_at;


	
	protected $last_login;


	
	protected $is_active = true;


	
	protected $is_super_admin = false;

	
	protected $collAcctPrintHoldsRelatedByCreatedByUserId;

	
	protected $lastAcctPrintHoldRelatedByCreatedByUserIdCriteria = null;

	
	protected $collAcctPrintHoldsRelatedByUpdatedByUserId;

	
	protected $lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria = null;

	
	protected $collAcctPrintHoldHistsRelatedByCreatedByUserId;

	
	protected $lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria = null;

	
	protected $collAcctPrintHoldHistsRelatedByUpdatedByUserId;

	
	protected $lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria = null;

	
	protected $collInmUploads;

	
	protected $lastInmUploadCriteria = null;

	
	protected $collInmRecipientsRelatedByCreatedByUserId;

	
	protected $lastInmRecipientRelatedByCreatedByUserIdCriteria = null;

	
	protected $collInmRecipientsRelatedByUpdatedByUserId;

	
	protected $lastInmRecipientRelatedByUpdatedByUserIdCriteria = null;

	
	protected $collUs2Docs;

	
	protected $lastUs2DocCriteria = null;

	
	protected $collUs2Orders;

	
	protected $lastUs2OrderCriteria = null;

	
	protected $collUs2OrderProductsRelatedByCreatedByUserId;

	
	protected $lastUs2OrderProductRelatedByCreatedByUserIdCriteria = null;

	
	protected $collUs2OrderProductsRelatedByUpdatedByUserId;

	
	protected $lastUs2OrderProductRelatedByUpdatedByUserIdCriteria = null;

	
	protected $collUs2Pulls;

	
	protected $lastUs2PullCriteria = null;

	
	protected $collUs2Uploads;

	
	protected $lastUs2UploadCriteria = null;

	
	protected $collSfGuardUserProfiles;

	
	protected $lastSfGuardUserProfileCriteria = null;

	
	protected $collUserMemberships;

	
	protected $lastUserMembershipCriteria = null;

	
	protected $collsfGuardUserPermissions;

	
	protected $lastsfGuardUserPermissionCriteria = null;

	
	protected $collsfGuardUserGroups;

	
	protected $lastsfGuardUserGroupCriteria = null;

	
	protected $collsfGuardRememberKeys;

	
	protected $lastsfGuardRememberKeyCriteria = null;

	
	protected $alreadyInSave = false;

	
	protected $alreadyInValidation = false;

	
	public function getId()
	{

		return $this->id;
	}

	
	public function getUsername()
	{

		return $this->username;
	}

	
	public function getAlgorithm()
	{

		return $this->algorithm;
	}

	
	public function getSalt()
	{

		return $this->salt;
	}

	
	public function getPassword()
	{

		return $this->password;
	}

	
	public function getCreatedAt($format = 'Y-m-d H:i:s')
	{

		if ($this->created_at === null || $this->created_at === '') {
			return null;
		} elseif (!is_int($this->created_at)) {
						$ts = strtotime($this->created_at);
			if ($ts === -1 || $ts === false) { 				throw new PropelException("Unable to parse value of [created_at] as date/time value: " . var_export($this->created_at, true));
			}
		} else {
			$ts = $this->created_at;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	
	public function getLastLogin($format = 'Y-m-d H:i:s')
	{

		if ($this->last_login === null || $this->last_login === '') {
			return null;
		} elseif (!is_int($this->last_login)) {
						$ts = strtotime($this->last_login);
			if ($ts === -1 || $ts === false) { 				throw new PropelException("Unable to parse value of [last_login] as date/time value: " . var_export($this->last_login, true));
			}
		} else {
			$ts = $this->last_login;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	
	public function getIsActive()
	{

		return $this->is_active;
	}

	
	public function getIsSuperAdmin()
	{

		return $this->is_super_admin;
	}

	
	public function setId($v)
	{

						if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->id !== $v) {
			$this->id = $v;
			$this->modifiedColumns[] = sfGuardUserPeer::ID;
		}

	} 
	
	public function setUsername($v)
	{

						if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->username !== $v) {
			$this->username = $v;
			$this->modifiedColumns[] = sfGuardUserPeer::USERNAME;
		}

	} 
	
	public function setAlgorithm($v)
	{

						if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->algorithm !== $v || $v === '\\asha1\\a') {
			$this->algorithm = $v;
			$this->modifiedColumns[] = sfGuardUserPeer::ALGORITHM;
		}

	} 
	
	public function setSalt($v)
	{

						if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->salt !== $v) {
			$this->salt = $v;
			$this->modifiedColumns[] = sfGuardUserPeer::SALT;
		}

	} 
	
	public function setPassword($v)
	{

						if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->password !== $v) {
			$this->password = $v;
			$this->modifiedColumns[] = sfGuardUserPeer::PASSWORD;
		}

	} 
	
	public function setCreatedAt($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { 				throw new PropelException("Unable to parse date/time value for [created_at] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->created_at !== $ts) {
			$this->created_at = $ts;
			$this->modifiedColumns[] = sfGuardUserPeer::CREATED_AT;
		}

	} 
	
	public function setLastLogin($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { 				throw new PropelException("Unable to parse date/time value for [last_login] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->last_login !== $ts) {
			$this->last_login = $ts;
			$this->modifiedColumns[] = sfGuardUserPeer::LAST_LOGIN;
		}

	} 
	
	public function setIsActive($v)
	{

		if ($this->is_active !== $v || $v === true) {
			$this->is_active = $v;
			$this->modifiedColumns[] = sfGuardUserPeer::IS_ACTIVE;
		}

	} 
	
	public function setIsSuperAdmin($v)
	{

		if ($this->is_super_admin !== $v || $v === false) {
			$this->is_super_admin = $v;
			$this->modifiedColumns[] = sfGuardUserPeer::IS_SUPER_ADMIN;
		}

	} 
	
	public function hydrate(ResultSet $rs, $startcol = 1)
	{
		try {

			$this->id = $rs->getInt($startcol + 0);

			$this->username = $rs->getString($startcol + 1);

			$this->algorithm = $rs->getString($startcol + 2);

			$this->salt = $rs->getString($startcol + 3);

			$this->password = $rs->getString($startcol + 4);

			$this->created_at = $rs->getTimestamp($startcol + 5, null);

			$this->last_login = $rs->getTimestamp($startcol + 6, null);

			$this->is_active = $rs->getBoolean($startcol + 7);

			$this->is_super_admin = $rs->getBoolean($startcol + 8);

			$this->resetModified();

			$this->setNew(false);

						return $startcol + 9; 
		} catch (Exception $e) {
			throw new PropelException("Error populating sfGuardUser object", $e);
		}
	}

	
	public function delete($con = null)
	{
		if ($this->isDeleted()) {
			throw new PropelException("This object has already been deleted.");
		}

		if ($con === null) {
			$con = Propel::getConnection(sfGuardUserPeer::DATABASE_NAME);
		}

		try {
			$con->begin();
			sfGuardUserPeer::doDelete($this, $con);
			$this->setDeleted(true);
			$con->commit();
		} catch (PropelException $e) {
			$con->rollback();
			throw $e;
		}
	}

	
	public function save($con = null)
	{
    if ($this->isNew() && !$this->isColumnModified(sfGuardUserPeer::CREATED_AT))
    {
      $this->setCreatedAt(time());
    }

		if ($this->isDeleted()) {
			throw new PropelException("You cannot save an object that has been deleted.");
		}

		if ($con === null) {
			$con = Propel::getConnection(sfGuardUserPeer::DATABASE_NAME);
		}

		try {
			$con->begin();
			$affectedRows = $this->doSave($con);
			$con->commit();
			return $affectedRows;
		} catch (PropelException $e) {
			$con->rollback();
			throw $e;
		}
	}

	
	protected function doSave($con)
	{
		$affectedRows = 0; 		if (!$this->alreadyInSave) {
			$this->alreadyInSave = true;


						if ($this->isModified()) {
				if ($this->isNew()) {
					$pk = sfGuardUserPeer::doInsert($this, $con);
					$affectedRows += 1; 										 										 
					$this->setId($pk);  
					$this->setNew(false);
				} else {
					$affectedRows += sfGuardUserPeer::doUpdate($this, $con);
				}
				$this->resetModified(); 			}

			if ($this->collAcctPrintHoldsRelatedByCreatedByUserId !== null) {
				foreach($this->collAcctPrintHoldsRelatedByCreatedByUserId as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collAcctPrintHoldsRelatedByUpdatedByUserId !== null) {
				foreach($this->collAcctPrintHoldsRelatedByUpdatedByUserId as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collAcctPrintHoldHistsRelatedByCreatedByUserId !== null) {
				foreach($this->collAcctPrintHoldHistsRelatedByCreatedByUserId as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collAcctPrintHoldHistsRelatedByUpdatedByUserId !== null) {
				foreach($this->collAcctPrintHoldHistsRelatedByUpdatedByUserId as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collInmUploads !== null) {
				foreach($this->collInmUploads as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collInmRecipientsRelatedByCreatedByUserId !== null) {
				foreach($this->collInmRecipientsRelatedByCreatedByUserId as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collInmRecipientsRelatedByUpdatedByUserId !== null) {
				foreach($this->collInmRecipientsRelatedByUpdatedByUserId as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collUs2Docs !== null) {
				foreach($this->collUs2Docs as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collUs2Orders !== null) {
				foreach($this->collUs2Orders as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collUs2OrderProductsRelatedByCreatedByUserId !== null) {
				foreach($this->collUs2OrderProductsRelatedByCreatedByUserId as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collUs2OrderProductsRelatedByUpdatedByUserId !== null) {
				foreach($this->collUs2OrderProductsRelatedByUpdatedByUserId as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collUs2Pulls !== null) {
				foreach($this->collUs2Pulls as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collUs2Uploads !== null) {
				foreach($this->collUs2Uploads as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collSfGuardUserProfiles !== null) {
				foreach($this->collSfGuardUserProfiles as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collUserMemberships !== null) {
				foreach($this->collUserMemberships as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collsfGuardUserPermissions !== null) {
				foreach($this->collsfGuardUserPermissions as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collsfGuardUserGroups !== null) {
				foreach($this->collsfGuardUserGroups as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collsfGuardRememberKeys !== null) {
				foreach($this->collsfGuardRememberKeys as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			$this->alreadyInSave = false;
		}
		return $affectedRows;
	} 
	
	protected $validationFailures = array();

	
	public function getValidationFailures()
	{
		return $this->validationFailures;
	}

	
	public function validate($columns = null)
	{
		$res = $this->doValidate($columns);
		if ($res === true) {
			$this->validationFailures = array();
			return true;
		} else {
			$this->validationFailures = $res;
			return false;
		}
	}

	
	protected function doValidate($columns = null)
	{
		if (!$this->alreadyInValidation) {
			$this->alreadyInValidation = true;
			$retval = null;

			$failureMap = array();


			if (($retval = sfGuardUserPeer::doValidate($this, $columns)) !== true) {
				$failureMap = array_merge($failureMap, $retval);
			}


				if ($this->collAcctPrintHoldsRelatedByCreatedByUserId !== null) {
					foreach($this->collAcctPrintHoldsRelatedByCreatedByUserId as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collAcctPrintHoldsRelatedByUpdatedByUserId !== null) {
					foreach($this->collAcctPrintHoldsRelatedByUpdatedByUserId as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collAcctPrintHoldHistsRelatedByCreatedByUserId !== null) {
					foreach($this->collAcctPrintHoldHistsRelatedByCreatedByUserId as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collAcctPrintHoldHistsRelatedByUpdatedByUserId !== null) {
					foreach($this->collAcctPrintHoldHistsRelatedByUpdatedByUserId as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collInmUploads !== null) {
					foreach($this->collInmUploads as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collInmRecipientsRelatedByCreatedByUserId !== null) {
					foreach($this->collInmRecipientsRelatedByCreatedByUserId as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collInmRecipientsRelatedByUpdatedByUserId !== null) {
					foreach($this->collInmRecipientsRelatedByUpdatedByUserId as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collUs2Docs !== null) {
					foreach($this->collUs2Docs as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collUs2Orders !== null) {
					foreach($this->collUs2Orders as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collUs2OrderProductsRelatedByCreatedByUserId !== null) {
					foreach($this->collUs2OrderProductsRelatedByCreatedByUserId as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collUs2OrderProductsRelatedByUpdatedByUserId !== null) {
					foreach($this->collUs2OrderProductsRelatedByUpdatedByUserId as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collUs2Pulls !== null) {
					foreach($this->collUs2Pulls as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collUs2Uploads !== null) {
					foreach($this->collUs2Uploads as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collSfGuardUserProfiles !== null) {
					foreach($this->collSfGuardUserProfiles as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collUserMemberships !== null) {
					foreach($this->collUserMemberships as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collsfGuardUserPermissions !== null) {
					foreach($this->collsfGuardUserPermissions as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collsfGuardUserGroups !== null) {
					foreach($this->collsfGuardUserGroups as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collsfGuardRememberKeys !== null) {
					foreach($this->collsfGuardRememberKeys as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}


			$this->alreadyInValidation = false;
		}

		return (!empty($failureMap) ? $failureMap : true);
	}

	
	public function getByName($name, $type = BasePeer::TYPE_PHPNAME)
	{
		$pos = sfGuardUserPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
		return $this->getByPosition($pos);
	}

	
	public function getByPosition($pos)
	{
		switch($pos) {
			case 0:
				return $this->getId();
				break;
			case 1:
				return $this->getUsername();
				break;
			case 2:
				return $this->getAlgorithm();
				break;
			case 3:
				return $this->getSalt();
				break;
			case 4:
				return $this->getPassword();
				break;
			case 5:
				return $this->getCreatedAt();
				break;
			case 6:
				return $this->getLastLogin();
				break;
			case 7:
				return $this->getIsActive();
				break;
			case 8:
				return $this->getIsSuperAdmin();
				break;
			default:
				return null;
				break;
		} 	}

	
	public function toArray($keyType = BasePeer::TYPE_PHPNAME)
	{
		$keys = sfGuardUserPeer::getFieldNames($keyType);
		$result = array(
			$keys[0] => $this->getId(),
			$keys[1] => $this->getUsername(),
			$keys[2] => $this->getAlgorithm(),
			$keys[3] => $this->getSalt(),
			$keys[4] => $this->getPassword(),
			$keys[5] => $this->getCreatedAt(),
			$keys[6] => $this->getLastLogin(),
			$keys[7] => $this->getIsActive(),
			$keys[8] => $this->getIsSuperAdmin(),
		);
		return $result;
	}

	
	public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME)
	{
		$pos = sfGuardUserPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
		return $this->setByPosition($pos, $value);
	}

	
	public function setByPosition($pos, $value)
	{
		switch($pos) {
			case 0:
				$this->setId($value);
				break;
			case 1:
				$this->setUsername($value);
				break;
			case 2:
				$this->setAlgorithm($value);
				break;
			case 3:
				$this->setSalt($value);
				break;
			case 4:
				$this->setPassword($value);
				break;
			case 5:
				$this->setCreatedAt($value);
				break;
			case 6:
				$this->setLastLogin($value);
				break;
			case 7:
				$this->setIsActive($value);
				break;
			case 8:
				$this->setIsSuperAdmin($value);
				break;
		} 	}

	
	public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
	{
		$keys = sfGuardUserPeer::getFieldNames($keyType);

		if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]);
		if (array_key_exists($keys[1], $arr)) $this->setUsername($arr[$keys[1]]);
		if (array_key_exists($keys[2], $arr)) $this->setAlgorithm($arr[$keys[2]]);
		if (array_key_exists($keys[3], $arr)) $this->setSalt($arr[$keys[3]]);
		if (array_key_exists($keys[4], $arr)) $this->setPassword($arr[$keys[4]]);
		if (array_key_exists($keys[5], $arr)) $this->setCreatedAt($arr[$keys[5]]);
		if (array_key_exists($keys[6], $arr)) $this->setLastLogin($arr[$keys[6]]);
		if (array_key_exists($keys[7], $arr)) $this->setIsActive($arr[$keys[7]]);
		if (array_key_exists($keys[8], $arr)) $this->setIsSuperAdmin($arr[$keys[8]]);
	}

	
	public function buildCriteria()
	{
		$criteria = new Criteria(sfGuardUserPeer::DATABASE_NAME);

		if ($this->isColumnModified(sfGuardUserPeer::ID)) $criteria->add(sfGuardUserPeer::ID, $this->id);
		if ($this->isColumnModified(sfGuardUserPeer::USERNAME)) $criteria->add(sfGuardUserPeer::USERNAME, $this->username);
		if ($this->isColumnModified(sfGuardUserPeer::ALGORITHM)) $criteria->add(sfGuardUserPeer::ALGORITHM, $this->algorithm);
		if ($this->isColumnModified(sfGuardUserPeer::SALT)) $criteria->add(sfGuardUserPeer::SALT, $this->salt);
		if ($this->isColumnModified(sfGuardUserPeer::PASSWORD)) $criteria->add(sfGuardUserPeer::PASSWORD, $this->password);
		if ($this->isColumnModified(sfGuardUserPeer::CREATED_AT)) $criteria->add(sfGuardUserPeer::CREATED_AT, $this->created_at);
		if ($this->isColumnModified(sfGuardUserPeer::LAST_LOGIN)) $criteria->add(sfGuardUserPeer::LAST_LOGIN, $this->last_login);
		if ($this->isColumnModified(sfGuardUserPeer::IS_ACTIVE)) $criteria->add(sfGuardUserPeer::IS_ACTIVE, $this->is_active);
		if ($this->isColumnModified(sfGuardUserPeer::IS_SUPER_ADMIN)) $criteria->add(sfGuardUserPeer::IS_SUPER_ADMIN, $this->is_super_admin);

		return $criteria;
	}

	
	public function buildPkeyCriteria()
	{
		$criteria = new Criteria(sfGuardUserPeer::DATABASE_NAME);

		$criteria->add(sfGuardUserPeer::ID, $this->id);

		return $criteria;
	}

	
	public function getPrimaryKey()
	{
		return $this->getId();
	}

	
	public function setPrimaryKey($key)
	{
		$this->setId($key);
	}

	
	public function copyInto($copyObj, $deepCopy = false)
	{

		$copyObj->setUsername($this->username);

		$copyObj->setAlgorithm($this->algorithm);

		$copyObj->setSalt($this->salt);

		$copyObj->setPassword($this->password);

		$copyObj->setCreatedAt($this->created_at);

		$copyObj->setLastLogin($this->last_login);

		$copyObj->setIsActive($this->is_active);

		$copyObj->setIsSuperAdmin($this->is_super_admin);


		if ($deepCopy) {
									$copyObj->setNew(false);

			foreach($this->getAcctPrintHoldsRelatedByCreatedByUserId() as $relObj) {
				$copyObj->addAcctPrintHoldRelatedByCreatedByUserId($relObj->copy($deepCopy));
			}

			foreach($this->getAcctPrintHoldsRelatedByUpdatedByUserId() as $relObj) {
				$copyObj->addAcctPrintHoldRelatedByUpdatedByUserId($relObj->copy($deepCopy));
			}

			foreach($this->getAcctPrintHoldHistsRelatedByCreatedByUserId() as $relObj) {
				$copyObj->addAcctPrintHoldHistRelatedByCreatedByUserId($relObj->copy($deepCopy));
			}

			foreach($this->getAcctPrintHoldHistsRelatedByUpdatedByUserId() as $relObj) {
				$copyObj->addAcctPrintHoldHistRelatedByUpdatedByUserId($relObj->copy($deepCopy));
			}

			foreach($this->getInmUploads() as $relObj) {
				$copyObj->addInmUpload($relObj->copy($deepCopy));
			}

			foreach($this->getInmRecipientsRelatedByCreatedByUserId() as $relObj) {
				$copyObj->addInmRecipientRelatedByCreatedByUserId($relObj->copy($deepCopy));
			}

			foreach($this->getInmRecipientsRelatedByUpdatedByUserId() as $relObj) {
				$copyObj->addInmRecipientRelatedByUpdatedByUserId($relObj->copy($deepCopy));
			}

			foreach($this->getUs2Docs() as $relObj) {
				$copyObj->addUs2Doc($relObj->copy($deepCopy));
			}

			foreach($this->getUs2Orders() as $relObj) {
				$copyObj->addUs2Order($relObj->copy($deepCopy));
			}

			foreach($this->getUs2OrderProductsRelatedByCreatedByUserId() as $relObj) {
				$copyObj->addUs2OrderProductRelatedByCreatedByUserId($relObj->copy($deepCopy));
			}

			foreach($this->getUs2OrderProductsRelatedByUpdatedByUserId() as $relObj) {
				$copyObj->addUs2OrderProductRelatedByUpdatedByUserId($relObj->copy($deepCopy));
			}

			foreach($this->getUs2Pulls() as $relObj) {
				$copyObj->addUs2Pull($relObj->copy($deepCopy));
			}

			foreach($this->getUs2Uploads() as $relObj) {
				$copyObj->addUs2Upload($relObj->copy($deepCopy));
			}

			foreach($this->getSfGuardUserProfiles() as $relObj) {
				$copyObj->addSfGuardUserProfile($relObj->copy($deepCopy));
			}

			foreach($this->getUserMemberships() as $relObj) {
				$copyObj->addUserMembership($relObj->copy($deepCopy));
			}

			foreach($this->getsfGuardUserPermissions() as $relObj) {
				$copyObj->addsfGuardUserPermission($relObj->copy($deepCopy));
			}

			foreach($this->getsfGuardUserGroups() as $relObj) {
				$copyObj->addsfGuardUserGroup($relObj->copy($deepCopy));
			}

			foreach($this->getsfGuardRememberKeys() as $relObj) {
				$copyObj->addsfGuardRememberKey($relObj->copy($deepCopy));
			}

		} 

		$copyObj->setNew(true);

		$copyObj->setId(NULL); 
	}

	
	public function copy($deepCopy = false)
	{
				$clazz = get_class($this);
		$copyObj = new $clazz();
		$this->copyInto($copyObj, $deepCopy);
		return $copyObj;
	}

	
	public function getPeer()
	{
		if (self::$peer === null) {
			self::$peer = new sfGuardUserPeer();
		}
		return self::$peer;
	}

	
	public function initAcctPrintHoldsRelatedByCreatedByUserId()
	{
		if ($this->collAcctPrintHoldsRelatedByCreatedByUserId === null) {
			$this->collAcctPrintHoldsRelatedByCreatedByUserId = array();
		}
	}

	
	public function getAcctPrintHoldsRelatedByCreatedByUserId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
			   $this->collAcctPrintHoldsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldPeer::CREATED_BY_USER_ID, $this->getId());

				AcctPrintHoldPeer::addSelectColumns($criteria);
				$this->collAcctPrintHoldsRelatedByCreatedByUserId = AcctPrintHoldPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(AcctPrintHoldPeer::CREATED_BY_USER_ID, $this->getId());

				AcctPrintHoldPeer::addSelectColumns($criteria);
				if (!isset($this->lastAcctPrintHoldRelatedByCreatedByUserIdCriteria) || !$this->lastAcctPrintHoldRelatedByCreatedByUserIdCriteria->equals($criteria)) {
					$this->collAcctPrintHoldsRelatedByCreatedByUserId = AcctPrintHoldPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastAcctPrintHoldRelatedByCreatedByUserIdCriteria = $criteria;
		return $this->collAcctPrintHoldsRelatedByCreatedByUserId;
	}

	
	public function countAcctPrintHoldsRelatedByCreatedByUserId($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(AcctPrintHoldPeer::CREATED_BY_USER_ID, $this->getId());

		return AcctPrintHoldPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addAcctPrintHoldRelatedByCreatedByUserId(AcctPrintHold $l)
	{
		$this->collAcctPrintHoldsRelatedByCreatedByUserId[] = $l;
		$l->setsfGuardUserRelatedByCreatedByUserId($this);
	}


	
	public function getAcctPrintHoldsRelatedByCreatedByUserIdJoinClient($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldsRelatedByCreatedByUserId = AcctPrintHoldPeer::doSelectJoinClient($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldRelatedByCreatedByUserIdCriteria) || !$this->lastAcctPrintHoldRelatedByCreatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldsRelatedByCreatedByUserId = AcctPrintHoldPeer::doSelectJoinClient($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldRelatedByCreatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldsRelatedByCreatedByUserId;
	}


	
	public function getAcctPrintHoldsRelatedByCreatedByUserIdJoinCustomer($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldsRelatedByCreatedByUserId = AcctPrintHoldPeer::doSelectJoinCustomer($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldRelatedByCreatedByUserIdCriteria) || !$this->lastAcctPrintHoldRelatedByCreatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldsRelatedByCreatedByUserId = AcctPrintHoldPeer::doSelectJoinCustomer($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldRelatedByCreatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldsRelatedByCreatedByUserId;
	}

	
	public function initAcctPrintHoldsRelatedByUpdatedByUserId()
	{
		if ($this->collAcctPrintHoldsRelatedByUpdatedByUserId === null) {
			$this->collAcctPrintHoldsRelatedByUpdatedByUserId = array();
		}
	}

	
	public function getAcctPrintHoldsRelatedByUpdatedByUserId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
			   $this->collAcctPrintHoldsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldPeer::UPDATED_BY_USER_ID, $this->getId());

				AcctPrintHoldPeer::addSelectColumns($criteria);
				$this->collAcctPrintHoldsRelatedByUpdatedByUserId = AcctPrintHoldPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(AcctPrintHoldPeer::UPDATED_BY_USER_ID, $this->getId());

				AcctPrintHoldPeer::addSelectColumns($criteria);
				if (!isset($this->lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria) || !$this->lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
					$this->collAcctPrintHoldsRelatedByUpdatedByUserId = AcctPrintHoldPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria = $criteria;
		return $this->collAcctPrintHoldsRelatedByUpdatedByUserId;
	}

	
	public function countAcctPrintHoldsRelatedByUpdatedByUserId($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(AcctPrintHoldPeer::UPDATED_BY_USER_ID, $this->getId());

		return AcctPrintHoldPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addAcctPrintHoldRelatedByUpdatedByUserId(AcctPrintHold $l)
	{
		$this->collAcctPrintHoldsRelatedByUpdatedByUserId[] = $l;
		$l->setsfGuardUserRelatedByUpdatedByUserId($this);
	}


	
	public function getAcctPrintHoldsRelatedByUpdatedByUserIdJoinClient($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldPeer::UPDATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldsRelatedByUpdatedByUserId = AcctPrintHoldPeer::doSelectJoinClient($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldPeer::UPDATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria) || !$this->lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldsRelatedByUpdatedByUserId = AcctPrintHoldPeer::doSelectJoinClient($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldsRelatedByUpdatedByUserId;
	}


	
	public function getAcctPrintHoldsRelatedByUpdatedByUserIdJoinCustomer($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldPeer::UPDATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldsRelatedByUpdatedByUserId = AcctPrintHoldPeer::doSelectJoinCustomer($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldPeer::UPDATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria) || !$this->lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldsRelatedByUpdatedByUserId = AcctPrintHoldPeer::doSelectJoinCustomer($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldRelatedByUpdatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldsRelatedByUpdatedByUserId;
	}

	
	public function initAcctPrintHoldHistsRelatedByCreatedByUserId()
	{
		if ($this->collAcctPrintHoldHistsRelatedByCreatedByUserId === null) {
			$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = array();
		}
	}

	
	public function getAcctPrintHoldHistsRelatedByCreatedByUserId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldHistsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
			   $this->collAcctPrintHoldHistsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldHistPeer::CREATED_BY_USER_ID, $this->getId());

				AcctPrintHoldHistPeer::addSelectColumns($criteria);
				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = AcctPrintHoldHistPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(AcctPrintHoldHistPeer::CREATED_BY_USER_ID, $this->getId());

				AcctPrintHoldHistPeer::addSelectColumns($criteria);
				if (!isset($this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria) || !$this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria->equals($criteria)) {
					$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = AcctPrintHoldHistPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria = $criteria;
		return $this->collAcctPrintHoldHistsRelatedByCreatedByUserId;
	}

	
	public function countAcctPrintHoldHistsRelatedByCreatedByUserId($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(AcctPrintHoldHistPeer::CREATED_BY_USER_ID, $this->getId());

		return AcctPrintHoldHistPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addAcctPrintHoldHistRelatedByCreatedByUserId(AcctPrintHoldHist $l)
	{
		$this->collAcctPrintHoldHistsRelatedByCreatedByUserId[] = $l;
		$l->setsfGuardUserRelatedByCreatedByUserId($this);
	}


	
	public function getAcctPrintHoldHistsRelatedByCreatedByUserIdJoinAcctPrintHold($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldHistsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldHistPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = AcctPrintHoldHistPeer::doSelectJoinAcctPrintHold($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldHistPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria) || !$this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = AcctPrintHoldHistPeer::doSelectJoinAcctPrintHold($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldHistsRelatedByCreatedByUserId;
	}


	
	public function getAcctPrintHoldHistsRelatedByCreatedByUserIdJoinClient($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldHistsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldHistPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = AcctPrintHoldHistPeer::doSelectJoinClient($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldHistPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria) || !$this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = AcctPrintHoldHistPeer::doSelectJoinClient($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldHistsRelatedByCreatedByUserId;
	}


	
	public function getAcctPrintHoldHistsRelatedByCreatedByUserIdJoinCustomer($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldHistsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldHistPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = AcctPrintHoldHistPeer::doSelectJoinCustomer($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldHistPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria) || !$this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldHistsRelatedByCreatedByUserId = AcctPrintHoldHistPeer::doSelectJoinCustomer($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldHistRelatedByCreatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldHistsRelatedByCreatedByUserId;
	}

	
	public function initAcctPrintHoldHistsRelatedByUpdatedByUserId()
	{
		if ($this->collAcctPrintHoldHistsRelatedByUpdatedByUserId === null) {
			$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = array();
		}
	}

	
	public function getAcctPrintHoldHistsRelatedByUpdatedByUserId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldHistsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
			   $this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldHistPeer::UPDATED_BY_USER_ID, $this->getId());

				AcctPrintHoldHistPeer::addSelectColumns($criteria);
				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = AcctPrintHoldHistPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(AcctPrintHoldHistPeer::UPDATED_BY_USER_ID, $this->getId());

				AcctPrintHoldHistPeer::addSelectColumns($criteria);
				if (!isset($this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria) || !$this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
					$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = AcctPrintHoldHistPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria = $criteria;
		return $this->collAcctPrintHoldHistsRelatedByUpdatedByUserId;
	}

	
	public function countAcctPrintHoldHistsRelatedByUpdatedByUserId($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(AcctPrintHoldHistPeer::UPDATED_BY_USER_ID, $this->getId());

		return AcctPrintHoldHistPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addAcctPrintHoldHistRelatedByUpdatedByUserId(AcctPrintHoldHist $l)
	{
		$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId[] = $l;
		$l->setsfGuardUserRelatedByUpdatedByUserId($this);
	}


	
	public function getAcctPrintHoldHistsRelatedByUpdatedByUserIdJoinAcctPrintHold($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldHistsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldHistPeer::UPDATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = AcctPrintHoldHistPeer::doSelectJoinAcctPrintHold($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldHistPeer::UPDATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria) || !$this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = AcctPrintHoldHistPeer::doSelectJoinAcctPrintHold($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldHistsRelatedByUpdatedByUserId;
	}


	
	public function getAcctPrintHoldHistsRelatedByUpdatedByUserIdJoinClient($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldHistsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldHistPeer::UPDATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = AcctPrintHoldHistPeer::doSelectJoinClient($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldHistPeer::UPDATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria) || !$this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = AcctPrintHoldHistPeer::doSelectJoinClient($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldHistsRelatedByUpdatedByUserId;
	}


	
	public function getAcctPrintHoldHistsRelatedByUpdatedByUserIdJoinCustomer($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAcctPrintHoldHistPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAcctPrintHoldHistsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(AcctPrintHoldHistPeer::UPDATED_BY_USER_ID, $this->getId());

				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = AcctPrintHoldHistPeer::doSelectJoinCustomer($criteria, $con);
			}
		} else {
									
			$criteria->add(AcctPrintHoldHistPeer::UPDATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria) || !$this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
				$this->collAcctPrintHoldHistsRelatedByUpdatedByUserId = AcctPrintHoldHistPeer::doSelectJoinCustomer($criteria, $con);
			}
		}
		$this->lastAcctPrintHoldHistRelatedByUpdatedByUserIdCriteria = $criteria;

		return $this->collAcctPrintHoldHistsRelatedByUpdatedByUserId;
	}

	
	public function initInmUploads()
	{
		if ($this->collInmUploads === null) {
			$this->collInmUploads = array();
		}
	}

	
	public function getInmUploads($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseInmUploadPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collInmUploads === null) {
			if ($this->isNew()) {
			   $this->collInmUploads = array();
			} else {

				$criteria->add(InmUploadPeer::CREATED_BY_USER_ID, $this->getId());

				InmUploadPeer::addSelectColumns($criteria);
				$this->collInmUploads = InmUploadPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(InmUploadPeer::CREATED_BY_USER_ID, $this->getId());

				InmUploadPeer::addSelectColumns($criteria);
				if (!isset($this->lastInmUploadCriteria) || !$this->lastInmUploadCriteria->equals($criteria)) {
					$this->collInmUploads = InmUploadPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastInmUploadCriteria = $criteria;
		return $this->collInmUploads;
	}

	
	public function countInmUploads($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseInmUploadPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(InmUploadPeer::CREATED_BY_USER_ID, $this->getId());

		return InmUploadPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addInmUpload(InmUpload $l)
	{
		$this->collInmUploads[] = $l;
		$l->setsfGuardUser($this);
	}


	
	public function getInmUploadsJoinCustomer($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseInmUploadPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collInmUploads === null) {
			if ($this->isNew()) {
				$this->collInmUploads = array();
			} else {

				$criteria->add(InmUploadPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collInmUploads = InmUploadPeer::doSelectJoinCustomer($criteria, $con);
			}
		} else {
									
			$criteria->add(InmUploadPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastInmUploadCriteria) || !$this->lastInmUploadCriteria->equals($criteria)) {
				$this->collInmUploads = InmUploadPeer::doSelectJoinCustomer($criteria, $con);
			}
		}
		$this->lastInmUploadCriteria = $criteria;

		return $this->collInmUploads;
	}

	
	public function initInmRecipientsRelatedByCreatedByUserId()
	{
		if ($this->collInmRecipientsRelatedByCreatedByUserId === null) {
			$this->collInmRecipientsRelatedByCreatedByUserId = array();
		}
	}

	
	public function getInmRecipientsRelatedByCreatedByUserId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseInmRecipientPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collInmRecipientsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
			   $this->collInmRecipientsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(InmRecipientPeer::CREATED_BY_USER_ID, $this->getId());

				InmRecipientPeer::addSelectColumns($criteria);
				$this->collInmRecipientsRelatedByCreatedByUserId = InmRecipientPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(InmRecipientPeer::CREATED_BY_USER_ID, $this->getId());

				InmRecipientPeer::addSelectColumns($criteria);
				if (!isset($this->lastInmRecipientRelatedByCreatedByUserIdCriteria) || !$this->lastInmRecipientRelatedByCreatedByUserIdCriteria->equals($criteria)) {
					$this->collInmRecipientsRelatedByCreatedByUserId = InmRecipientPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastInmRecipientRelatedByCreatedByUserIdCriteria = $criteria;
		return $this->collInmRecipientsRelatedByCreatedByUserId;
	}

	
	public function countInmRecipientsRelatedByCreatedByUserId($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseInmRecipientPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(InmRecipientPeer::CREATED_BY_USER_ID, $this->getId());

		return InmRecipientPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addInmRecipientRelatedByCreatedByUserId(InmRecipient $l)
	{
		$this->collInmRecipientsRelatedByCreatedByUserId[] = $l;
		$l->setsfGuardUserRelatedByCreatedByUserId($this);
	}

	
	public function initInmRecipientsRelatedByUpdatedByUserId()
	{
		if ($this->collInmRecipientsRelatedByUpdatedByUserId === null) {
			$this->collInmRecipientsRelatedByUpdatedByUserId = array();
		}
	}

	
	public function getInmRecipientsRelatedByUpdatedByUserId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseInmRecipientPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collInmRecipientsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
			   $this->collInmRecipientsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(InmRecipientPeer::UPDATED_BY_USER_ID, $this->getId());

				InmRecipientPeer::addSelectColumns($criteria);
				$this->collInmRecipientsRelatedByUpdatedByUserId = InmRecipientPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(InmRecipientPeer::UPDATED_BY_USER_ID, $this->getId());

				InmRecipientPeer::addSelectColumns($criteria);
				if (!isset($this->lastInmRecipientRelatedByUpdatedByUserIdCriteria) || !$this->lastInmRecipientRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
					$this->collInmRecipientsRelatedByUpdatedByUserId = InmRecipientPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastInmRecipientRelatedByUpdatedByUserIdCriteria = $criteria;
		return $this->collInmRecipientsRelatedByUpdatedByUserId;
	}

	
	public function countInmRecipientsRelatedByUpdatedByUserId($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseInmRecipientPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(InmRecipientPeer::UPDATED_BY_USER_ID, $this->getId());

		return InmRecipientPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addInmRecipientRelatedByUpdatedByUserId(InmRecipient $l)
	{
		$this->collInmRecipientsRelatedByUpdatedByUserId[] = $l;
		$l->setsfGuardUserRelatedByUpdatedByUserId($this);
	}

	
	public function initUs2Docs()
	{
		if ($this->collUs2Docs === null) {
			$this->collUs2Docs = array();
		}
	}

	
	public function getUs2Docs($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2DocPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Docs === null) {
			if ($this->isNew()) {
			   $this->collUs2Docs = array();
			} else {

				$criteria->add(Us2DocPeer::EDITING_USER_ID, $this->getId());

				Us2DocPeer::addSelectColumns($criteria);
				$this->collUs2Docs = Us2DocPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(Us2DocPeer::EDITING_USER_ID, $this->getId());

				Us2DocPeer::addSelectColumns($criteria);
				if (!isset($this->lastUs2DocCriteria) || !$this->lastUs2DocCriteria->equals($criteria)) {
					$this->collUs2Docs = Us2DocPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastUs2DocCriteria = $criteria;
		return $this->collUs2Docs;
	}

	
	public function countUs2Docs($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseUs2DocPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(Us2DocPeer::EDITING_USER_ID, $this->getId());

		return Us2DocPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addUs2Doc(Us2Doc $l)
	{
		$this->collUs2Docs[] = $l;
		$l->setsfGuardUser($this);
	}


	
	public function getUs2DocsJoinUs2Store($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2DocPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Docs === null) {
			if ($this->isNew()) {
				$this->collUs2Docs = array();
			} else {

				$criteria->add(Us2DocPeer::EDITING_USER_ID, $this->getId());

				$this->collUs2Docs = Us2DocPeer::doSelectJoinUs2Store($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2DocPeer::EDITING_USER_ID, $this->getId());

			if (!isset($this->lastUs2DocCriteria) || !$this->lastUs2DocCriteria->equals($criteria)) {
				$this->collUs2Docs = Us2DocPeer::doSelectJoinUs2Store($criteria, $con);
			}
		}
		$this->lastUs2DocCriteria = $criteria;

		return $this->collUs2Docs;
	}


	
	public function getUs2DocsJoinUs2DocType($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2DocPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Docs === null) {
			if ($this->isNew()) {
				$this->collUs2Docs = array();
			} else {

				$criteria->add(Us2DocPeer::EDITING_USER_ID, $this->getId());

				$this->collUs2Docs = Us2DocPeer::doSelectJoinUs2DocType($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2DocPeer::EDITING_USER_ID, $this->getId());

			if (!isset($this->lastUs2DocCriteria) || !$this->lastUs2DocCriteria->equals($criteria)) {
				$this->collUs2Docs = Us2DocPeer::doSelectJoinUs2DocType($criteria, $con);
			}
		}
		$this->lastUs2DocCriteria = $criteria;

		return $this->collUs2Docs;
	}


	
	public function getUs2DocsJoinUs2Product($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2DocPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Docs === null) {
			if ($this->isNew()) {
				$this->collUs2Docs = array();
			} else {

				$criteria->add(Us2DocPeer::EDITING_USER_ID, $this->getId());

				$this->collUs2Docs = Us2DocPeer::doSelectJoinUs2Product($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2DocPeer::EDITING_USER_ID, $this->getId());

			if (!isset($this->lastUs2DocCriteria) || !$this->lastUs2DocCriteria->equals($criteria)) {
				$this->collUs2Docs = Us2DocPeer::doSelectJoinUs2Product($criteria, $con);
			}
		}
		$this->lastUs2DocCriteria = $criteria;

		return $this->collUs2Docs;
	}

	
	public function initUs2Orders()
	{
		if ($this->collUs2Orders === null) {
			$this->collUs2Orders = array();
		}
	}

	
	public function getUs2Orders($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Orders === null) {
			if ($this->isNew()) {
			   $this->collUs2Orders = array();
			} else {

				$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

				Us2OrderPeer::addSelectColumns($criteria);
				$this->collUs2Orders = Us2OrderPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

				Us2OrderPeer::addSelectColumns($criteria);
				if (!isset($this->lastUs2OrderCriteria) || !$this->lastUs2OrderCriteria->equals($criteria)) {
					$this->collUs2Orders = Us2OrderPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastUs2OrderCriteria = $criteria;
		return $this->collUs2Orders;
	}

	
	public function countUs2Orders($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

		return Us2OrderPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addUs2Order(Us2Order $l)
	{
		$this->collUs2Orders[] = $l;
		$l->setsfGuardUser($this);
	}


	
	public function getUs2OrdersJoinUs2Store($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Orders === null) {
			if ($this->isNew()) {
				$this->collUs2Orders = array();
			} else {

				$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

				$this->collUs2Orders = Us2OrderPeer::doSelectJoinUs2Store($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderCriteria) || !$this->lastUs2OrderCriteria->equals($criteria)) {
				$this->collUs2Orders = Us2OrderPeer::doSelectJoinUs2Store($criteria, $con);
			}
		}
		$this->lastUs2OrderCriteria = $criteria;

		return $this->collUs2Orders;
	}


	
	public function getUs2OrdersJoinCustomerRelatedByCustomerId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Orders === null) {
			if ($this->isNew()) {
				$this->collUs2Orders = array();
			} else {

				$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

				$this->collUs2Orders = Us2OrderPeer::doSelectJoinCustomerRelatedByCustomerId($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderCriteria) || !$this->lastUs2OrderCriteria->equals($criteria)) {
				$this->collUs2Orders = Us2OrderPeer::doSelectJoinCustomerRelatedByCustomerId($criteria, $con);
			}
		}
		$this->lastUs2OrderCriteria = $criteria;

		return $this->collUs2Orders;
	}


	
	public function getUs2OrdersJoinClient($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Orders === null) {
			if ($this->isNew()) {
				$this->collUs2Orders = array();
			} else {

				$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

				$this->collUs2Orders = Us2OrderPeer::doSelectJoinClient($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderCriteria) || !$this->lastUs2OrderCriteria->equals($criteria)) {
				$this->collUs2Orders = Us2OrderPeer::doSelectJoinClient($criteria, $con);
			}
		}
		$this->lastUs2OrderCriteria = $criteria;

		return $this->collUs2Orders;
	}


	
	public function getUs2OrdersJoinCustomerRelatedByTempCustomerId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Orders === null) {
			if ($this->isNew()) {
				$this->collUs2Orders = array();
			} else {

				$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

				$this->collUs2Orders = Us2OrderPeer::doSelectJoinCustomerRelatedByTempCustomerId($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderCriteria) || !$this->lastUs2OrderCriteria->equals($criteria)) {
				$this->collUs2Orders = Us2OrderPeer::doSelectJoinCustomerRelatedByTempCustomerId($criteria, $con);
			}
		}
		$this->lastUs2OrderCriteria = $criteria;

		return $this->collUs2Orders;
	}


	
	public function getUs2OrdersJoinUs2Payment($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Orders === null) {
			if ($this->isNew()) {
				$this->collUs2Orders = array();
			} else {

				$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

				$this->collUs2Orders = Us2OrderPeer::doSelectJoinUs2Payment($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderCriteria) || !$this->lastUs2OrderCriteria->equals($criteria)) {
				$this->collUs2Orders = Us2OrderPeer::doSelectJoinUs2Payment($criteria, $con);
			}
		}
		$this->lastUs2OrderCriteria = $criteria;

		return $this->collUs2Orders;
	}


	
	public function getUs2OrdersJoinUs2OrderType($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Orders === null) {
			if ($this->isNew()) {
				$this->collUs2Orders = array();
			} else {

				$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

				$this->collUs2Orders = Us2OrderPeer::doSelectJoinUs2OrderType($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderCriteria) || !$this->lastUs2OrderCriteria->equals($criteria)) {
				$this->collUs2Orders = Us2OrderPeer::doSelectJoinUs2OrderType($criteria, $con);
			}
		}
		$this->lastUs2OrderCriteria = $criteria;

		return $this->collUs2Orders;
	}


	
	public function getUs2OrdersJoinUs2Coupon($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Orders === null) {
			if ($this->isNew()) {
				$this->collUs2Orders = array();
			} else {

				$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

				$this->collUs2Orders = Us2OrderPeer::doSelectJoinUs2Coupon($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderPeer::USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderCriteria) || !$this->lastUs2OrderCriteria->equals($criteria)) {
				$this->collUs2Orders = Us2OrderPeer::doSelectJoinUs2Coupon($criteria, $con);
			}
		}
		$this->lastUs2OrderCriteria = $criteria;

		return $this->collUs2Orders;
	}

	
	public function initUs2OrderProductsRelatedByCreatedByUserId()
	{
		if ($this->collUs2OrderProductsRelatedByCreatedByUserId === null) {
			$this->collUs2OrderProductsRelatedByCreatedByUserId = array();
		}
	}

	
	public function getUs2OrderProductsRelatedByCreatedByUserId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2OrderProductsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
			   $this->collUs2OrderProductsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(Us2OrderProductPeer::CREATED_BY_USER_ID, $this->getId());

				Us2OrderProductPeer::addSelectColumns($criteria);
				$this->collUs2OrderProductsRelatedByCreatedByUserId = Us2OrderProductPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(Us2OrderProductPeer::CREATED_BY_USER_ID, $this->getId());

				Us2OrderProductPeer::addSelectColumns($criteria);
				if (!isset($this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria) || !$this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria->equals($criteria)) {
					$this->collUs2OrderProductsRelatedByCreatedByUserId = Us2OrderProductPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria = $criteria;
		return $this->collUs2OrderProductsRelatedByCreatedByUserId;
	}

	
	public function countUs2OrderProductsRelatedByCreatedByUserId($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(Us2OrderProductPeer::CREATED_BY_USER_ID, $this->getId());

		return Us2OrderProductPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addUs2OrderProductRelatedByCreatedByUserId(Us2OrderProduct $l)
	{
		$this->collUs2OrderProductsRelatedByCreatedByUserId[] = $l;
		$l->setsfGuardUserRelatedByCreatedByUserId($this);
	}


	
	public function getUs2OrderProductsRelatedByCreatedByUserIdJoinUs2Order($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2OrderProductsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
				$this->collUs2OrderProductsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(Us2OrderProductPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collUs2OrderProductsRelatedByCreatedByUserId = Us2OrderProductPeer::doSelectJoinUs2Order($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderProductPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria) || !$this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria->equals($criteria)) {
				$this->collUs2OrderProductsRelatedByCreatedByUserId = Us2OrderProductPeer::doSelectJoinUs2Order($criteria, $con);
			}
		}
		$this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria = $criteria;

		return $this->collUs2OrderProductsRelatedByCreatedByUserId;
	}


	
	public function getUs2OrderProductsRelatedByCreatedByUserIdJoinUs2Product($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2OrderProductsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
				$this->collUs2OrderProductsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(Us2OrderProductPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collUs2OrderProductsRelatedByCreatedByUserId = Us2OrderProductPeer::doSelectJoinUs2Product($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderProductPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria) || !$this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria->equals($criteria)) {
				$this->collUs2OrderProductsRelatedByCreatedByUserId = Us2OrderProductPeer::doSelectJoinUs2Product($criteria, $con);
			}
		}
		$this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria = $criteria;

		return $this->collUs2OrderProductsRelatedByCreatedByUserId;
	}


	
	public function getUs2OrderProductsRelatedByCreatedByUserIdJoinCustomer($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2OrderProductsRelatedByCreatedByUserId === null) {
			if ($this->isNew()) {
				$this->collUs2OrderProductsRelatedByCreatedByUserId = array();
			} else {

				$criteria->add(Us2OrderProductPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collUs2OrderProductsRelatedByCreatedByUserId = Us2OrderProductPeer::doSelectJoinCustomer($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderProductPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria) || !$this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria->equals($criteria)) {
				$this->collUs2OrderProductsRelatedByCreatedByUserId = Us2OrderProductPeer::doSelectJoinCustomer($criteria, $con);
			}
		}
		$this->lastUs2OrderProductRelatedByCreatedByUserIdCriteria = $criteria;

		return $this->collUs2OrderProductsRelatedByCreatedByUserId;
	}

	
	public function initUs2OrderProductsRelatedByUpdatedByUserId()
	{
		if ($this->collUs2OrderProductsRelatedByUpdatedByUserId === null) {
			$this->collUs2OrderProductsRelatedByUpdatedByUserId = array();
		}
	}

	
	public function getUs2OrderProductsRelatedByUpdatedByUserId($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2OrderProductsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
			   $this->collUs2OrderProductsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(Us2OrderProductPeer::UPDATED_BY_USER_ID, $this->getId());

				Us2OrderProductPeer::addSelectColumns($criteria);
				$this->collUs2OrderProductsRelatedByUpdatedByUserId = Us2OrderProductPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(Us2OrderProductPeer::UPDATED_BY_USER_ID, $this->getId());

				Us2OrderProductPeer::addSelectColumns($criteria);
				if (!isset($this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria) || !$this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
					$this->collUs2OrderProductsRelatedByUpdatedByUserId = Us2OrderProductPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria = $criteria;
		return $this->collUs2OrderProductsRelatedByUpdatedByUserId;
	}

	
	public function countUs2OrderProductsRelatedByUpdatedByUserId($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(Us2OrderProductPeer::UPDATED_BY_USER_ID, $this->getId());

		return Us2OrderProductPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addUs2OrderProductRelatedByUpdatedByUserId(Us2OrderProduct $l)
	{
		$this->collUs2OrderProductsRelatedByUpdatedByUserId[] = $l;
		$l->setsfGuardUserRelatedByUpdatedByUserId($this);
	}


	
	public function getUs2OrderProductsRelatedByUpdatedByUserIdJoinUs2Order($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2OrderProductsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
				$this->collUs2OrderProductsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(Us2OrderProductPeer::UPDATED_BY_USER_ID, $this->getId());

				$this->collUs2OrderProductsRelatedByUpdatedByUserId = Us2OrderProductPeer::doSelectJoinUs2Order($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderProductPeer::UPDATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria) || !$this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
				$this->collUs2OrderProductsRelatedByUpdatedByUserId = Us2OrderProductPeer::doSelectJoinUs2Order($criteria, $con);
			}
		}
		$this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria = $criteria;

		return $this->collUs2OrderProductsRelatedByUpdatedByUserId;
	}


	
	public function getUs2OrderProductsRelatedByUpdatedByUserIdJoinUs2Product($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2OrderProductsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
				$this->collUs2OrderProductsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(Us2OrderProductPeer::UPDATED_BY_USER_ID, $this->getId());

				$this->collUs2OrderProductsRelatedByUpdatedByUserId = Us2OrderProductPeer::doSelectJoinUs2Product($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderProductPeer::UPDATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria) || !$this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
				$this->collUs2OrderProductsRelatedByUpdatedByUserId = Us2OrderProductPeer::doSelectJoinUs2Product($criteria, $con);
			}
		}
		$this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria = $criteria;

		return $this->collUs2OrderProductsRelatedByUpdatedByUserId;
	}


	
	public function getUs2OrderProductsRelatedByUpdatedByUserIdJoinCustomer($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2OrderProductPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2OrderProductsRelatedByUpdatedByUserId === null) {
			if ($this->isNew()) {
				$this->collUs2OrderProductsRelatedByUpdatedByUserId = array();
			} else {

				$criteria->add(Us2OrderProductPeer::UPDATED_BY_USER_ID, $this->getId());

				$this->collUs2OrderProductsRelatedByUpdatedByUserId = Us2OrderProductPeer::doSelectJoinCustomer($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2OrderProductPeer::UPDATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria) || !$this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria->equals($criteria)) {
				$this->collUs2OrderProductsRelatedByUpdatedByUserId = Us2OrderProductPeer::doSelectJoinCustomer($criteria, $con);
			}
		}
		$this->lastUs2OrderProductRelatedByUpdatedByUserIdCriteria = $criteria;

		return $this->collUs2OrderProductsRelatedByUpdatedByUserId;
	}

	
	public function initUs2Pulls()
	{
		if ($this->collUs2Pulls === null) {
			$this->collUs2Pulls = array();
		}
	}

	
	public function getUs2Pulls($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2PullPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Pulls === null) {
			if ($this->isNew()) {
			   $this->collUs2Pulls = array();
			} else {

				$criteria->add(Us2PullPeer::PULLED_BY_USER_ID, $this->getId());

				Us2PullPeer::addSelectColumns($criteria);
				$this->collUs2Pulls = Us2PullPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(Us2PullPeer::PULLED_BY_USER_ID, $this->getId());

				Us2PullPeer::addSelectColumns($criteria);
				if (!isset($this->lastUs2PullCriteria) || !$this->lastUs2PullCriteria->equals($criteria)) {
					$this->collUs2Pulls = Us2PullPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastUs2PullCriteria = $criteria;
		return $this->collUs2Pulls;
	}

	
	public function countUs2Pulls($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseUs2PullPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(Us2PullPeer::PULLED_BY_USER_ID, $this->getId());

		return Us2PullPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addUs2Pull(Us2Pull $l)
	{
		$this->collUs2Pulls[] = $l;
		$l->setsfGuardUser($this);
	}


	
	public function getUs2PullsJoinCustomer($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2PullPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Pulls === null) {
			if ($this->isNew()) {
				$this->collUs2Pulls = array();
			} else {

				$criteria->add(Us2PullPeer::PULLED_BY_USER_ID, $this->getId());

				$this->collUs2Pulls = Us2PullPeer::doSelectJoinCustomer($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2PullPeer::PULLED_BY_USER_ID, $this->getId());

			if (!isset($this->lastUs2PullCriteria) || !$this->lastUs2PullCriteria->equals($criteria)) {
				$this->collUs2Pulls = Us2PullPeer::doSelectJoinCustomer($criteria, $con);
			}
		}
		$this->lastUs2PullCriteria = $criteria;

		return $this->collUs2Pulls;
	}


	
	public function getUs2PullsJoinUs2OrderProduct($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2PullPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Pulls === null) {
			if ($this->isNew()) {
				$this->collUs2Pulls = array();
			} else {

				$criteria->add(Us2PullPeer::PULLED_BY_USER_ID, $this->getId());

				$this->collUs2Pulls = Us2PullPeer::doSelectJoinUs2OrderProduct($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2PullPeer::PULLED_BY_USER_ID, $this->getId());

			if (!isset($this->lastUs2PullCriteria) || !$this->lastUs2PullCriteria->equals($criteria)) {
				$this->collUs2Pulls = Us2PullPeer::doSelectJoinUs2OrderProduct($criteria, $con);
			}
		}
		$this->lastUs2PullCriteria = $criteria;

		return $this->collUs2Pulls;
	}

	
	public function initUs2Uploads()
	{
		if ($this->collUs2Uploads === null) {
			$this->collUs2Uploads = array();
		}
	}

	
	public function getUs2Uploads($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2UploadPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Uploads === null) {
			if ($this->isNew()) {
			   $this->collUs2Uploads = array();
			} else {

				$criteria->add(Us2UploadPeer::CREATED_BY_USER_ID, $this->getId());

				Us2UploadPeer::addSelectColumns($criteria);
				$this->collUs2Uploads = Us2UploadPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(Us2UploadPeer::CREATED_BY_USER_ID, $this->getId());

				Us2UploadPeer::addSelectColumns($criteria);
				if (!isset($this->lastUs2UploadCriteria) || !$this->lastUs2UploadCriteria->equals($criteria)) {
					$this->collUs2Uploads = Us2UploadPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastUs2UploadCriteria = $criteria;
		return $this->collUs2Uploads;
	}

	
	public function countUs2Uploads($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseUs2UploadPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(Us2UploadPeer::CREATED_BY_USER_ID, $this->getId());

		return Us2UploadPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addUs2Upload(Us2Upload $l)
	{
		$this->collUs2Uploads[] = $l;
		$l->setsfGuardUser($this);
	}


	
	public function getUs2UploadsJoinCustomer($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUs2UploadPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUs2Uploads === null) {
			if ($this->isNew()) {
				$this->collUs2Uploads = array();
			} else {

				$criteria->add(Us2UploadPeer::CREATED_BY_USER_ID, $this->getId());

				$this->collUs2Uploads = Us2UploadPeer::doSelectJoinCustomer($criteria, $con);
			}
		} else {
									
			$criteria->add(Us2UploadPeer::CREATED_BY_USER_ID, $this->getId());

			if (!isset($this->lastUs2UploadCriteria) || !$this->lastUs2UploadCriteria->equals($criteria)) {
				$this->collUs2Uploads = Us2UploadPeer::doSelectJoinCustomer($criteria, $con);
			}
		}
		$this->lastUs2UploadCriteria = $criteria;

		return $this->collUs2Uploads;
	}

	
	public function initSfGuardUserProfiles()
	{
		if ($this->collSfGuardUserProfiles === null) {
			$this->collSfGuardUserProfiles = array();
		}
	}

	
	public function getSfGuardUserProfiles($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseSfGuardUserProfilePeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collSfGuardUserProfiles === null) {
			if ($this->isNew()) {
			   $this->collSfGuardUserProfiles = array();
			} else {

				$criteria->add(SfGuardUserProfilePeer::USER_ID, $this->getId());

				SfGuardUserProfilePeer::addSelectColumns($criteria);
				$this->collSfGuardUserProfiles = SfGuardUserProfilePeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(SfGuardUserProfilePeer::USER_ID, $this->getId());

				SfGuardUserProfilePeer::addSelectColumns($criteria);
				if (!isset($this->lastSfGuardUserProfileCriteria) || !$this->lastSfGuardUserProfileCriteria->equals($criteria)) {
					$this->collSfGuardUserProfiles = SfGuardUserProfilePeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastSfGuardUserProfileCriteria = $criteria;
		return $this->collSfGuardUserProfiles;
	}

	
	public function countSfGuardUserProfiles($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseSfGuardUserProfilePeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(SfGuardUserProfilePeer::USER_ID, $this->getId());

		return SfGuardUserProfilePeer::doCount($criteria, $distinct, $con);
	}

	
	public function addSfGuardUserProfile(SfGuardUserProfile $l)
	{
		$this->collSfGuardUserProfiles[] = $l;
		$l->setsfGuardUser($this);
	}

	
	public function initUserMemberships()
	{
		if ($this->collUserMemberships === null) {
			$this->collUserMemberships = array();
		}
	}

	
	public function getUserMemberships($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUserMembershipPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUserMemberships === null) {
			if ($this->isNew()) {
			   $this->collUserMemberships = array();
			} else {

				$criteria->add(UserMembershipPeer::SF_GUARD_USER_ID, $this->getId());

				UserMembershipPeer::addSelectColumns($criteria);
				$this->collUserMemberships = UserMembershipPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(UserMembershipPeer::SF_GUARD_USER_ID, $this->getId());

				UserMembershipPeer::addSelectColumns($criteria);
				if (!isset($this->lastUserMembershipCriteria) || !$this->lastUserMembershipCriteria->equals($criteria)) {
					$this->collUserMemberships = UserMembershipPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastUserMembershipCriteria = $criteria;
		return $this->collUserMemberships;
	}

	
	public function countUserMemberships($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseUserMembershipPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(UserMembershipPeer::SF_GUARD_USER_ID, $this->getId());

		return UserMembershipPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addUserMembership(UserMembership $l)
	{
		$this->collUserMemberships[] = $l;
		$l->setsfGuardUser($this);
	}


	
	public function getUserMembershipsJoinProgram($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUserMembershipPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUserMemberships === null) {
			if ($this->isNew()) {
				$this->collUserMemberships = array();
			} else {

				$criteria->add(UserMembershipPeer::SF_GUARD_USER_ID, $this->getId());

				$this->collUserMemberships = UserMembershipPeer::doSelectJoinProgram($criteria, $con);
			}
		} else {
									
			$criteria->add(UserMembershipPeer::SF_GUARD_USER_ID, $this->getId());

			if (!isset($this->lastUserMembershipCriteria) || !$this->lastUserMembershipCriteria->equals($criteria)) {
				$this->collUserMemberships = UserMembershipPeer::doSelectJoinProgram($criteria, $con);
			}
		}
		$this->lastUserMembershipCriteria = $criteria;

		return $this->collUserMemberships;
	}


	
	public function getUserMembershipsJoinUs2Product($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUserMembershipPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUserMemberships === null) {
			if ($this->isNew()) {
				$this->collUserMemberships = array();
			} else {

				$criteria->add(UserMembershipPeer::SF_GUARD_USER_ID, $this->getId());

				$this->collUserMemberships = UserMembershipPeer::doSelectJoinUs2Product($criteria, $con);
			}
		} else {
									
			$criteria->add(UserMembershipPeer::SF_GUARD_USER_ID, $this->getId());

			if (!isset($this->lastUserMembershipCriteria) || !$this->lastUserMembershipCriteria->equals($criteria)) {
				$this->collUserMemberships = UserMembershipPeer::doSelectJoinUs2Product($criteria, $con);
			}
		}
		$this->lastUserMembershipCriteria = $criteria;

		return $this->collUserMemberships;
	}


	
	public function getUserMembershipsJoinUs2RateCard($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseUserMembershipPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collUserMemberships === null) {
			if ($this->isNew()) {
				$this->collUserMemberships = array();
			} else {

				$criteria->add(UserMembershipPeer::SF_GUARD_USER_ID, $this->getId());

				$this->collUserMemberships = UserMembershipPeer::doSelectJoinUs2RateCard($criteria, $con);
			}
		} else {
									
			$criteria->add(UserMembershipPeer::SF_GUARD_USER_ID, $this->getId());

			if (!isset($this->lastUserMembershipCriteria) || !$this->lastUserMembershipCriteria->equals($criteria)) {
				$this->collUserMemberships = UserMembershipPeer::doSelectJoinUs2RateCard($criteria, $con);
			}
		}
		$this->lastUserMembershipCriteria = $criteria;

		return $this->collUserMemberships;
	}

	
	public function initsfGuardUserPermissions()
	{
		if ($this->collsfGuardUserPermissions === null) {
			$this->collsfGuardUserPermissions = array();
		}
	}

	
	public function getsfGuardUserPermissions($criteria = null, $con = null)
	{
				include_once 'plugins/sfGuardPlugin/lib/model/om/BasesfGuardUserPermissionPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collsfGuardUserPermissions === null) {
			if ($this->isNew()) {
			   $this->collsfGuardUserPermissions = array();
			} else {

				$criteria->add(sfGuardUserPermissionPeer::USER_ID, $this->getId());

				sfGuardUserPermissionPeer::addSelectColumns($criteria);
				$this->collsfGuardUserPermissions = sfGuardUserPermissionPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(sfGuardUserPermissionPeer::USER_ID, $this->getId());

				sfGuardUserPermissionPeer::addSelectColumns($criteria);
				if (!isset($this->lastsfGuardUserPermissionCriteria) || !$this->lastsfGuardUserPermissionCriteria->equals($criteria)) {
					$this->collsfGuardUserPermissions = sfGuardUserPermissionPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastsfGuardUserPermissionCriteria = $criteria;
		return $this->collsfGuardUserPermissions;
	}

	
	public function countsfGuardUserPermissions($criteria = null, $distinct = false, $con = null)
	{
				include_once 'plugins/sfGuardPlugin/lib/model/om/BasesfGuardUserPermissionPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(sfGuardUserPermissionPeer::USER_ID, $this->getId());

		return sfGuardUserPermissionPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addsfGuardUserPermission(sfGuardUserPermission $l)
	{
		$this->collsfGuardUserPermissions[] = $l;
		$l->setsfGuardUser($this);
	}


	
	public function getsfGuardUserPermissionsJoinsfGuardPermission($criteria = null, $con = null)
	{
				include_once 'plugins/sfGuardPlugin/lib/model/om/BasesfGuardUserPermissionPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collsfGuardUserPermissions === null) {
			if ($this->isNew()) {
				$this->collsfGuardUserPermissions = array();
			} else {

				$criteria->add(sfGuardUserPermissionPeer::USER_ID, $this->getId());

				$this->collsfGuardUserPermissions = sfGuardUserPermissionPeer::doSelectJoinsfGuardPermission($criteria, $con);
			}
		} else {
									
			$criteria->add(sfGuardUserPermissionPeer::USER_ID, $this->getId());

			if (!isset($this->lastsfGuardUserPermissionCriteria) || !$this->lastsfGuardUserPermissionCriteria->equals($criteria)) {
				$this->collsfGuardUserPermissions = sfGuardUserPermissionPeer::doSelectJoinsfGuardPermission($criteria, $con);
			}
		}
		$this->lastsfGuardUserPermissionCriteria = $criteria;

		return $this->collsfGuardUserPermissions;
	}

	
	public function initsfGuardUserGroups()
	{
		if ($this->collsfGuardUserGroups === null) {
			$this->collsfGuardUserGroups = array();
		}
	}

	
	public function getsfGuardUserGroups($criteria = null, $con = null)
	{
				include_once 'plugins/sfGuardPlugin/lib/model/om/BasesfGuardUserGroupPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collsfGuardUserGroups === null) {
			if ($this->isNew()) {
			   $this->collsfGuardUserGroups = array();
			} else {

				$criteria->add(sfGuardUserGroupPeer::USER_ID, $this->getId());

				sfGuardUserGroupPeer::addSelectColumns($criteria);
				$this->collsfGuardUserGroups = sfGuardUserGroupPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(sfGuardUserGroupPeer::USER_ID, $this->getId());

				sfGuardUserGroupPeer::addSelectColumns($criteria);
				if (!isset($this->lastsfGuardUserGroupCriteria) || !$this->lastsfGuardUserGroupCriteria->equals($criteria)) {
					$this->collsfGuardUserGroups = sfGuardUserGroupPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastsfGuardUserGroupCriteria = $criteria;
		return $this->collsfGuardUserGroups;
	}

	
	public function countsfGuardUserGroups($criteria = null, $distinct = false, $con = null)
	{
				include_once 'plugins/sfGuardPlugin/lib/model/om/BasesfGuardUserGroupPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(sfGuardUserGroupPeer::USER_ID, $this->getId());

		return sfGuardUserGroupPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addsfGuardUserGroup(sfGuardUserGroup $l)
	{
		$this->collsfGuardUserGroups[] = $l;
		$l->setsfGuardUser($this);
	}


	
	public function getsfGuardUserGroupsJoinsfGuardGroup($criteria = null, $con = null)
	{
				include_once 'plugins/sfGuardPlugin/lib/model/om/BasesfGuardUserGroupPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collsfGuardUserGroups === null) {
			if ($this->isNew()) {
				$this->collsfGuardUserGroups = array();
			} else {

				$criteria->add(sfGuardUserGroupPeer::USER_ID, $this->getId());

				$this->collsfGuardUserGroups = sfGuardUserGroupPeer::doSelectJoinsfGuardGroup($criteria, $con);
			}
		} else {
									
			$criteria->add(sfGuardUserGroupPeer::USER_ID, $this->getId());

			if (!isset($this->lastsfGuardUserGroupCriteria) || !$this->lastsfGuardUserGroupCriteria->equals($criteria)) {
				$this->collsfGuardUserGroups = sfGuardUserGroupPeer::doSelectJoinsfGuardGroup($criteria, $con);
			}
		}
		$this->lastsfGuardUserGroupCriteria = $criteria;

		return $this->collsfGuardUserGroups;
	}

	
	public function initsfGuardRememberKeys()
	{
		if ($this->collsfGuardRememberKeys === null) {
			$this->collsfGuardRememberKeys = array();
		}
	}

	
	public function getsfGuardRememberKeys($criteria = null, $con = null)
	{
				include_once 'plugins/sfGuardPlugin/lib/model/om/BasesfGuardRememberKeyPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collsfGuardRememberKeys === null) {
			if ($this->isNew()) {
			   $this->collsfGuardRememberKeys = array();
			} else {

				$criteria->add(sfGuardRememberKeyPeer::USER_ID, $this->getId());

				sfGuardRememberKeyPeer::addSelectColumns($criteria);
				$this->collsfGuardRememberKeys = sfGuardRememberKeyPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(sfGuardRememberKeyPeer::USER_ID, $this->getId());

				sfGuardRememberKeyPeer::addSelectColumns($criteria);
				if (!isset($this->lastsfGuardRememberKeyCriteria) || !$this->lastsfGuardRememberKeyCriteria->equals($criteria)) {
					$this->collsfGuardRememberKeys = sfGuardRememberKeyPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastsfGuardRememberKeyCriteria = $criteria;
		return $this->collsfGuardRememberKeys;
	}

	
	public function countsfGuardRememberKeys($criteria = null, $distinct = false, $con = null)
	{
				include_once 'plugins/sfGuardPlugin/lib/model/om/BasesfGuardRememberKeyPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(sfGuardRememberKeyPeer::USER_ID, $this->getId());

		return sfGuardRememberKeyPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addsfGuardRememberKey(sfGuardRememberKey $l)
	{
		$this->collsfGuardRememberKeys[] = $l;
		$l->setsfGuardUser($this);
	}

} 