diff options
author | mszulecki | 2007-06-14 17:09:01 +0000 |
---|---|---|
committer | mszulecki | 2007-06-14 17:09:01 +0000 |
commit | 9f108dd1a969473375341d92a7b1252fa2cedc9a (patch) | |
tree | d5f2e35ec0bd2d52dab0ee3282fc6751e0fa8dba /lib | |
parent | e35884d11b81e4e4bbd73e1882e2b8011e85d118 (diff) | |
download | mailadmin-9f108dd1a969473375341d92a7b1252fa2cedc9a.tar.gz mailadmin-9f108dd1a969473375341d92a7b1252fa2cedc9a.tar.bz2 |
Initial import.
git-svn-id: http://svn.sukimashita.com/repos/mailadmin/trunk@2 4281df72-ff29-0410-8fee-2d9ac0c5f5a7
Diffstat (limited to 'lib')
37 files changed, 10600 insertions, 0 deletions
diff --git a/lib/helper/FilesHelper.php b/lib/helper/FilesHelper.php new file mode 100644 index 0000000..ff290d6 --- /dev/null +++ b/lib/helper/FilesHelper.php @@ -0,0 +1,27 @@ +<?php + +function format_bytes($val, $digits = 3, $mode = "SI", $bB = "B") +{ + $si = array("", "k", "M", "G", "T", "P", "E", "Z", "Y"); + $iec = array("", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi", "Yi"); + + switch(strtoupper($mode)) + { + case "SI" : $factor = 1000; $symbols = $si; break; + case "IEC" : $factor = 1024; $symbols = $iec; break; + default : $factor = 1000; $symbols = $si; break; + } + switch($bB) + { + case "b" : $val *= 8; break; + default : $bB = "B"; break; + } + for($i=0;$i<count($symbols)-1 && $val>=$factor;$i++) + $val /= $factor; + $p = strpos($val, "."); + if($p !== false && $p > $digits) $val = round($val); + elseif($p !== false) $val = round($val, $digits-$p); + return round($val, $digits) . " " . $symbols[$i] . $bB; +} + +?> diff --git a/lib/helper/SortHeaderHelper.php b/lib/helper/SortHeaderHelper.php new file mode 100644 index 0000000..ef16eb1 --- /dev/null +++ b/lib/helper/SortHeaderHelper.php @@ -0,0 +1,21 @@ +<?php + +use_helper("Asset"); + +function sortheader_link_to($caption, $targetURI, $column, $headers) +{ + $uri = $targetURI."?sort=".$column; + if($headers[$column]) + $uri .= "&type=".($headers[$column]=="asc" ? "desc": "asc"); + return link_to($caption, $uri); +} + +function sortheader_type_if($column, $headers, $asc, $desc) +{ + if($headers[$column]) + { + return ($headers[$column]=="asc" ? $asc: $desc); + } +} + +?> diff --git a/lib/model/Address.php b/lib/model/Address.php new file mode 100644 index 0000000..b6b9cf8 --- /dev/null +++ b/lib/model/Address.php @@ -0,0 +1,124 @@ +<?php + +/** + * Subclass for representing a row from the 'address' table. + * + * + * + * @package lib.model + */ +class Address extends BaseAddress +{ + protected function splitEmail($v) + { + return explode("@", $v); + } + + public function setLocalpart($v) + { + // sync alias + $alias = $this->splitEmail($this->getAlias()); + if(is_array($alias)) + { + if($alias[0]!=$v) + { + parent::setAlias($v."@".$alias[1]); + } + } + + return parent::setLocalpart($v); + } + + public function setDomainId($v) + { + // sync alias + $alias = $this->splitEmail($this->getAlias()); + if(is_array($alias)) + { + $domain = DomainPeer::retrieveByPk($v); + if($domain) + { + if($alias[(count($alias)>1?1:0)] != $domain) + { + parent::setAlias((count($alias)>1?$alias[0]:"")."@".$domain->getName()); + } + } + } + + return parent::setDomainId($v); + } + + public function setAlias($v) + { + $alias = $this->splitEmail($v); + + // sync localpart + parent::setLocalpart($alias[0]); + + // sync domain_id + $c = new Criteria(); + $c->add(DomainPeer::NAME, $alias[1]); + $domain = DomainPeer::doSelectOne($c); + + if($domain) + parent::setDomainId($domain->getId()); + else + parent::setDomainId(null); + + return parent::setAlias($v); + } + + public function setDestination($dest) + { + // make sure we are a comma seperated string + $destarray = self::getDestinationAsArray($dest); + + // if a mailbox is set, make sure it is first in the list + if($this->getSaveInMailbox()) + { + $mailbox = $this->getMailbox(); + if($mailbox) + { + if(array_search($mailbox->getName(), $destarray) == false) + { + $destarray = array_merge(array($this->getMailbox()->getName()), $destarray); + } + } + + } + + parent::setDestination(implode(",", $destarray)); + } + + public function getDestination($delimiter = '\n') + { + // if a mailbox is set, strip it out of the list + $destarray = self::getDestinationAsArray(parent::getDestination()); + $destarray2 = array(); + if($this->getSaveInMailbox()) + { + foreach($destarray as $dest) + { + if($dest != $this->getMailbox()->getName()) + $destarray2[] = $dest; + } + } + else $destarray2 = $destarray; + return implode("\n", $destarray2); + } + + public static function getDestinationAsArray($d) + { + return preg_split("/[\s\n,;]+/", $d, -1, PREG_SPLIT_NO_EMPTY); + } + + public function isCatchAll() + { + return ($this->getLocalpart()==""); + } + + public function __toString() + { + return $this->getAlias(); + } +} diff --git a/lib/model/AddressPeer.php b/lib/model/AddressPeer.php new file mode 100644 index 0000000..62ba476 --- /dev/null +++ b/lib/model/AddressPeer.php @@ -0,0 +1,30 @@ +<?php + +/** + * Subclass for performing query and update operations on the 'address' table. + * + * + * + * @package lib.model + */ +class AddressPeer extends BaseAddressPeer +{ + // only return results according to domain permissions + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + DomainPermissionPeer::addDomainPermissionCriteria($criteria, AddressPeer::DOMAIN_ID); + return parent::doCount($criteria, $distinct, $con); + } + + public static function doSelect(Criteria $criteria, $con = null) + { + DomainPermissionPeer::addDomainPermissionCriteria($criteria, AddressPeer::DOMAIN_ID); + return parent::doSelect($criteria, $con); + } + + public static function doSelectJoinAll(Criteria $criteria, $con = null) + { + DomainPermissionPeer::addDomainPermissionCriteria($criteria, AddressPeer::DOMAIN_ID); + return parent::doSelectJoinAll($criteria, $con); + } +} diff --git a/lib/model/Domain.php b/lib/model/Domain.php new file mode 100644 index 0000000..0d34108 --- /dev/null +++ b/lib/model/Domain.php @@ -0,0 +1,49 @@ +<?php + +/** + * Subclass for representing a row from the 'domain' table. + * + * + * + * @package lib.model + */ +class Domain extends BaseDomain +{ + public function __construct() + { + // set defaults + $this->setMaxMailboxCount(sfConfig::get('app_domain_max_mailbox_count')); + $this->setQuota(sfConfig::get('app_domain_quota')); + $this->setDefaultMailboxQuota(sfConfig::get('app_domain_default_mailbox_quota')); + } + + public function getMailboxCount() + { + return $this->countMailboxs(); + } + + public function getUsedQuota() + { + $used = 0; + + $c = new Criteria(); + $c->add(MailboxPeer::DOMAIN_ID, $this->getId()); + $c->addSelectColumn('SUM('.MailboxPeer::MAX_QUOTA.')'); + $rs = MailboxPeer::doSelectRS($c); + if($rs->next()) + return $rs->getInt(1); + + /* + foreach($this->getMailboxs() as $mbox) + { + $used += $mbox->getQuota(); + } + */ + return $used; + } + + public function __toString() + { + return $this->getName(); + } +} diff --git a/lib/model/DomainPeer.php b/lib/model/DomainPeer.php new file mode 100644 index 0000000..f52c6ca --- /dev/null +++ b/lib/model/DomainPeer.php @@ -0,0 +1,37 @@ +<?php + +/** + * Subclass for performing query and update operations on the 'domain' table. + * + * + * + * @package lib.model + */ +class DomainPeer extends BaseDomainPeer +{ + // only return results according to domain permissions + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + DomainPermissionPeer::addDomainPermissionCriteria($criteria, DomainPeer::ID); + return parent::doCount($criteria, $distinct, $con); + } + + public static function doSelect(Criteria $criteria, $con = null) + { + DomainPermissionPeer::addDomainPermissionCriteria($criteria, DomainPeer::ID); + return parent::doSelect($criteria, $con); + } + + public static function doSelectJoinUser(Criteria $criteria, $con = null) + { + DomainPermissionPeer::addDomainPermissionCriteria($criteria, DomainPeer::ID); + return parent::doSelectJoinUser($criteria, $con); + } + + public static function getDomainByName($name) + { + $c = new Criteria(); + $c->add(self::NAME, $name); + return self::doSelect($c); + } +} diff --git a/lib/model/DomainPermission.php b/lib/model/DomainPermission.php new file mode 100644 index 0000000..3a4c40b --- /dev/null +++ b/lib/model/DomainPermission.php @@ -0,0 +1,12 @@ +<?php + +/** + * Subclass for representing a row from the 'domain_permission' table. + * + * + * + * @package lib.model + */ +class DomainPermission extends BaseDomainPermission +{ +} diff --git a/lib/model/DomainPermissionPeer.php b/lib/model/DomainPermissionPeer.php new file mode 100644 index 0000000..c79e0e3 --- /dev/null +++ b/lib/model/DomainPermissionPeer.php @@ -0,0 +1,22 @@ +<?php + +/** + * Subclass for performing query and update operations on the 'domain_permission' table. + * + * + * + * @package lib.model + */ +class DomainPermissionPeer extends BaseDomainPermissionPeer +{ + // inject domain permissions criteria + public static function addDomainPermissionCriteria(Criteria $criteria, $domain_id = DomainPeer::DOMAIN_ID) + { + if(sfContext::getInstance()->getUser()->hasCredential("superadmin")) + return; + + // set domain permissions + $criteria->addJoin(DomainPermissionPeer::DOMAIN_ID, $domain_id); + $criteria->add(DomainPermissionPeer::USER_ID, sfContext::getInstance()->getUser()->getId()); + } +} diff --git a/lib/model/LogEntry.php b/lib/model/LogEntry.php new file mode 100644 index 0000000..5b7fbb5 --- /dev/null +++ b/lib/model/LogEntry.php @@ -0,0 +1,38 @@ +<?php + +/** + * Subclass for representing a row from the 'log' table. + * + * + * + * @package lib.model + */ +class LogEntry extends BaseLogEntry +{ + const PRIO_DEBUG = 0; + const PRIO_INFO = 1; + const PRIO_NOTICE = 2; + const PRIO_WARNING = 3; + const PRIO_ERROR = 4; + const PRIO_CRITICAL = 5; + const PRIO_ALERT = 6; + const PRIO_EMERGENCY = 7; + + public function getLevel() + { + // emerg, alert, crit, err, warning, notice, info, and debug + switch($this->getPriority()) + { + case 0: return "Debug"; + case 1: return "Info"; + case 2: return "Notice"; + case 3: return "Warning"; + case 4: return "Error"; + case 5: return "Critical"; + case 6: return "Alert"; + case 7: return "Emergency"; + default: + return "Unknown"; + } + } +} diff --git a/lib/model/LogEntryPeer.php b/lib/model/LogEntryPeer.php new file mode 100644 index 0000000..53501da --- /dev/null +++ b/lib/model/LogEntryPeer.php @@ -0,0 +1,23 @@ +<?php + +/** + * Subclass for performing query and update operations on the 'log' table. + * + * + * + * @package lib.model + */ +class LogEntryPeer extends BaseLogEntryPeer +{ + public static function log($message, $priority = LogEntry::PRIO_DEBUG) + { + $e = new LogEntry(); + $e->setMessage($message); + $e->setPriority($priority); + $e->setHost(gethostbyaddr($_SERVER["REMOTE_ADDR"])); + $user = sfContext::getInstance()->getUser(); + if($user) + $e->setUserId($user->getId()); + $e->save(); + } +} diff --git a/lib/model/Mailbox.php b/lib/model/Mailbox.php new file mode 100644 index 0000000..c29e1db --- /dev/null +++ b/lib/model/Mailbox.php @@ -0,0 +1,187 @@ +<?php + +/** + * Subclass for representing a row from the 'mailbox' table. + * + * + * + * @package lib.model + */ +class Mailbox extends BaseMailbox +{ + protected $imap = null; + + public function __construct() + { + // set defaults + $this->setMaxQuota(sfConfig::get('app_domain_default_mailbox_quota')); + $this->setMaxAddressCount(sfConfig::get('app_mailbox_max_address_count')); + } + + public function getImapName() + { + return "user.".$this->getName(); + } + + public function getExistsOnImapServer() + { + $this->requireIMAPAdminConnection(); + $exists = $this->imap->getlist($this->getImapName(), '%'); + if(is_array($exists) && (count($exists)!=0)) + { + return true; + } + return false; + } + + protected function requireIMAPAdminConnection() + { + if(!$this->imap) + $this->imap = IMAPManager::getAdminConnection(); + } + + protected $quota = null; + protected function updateIMAPQuota() + { + $this->requireIMAPAdminConnection(); + $quota = $this->imap->getquota("user.".$this->getName()); + if($quota) + $this->quota = $quota; + } + + public function getQuota() + { + if($this->quota == null) + $this->updateIMAPQuota(); + + return $this->quota; + } + + public function save($con = null) + { + // create or update resources on IMAP server + if($this->isNew()) + { + $this->requireIMAPAdminConnection(); + + // mailbox + $this->imap->create($this->getImapName()); + + // acl + $this->imap->setacl($this->getImapName(), IMAPManager::getAdminUsername(), $this->imap->getAvailableACL()); + + // quota + $this->imap->setquota($this->getImapName(), $this->getMaxQuota()); + + // default folders + + } + else // update + { + // mailbox name changed? + if($this->isColumnModified(MailboxPeer::NAME)) + { + $this->requireIMAPAdminConnection(); + + $oldmailbox = MailboxPeer::retrieveByPk($this->getId()); + if($oldmailbox->getName() != $this->getName()) + { + // requires "allowusermoves: 1" in /etc/imapd.conf + // mailbox + $this->imap->rename($oldmailbox->getImapName(), $this->getImapName()); + } + } + + // quota changed? + if($this->isColumnModified(MailboxPeer::MAX_QUOTA)) + { + $this->requireIMAPAdminConnection(); + + $this->imap->setquota($this->getImapName(), $this->getMaxQuota()); + } + } + + return parent::save($con); + } + + public function delete($con = null) + { + // remove resources on IMAP server + if(!$this->isNew()) + { + $this->requireIMAPAdminConnection(); + + // grant all rights to admin to be able to delete mailbox + $this->imap->setacl($this->getImapName(), IMAPManager::getAdminUsername(), $this->imap->getAvailableACL()); + + // mailbox + $this->imap->delete($this->getImapName()); + } + + return parent::delete($con); + } + + // TODO: extract password logic into own library + public function isPasswordEqual($password) + { + // check crypt type + $server_settings = sfConfig::get('app_server_default'); + $crypt_type = $server_settings['pam']['crypt']; + + switch($crypt_type) + { + case 0: // plain + return ($password == $this->getPassword()); + case 1: // crypt + return (crypt($password, substr($this->getPassword(), 0, 2)) == $this->getPassword()); + case 2: // md5 + return (md5($password) == $this->getPassword()); + case 3: // sha1 + return (sha1($password) == $this->getPassword()); + break; + } + + return false; + } + + public function setPassword($password) + { + if($password=='') + return false; + // check crypt type + $server_settings = sfConfig::get('app_server_default'); + $crypt_type = $server_settings['pam']['crypt']; + + switch($crypt_type) + { + case 0: // plain + break; + case 1: // crypt + $password = crypt($password, substr($password, 0, 8)); + break; + case 2: // md5 + $password = md5($password); + break; + case 3: // sha1 + $password = sha1($password); + break; + } + + return parent::setPassword($password); + } + + public function setNewPassword($password) + { + return $this->setPassword($password); + } + + public function getAddressCount() + { + return $this->countAddresss(); + } + + public function __toString() + { + return $this->getName(); + } +} diff --git a/lib/model/MailboxPeer.php b/lib/model/MailboxPeer.php new file mode 100644 index 0000000..46170c3 --- /dev/null +++ b/lib/model/MailboxPeer.php @@ -0,0 +1,30 @@ +<?php + +/** + * Subclass for performing query and update operations on the 'mailbox' table. + * + * + * + * @package lib.model + */ +class MailboxPeer extends BaseMailboxPeer +{ + // only return results according to domain permissions + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + DomainPermissionPeer::addDomainPermissionCriteria($criteria, MailboxPeer::DOMAIN_ID); + return parent::doCount($criteria, $distinct, $con); + } + + public static function doSelect(Criteria $criteria, $con = null) + { + DomainPermissionPeer::addDomainPermissionCriteria($criteria, MailboxPeer::DOMAIN_ID); + return parent::doSelect($criteria, $con); + } + + public static function doSelectJoinDomain(Criteria $criteria, $con = null) + { + DomainPermissionPeer::addDomainPermissionCriteria($criteria, MailboxPeer::DOMAIN_ID); + return parent::doSelectJoinDomain($criteria, $con); + } +} diff --git a/lib/model/Role.php b/lib/model/Role.php new file mode 100644 index 0000000..c63fa75 --- /dev/null +++ b/lib/model/Role.php @@ -0,0 +1,20 @@ +<?php + +/** + * Subclass for representing a row from the 'role' table. + * + * + * + * @package lib.model + */ +class Role extends BaseRole +{ + const SUPERADMIN = 1; + const DOMAINMASTER = 2; + const MAILBOXMASTER = 3; + + public function __toString() + { + return $this->getName(); + } +} diff --git a/lib/model/RolePeer.php b/lib/model/RolePeer.php new file mode 100644 index 0000000..db848d5 --- /dev/null +++ b/lib/model/RolePeer.php @@ -0,0 +1,12 @@ +<?php + +/** + * Subclass for performing query and update operations on the 'role' table. + * + * + * + * @package lib.model + */ +class RolePeer extends BaseRolePeer +{ +} diff --git a/lib/model/User.php b/lib/model/User.php new file mode 100644 index 0000000..693aeb7 --- /dev/null +++ b/lib/model/User.php @@ -0,0 +1,36 @@ +<?php + +/** + * Subclass for representing a row from the 'user' table. + * + * + * + * @package lib.model + */ +class User extends BaseUser +{ + public function setPassword($password) + { + if($password=='') + return false; + $salt = md5(rand(100000, 999999).$this->getNickname().$this->getFirstName()); + $this->setSalt($salt); + $this->setSha1Password(sha1($salt.$password)); + } + + public function setPassword2($password) + { + if($password!='') + $this->setPassword($password); + } + + public function getFullName() + { + return $this->getFirstName()." ".$this->getLastName(); + } + + public function __toString() + { + return $this->getNickname(); + } +} diff --git a/lib/model/UserPeer.php b/lib/model/UserPeer.php new file mode 100644 index 0000000..72c3ef1 --- /dev/null +++ b/lib/model/UserPeer.php @@ -0,0 +1,12 @@ +<?php + +/** + * Subclass for performing query and update operations on the 'user' table. + * + * + * + * @package lib.model + */ +class UserPeer extends BaseUserPeer +{ +} diff --git a/lib/model/map/AddressMapBuilder.php b/lib/model/map/AddressMapBuilder.php new file mode 100644 index 0000000..8993460 --- /dev/null +++ b/lib/model/map/AddressMapBuilder.php @@ -0,0 +1,52 @@ +<?php + + + +class AddressMapBuilder { + + + const CLASS_NAME = 'lib.model.map.AddressMapBuilder'; + + + private $dbMap; + + + public function isBuilt() + { + return ($this->dbMap !== null); + } + + + public function getDatabaseMap() + { + return $this->dbMap; + } + + + public function doBuild() + { + $this->dbMap = Propel::getDatabaseMap('propel'); + + $tMap = $this->dbMap->addTable('address'); + $tMap->setPhpName('Address'); + + $tMap->setUseIdGenerator(true); + + $tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null); + + $tMap->addForeignKey('MAILBOX_ID', 'MailboxId', 'int', CreoleTypes::INTEGER, 'mailbox', 'ID', false, null); + + $tMap->addColumn('LOCALPART', 'Localpart', 'string', CreoleTypes::VARCHAR, false, 255); + + $tMap->addForeignKey('DOMAIN_ID', 'DomainId', 'int', CreoleTypes::INTEGER, 'domain', 'ID', false, null); + + $tMap->addColumn('ALIAS', 'Alias', 'string', CreoleTypes::VARCHAR, false, 255); + + $tMap->addColumn('DESTINATION', 'Destination', 'string', CreoleTypes::LONGVARCHAR, false, null); + + $tMap->addColumn('ACTIVE', 'Active', 'boolean', CreoleTypes::BOOLEAN, false, null); + + $tMap->addColumn('SAVE_IN_MAILBOX', 'SaveInMailbox', 'boolean', CreoleTypes::BOOLEAN, false, null); + + } +}
\ No newline at end of file diff --git a/lib/model/map/DomainMapBuilder.php b/lib/model/map/DomainMapBuilder.php new file mode 100644 index 0000000..36e0d83 --- /dev/null +++ b/lib/model/map/DomainMapBuilder.php @@ -0,0 +1,50 @@ +<?php + + + +class DomainMapBuilder { + + + const CLASS_NAME = 'lib.model.map.DomainMapBuilder'; + + + private $dbMap; + + + public function isBuilt() + { + return ($this->dbMap !== null); + } + + + public function getDatabaseMap() + { + return $this->dbMap; + } + + + public function doBuild() + { + $this->dbMap = Propel::getDatabaseMap('propel'); + + $tMap = $this->dbMap->addTable('domain'); + $tMap->setPhpName('Domain'); + + $tMap->setUseIdGenerator(true); + + $tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null); + + $tMap->addColumn('NAME', 'Name', 'string', CreoleTypes::VARCHAR, false, 255); + + $tMap->addForeignKey('CREATOR_ID', 'CreatorId', 'int', CreoleTypes::INTEGER, 'user', 'ID', false, null); + + $tMap->addColumn('MAILBOX_PREFIX', 'MailboxPrefix', 'string', CreoleTypes::VARCHAR, false, 255); + + $tMap->addColumn('MAX_MAILBOX_COUNT', 'MaxMailboxCount', 'int', CreoleTypes::INTEGER, false, null); + + $tMap->addColumn('QUOTA', 'Quota', 'int', CreoleTypes::INTEGER, false, null); + + $tMap->addColumn('DEFAULT_MAILBOX_QUOTA', 'DefaultMailboxQuota', 'int', CreoleTypes::INTEGER, false, null); + + } +}
\ No newline at end of file diff --git a/lib/model/map/DomainPermissionMapBuilder.php b/lib/model/map/DomainPermissionMapBuilder.php new file mode 100644 index 0000000..380be1c --- /dev/null +++ b/lib/model/map/DomainPermissionMapBuilder.php @@ -0,0 +1,42 @@ +<?php + + + +class DomainPermissionMapBuilder { + + + const CLASS_NAME = 'lib.model.map.DomainPermissionMapBuilder'; + + + private $dbMap; + + + public function isBuilt() + { + return ($this->dbMap !== null); + } + + + public function getDatabaseMap() + { + return $this->dbMap; + } + + + public function doBuild() + { + $this->dbMap = Propel::getDatabaseMap('propel'); + + $tMap = $this->dbMap->addTable('domain_permission'); + $tMap->setPhpName('DomainPermission'); + + $tMap->setUseIdGenerator(true); + + $tMap->addForeignKey('USER_ID', 'UserId', 'int', CreoleTypes::INTEGER, 'user', 'ID', false, null); + + $tMap->addForeignKey('DOMAIN_ID', 'DomainId', 'int', CreoleTypes::INTEGER, 'domain', 'ID', false, null); + + $tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null); + + } +}
\ No newline at end of file diff --git a/lib/model/map/LogEntryMapBuilder.php b/lib/model/map/LogEntryMapBuilder.php new file mode 100644 index 0000000..737ea21 --- /dev/null +++ b/lib/model/map/LogEntryMapBuilder.php @@ -0,0 +1,48 @@ +<?php + + + +class LogEntryMapBuilder { + + + const CLASS_NAME = 'lib.model.map.LogEntryMapBuilder'; + + + private $dbMap; + + + public function isBuilt() + { + return ($this->dbMap !== null); + } + + + public function getDatabaseMap() + { + return $this->dbMap; + } + + + public function doBuild() + { + $this->dbMap = Propel::getDatabaseMap('propel'); + + $tMap = $this->dbMap->addTable('log'); + $tMap->setPhpName('LogEntry'); + + $tMap->setUseIdGenerator(true); + + $tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null); + + $tMap->addForeignKey('USER_ID', 'UserId', 'int', CreoleTypes::INTEGER, 'user', 'ID', false, null); + + $tMap->addColumn('CREATED_AT', 'CreatedAt', 'int', CreoleTypes::TIMESTAMP, false, null); + + $tMap->addColumn('MESSAGE', 'Message', 'string', CreoleTypes::LONGVARCHAR, false, null); + + $tMap->addColumn('HOST', 'Host', 'string', CreoleTypes::VARCHAR, false, 255); + + $tMap->addColumn('PRIORITY', 'Priority', 'int', CreoleTypes::INTEGER, false, null); + + } +}
\ No newline at end of file diff --git a/lib/model/map/MailboxMapBuilder.php b/lib/model/map/MailboxMapBuilder.php new file mode 100644 index 0000000..54bbe40 --- /dev/null +++ b/lib/model/map/MailboxMapBuilder.php @@ -0,0 +1,52 @@ +<?php + + + +class MailboxMapBuilder { + + + const CLASS_NAME = 'lib.model.map.MailboxMapBuilder'; + + + private $dbMap; + + + public function isBuilt() + { + return ($this->dbMap !== null); + } + + + public function getDatabaseMap() + { + return $this->dbMap; + } + + + public function doBuild() + { + $this->dbMap = Propel::getDatabaseMap('propel'); + + $tMap = $this->dbMap->addTable('mailbox'); + $tMap->setPhpName('Mailbox'); + + $tMap->setUseIdGenerator(true); + + $tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null); + + $tMap->addForeignKey('DOMAIN_ID', 'DomainId', 'int', CreoleTypes::INTEGER, 'domain', 'ID', false, null); + + $tMap->addColumn('NAME', 'Name', 'string', CreoleTypes::VARCHAR, false, 30); + + $tMap->addColumn('PASSWORD', 'Password', 'string', CreoleTypes::VARCHAR, false, 40); + + $tMap->addColumn('MAX_QUOTA', 'MaxQuota', 'int', CreoleTypes::INTEGER, false, null); + + $tMap->addColumn('MAX_ADDRESS_COUNT', 'MaxAddressCount', 'int', CreoleTypes::INTEGER, false, null); + + $tMap->addColumn('LAST_LOGIN', 'LastLogin', 'int', CreoleTypes::TIMESTAMP, false, null); + + $tMap->addColumn('ACTIVE', 'Active', 'boolean', CreoleTypes::BOOLEAN, false, null); + + } +}
\ No newline at end of file diff --git a/lib/model/map/RoleMapBuilder.php b/lib/model/map/RoleMapBuilder.php new file mode 100644 index 0000000..44aeb93 --- /dev/null +++ b/lib/model/map/RoleMapBuilder.php @@ -0,0 +1,42 @@ +<?php + + + +class RoleMapBuilder { + + + const CLASS_NAME = 'lib.model.map.RoleMapBuilder'; + + + private $dbMap; + + + public function isBuilt() + { + return ($this->dbMap !== null); + } + + + public function getDatabaseMap() + { + return $this->dbMap; + } + + + public function doBuild() + { + $this->dbMap = Propel::getDatabaseMap('propel'); + + $tMap = $this->dbMap->addTable('role'); + $tMap->setPhpName('Role'); + + $tMap->setUseIdGenerator(true); + + $tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null); + + $tMap->addColumn('NAME', 'Name', 'string', CreoleTypes::VARCHAR, false, 255); + + $tMap->addColumn('CREDENTIALS', 'Credentials', 'string', CreoleTypes::VARCHAR, false, 255); + + } +}
\ No newline at end of file diff --git a/lib/model/map/UserMapBuilder.php b/lib/model/map/UserMapBuilder.php new file mode 100644 index 0000000..3ee3252 --- /dev/null +++ b/lib/model/map/UserMapBuilder.php @@ -0,0 +1,58 @@ +<?php + + + +class UserMapBuilder { + + + const CLASS_NAME = 'lib.model.map.UserMapBuilder'; + + + private $dbMap; + + + public function isBuilt() + { + return ($this->dbMap !== null); + } + + + public function getDatabaseMap() + { + return $this->dbMap; + } + + + public function doBuild() + { + $this->dbMap = Propel::getDatabaseMap('propel'); + + $tMap = $this->dbMap->addTable('user'); + $tMap->setPhpName('User'); + + $tMap->setUseIdGenerator(true); + + $tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null); + + $tMap->addForeignKey('PARENT_USER_ID', 'ParentUserId', 'int', CreoleTypes::INTEGER, 'user', 'ID', false, null); + + $tMap->addColumn('NICKNAME', 'Nickname', 'string', CreoleTypes::VARCHAR, false, 50); + + $tMap->addColumn('FIRST_NAME', 'FirstName', 'string', CreoleTypes::VARCHAR, false, 100); + + $tMap->addColumn('LAST_NAME', 'LastName', 'string', CreoleTypes::VARCHAR, false, 100); + + $tMap->addColumn('EMAIL', 'Email', 'string', CreoleTypes::VARCHAR, false, 255); + + $tMap->addColumn('SHA1_PASSWORD', 'Sha1Password', 'string', CreoleTypes::VARCHAR, false, 40); + + $tMap->addColumn('SALT', 'Salt', 'string', CreoleTypes::VARCHAR, false, 32); + + $tMap->addForeignKey('ROLE_ID', 'RoleId', 'int', CreoleTypes::INTEGER, 'role', 'ID', false, null); + + $tMap->addColumn('LAST_LOGIN', 'LastLogin', 'int', CreoleTypes::TIMESTAMP, false, null); + + $tMap->addColumn('CREATED_AT', 'CreatedAt', 'int', CreoleTypes::TIMESTAMP, false, null); + + } +}
\ No newline at end of file diff --git a/lib/model/om/BaseAddress.php b/lib/model/om/BaseAddress.php new file mode 100644 index 0000000..8e9c258 --- /dev/null +++ b/lib/model/om/BaseAddress.php @@ -0,0 +1,643 @@ +<?php + + +abstract class BaseAddress extends BaseObject implements Persistent { + + + + protected static $peer; + + + + protected $id; + + + + protected $mailbox_id; + + + + protected $localpart; + + + + protected $domain_id; + + + + protected $alias; + + + + protected $destination; + + + + protected $active = true; + + + + protected $save_in_mailbox = true; + + + protected $aMailbox; + + + protected $aDomain; + + + protected $alreadyInSave = false; + + + protected $alreadyInValidation = false; + + + public function getId() + { + + return $this->id; + } + + + public function getMailboxId() + { + + return $this->mailbox_id; + } + + + public function getLocalpart() + { + + return $this->localpart; + } + + + public function getDomainId() + { + + return $this->domain_id; + } + + + public function getAlias() + { + + return $this->alias; + } + + + public function getDestination() + { + + return $this->destination; + } + + + public function getActive() + { + + return $this->active; + } + + + public function getSaveInMailbox() + { + + return $this->save_in_mailbox; + } + + + 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[] = AddressPeer::ID; + } + + } + + public function setMailboxId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->mailbox_id !== $v) { + $this->mailbox_id = $v; + $this->modifiedColumns[] = AddressPeer::MAILBOX_ID; + } + + if ($this->aMailbox !== null && $this->aMailbox->getId() !== $v) { + $this->aMailbox = null; + } + + } + + public function setLocalpart($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->localpart !== $v) { + $this->localpart = $v; + $this->modifiedColumns[] = AddressPeer::LOCALPART; + } + + } + + public function setDomainId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->domain_id !== $v) { + $this->domain_id = $v; + $this->modifiedColumns[] = AddressPeer::DOMAIN_ID; + } + + if ($this->aDomain !== null && $this->aDomain->getId() !== $v) { + $this->aDomain = null; + } + + } + + public function setAlias($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->alias !== $v) { + $this->alias = $v; + $this->modifiedColumns[] = AddressPeer::ALIAS; + } + + } + + public function setDestination($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->destination !== $v) { + $this->destination = $v; + $this->modifiedColumns[] = AddressPeer::DESTINATION; + } + + } + + public function setActive($v) + { + + if ($this->active !== $v || $v === true) { + $this->active = $v; + $this->modifiedColumns[] = AddressPeer::ACTIVE; + } + + } + + public function setSaveInMailbox($v) + { + + if ($this->save_in_mailbox !== $v || $v === true) { + $this->save_in_mailbox = $v; + $this->modifiedColumns[] = AddressPeer::SAVE_IN_MAILBOX; + } + + } + + public function hydrate(ResultSet $rs, $startcol = 1) + { + try { + + $this->id = $rs->getInt($startcol + 0); + + $this->mailbox_id = $rs->getInt($startcol + 1); + + $this->localpart = $rs->getString($startcol + 2); + + $this->domain_id = $rs->getInt($startcol + 3); + + $this->alias = $rs->getString($startcol + 4); + + $this->destination = $rs->getString($startcol + 5); + + $this->active = $rs->getBoolean($startcol + 6); + + $this->save_in_mailbox = $rs->getBoolean($startcol + 7); + + $this->resetModified(); + + $this->setNew(false); + + return $startcol + 8; + } catch (Exception $e) { + throw new PropelException("Error populating Address 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(AddressPeer::DATABASE_NAME); + } + + try { + $con->begin(); + AddressPeer::doDelete($this, $con); + $this->setDeleted(true); + $con->commit(); + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public function save($con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getConnection(AddressPeer::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->aMailbox !== null) { + if ($this->aMailbox->isModified()) { + $affectedRows += $this->aMailbox->save($con); + } + $this->setMailbox($this->aMailbox); + } + + if ($this->aDomain !== null) { + if ($this->aDomain->isModified()) { + $affectedRows += $this->aDomain->save($con); + } + $this->setDomain($this->aDomain); + } + + + if ($this->isModified()) { + if ($this->isNew()) { + $pk = AddressPeer::doInsert($this, $con); + $affectedRows += 1; + $this->setId($pk); + $this->setNew(false); + } else { + $affectedRows += AddressPeer::doUpdate($this, $con); + } + $this->resetModified(); } + + $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 ($this->aMailbox !== null) { + if (!$this->aMailbox->validate($columns)) { + $failureMap = array_merge($failureMap, $this->aMailbox->getValidationFailures()); + } + } + + if ($this->aDomain !== null) { + if (!$this->aDomain->validate($columns)) { + $failureMap = array_merge($failureMap, $this->aDomain->getValidationFailures()); + } + } + + + if (($retval = AddressPeer::doValidate($this, $columns)) !== true) { + $failureMap = array_merge($failureMap, $retval); + } + + + + $this->alreadyInValidation = false; + } + + return (!empty($failureMap) ? $failureMap : true); + } + + + public function getByName($name, $type = BasePeer::TYPE_PHPNAME) + { + $pos = AddressPeer::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->getMailboxId(); + break; + case 2: + return $this->getLocalpart(); + break; + case 3: + return $this->getDomainId(); + break; + case 4: + return $this->getAlias(); + break; + case 5: + return $this->getDestination(); + break; + case 6: + return $this->getActive(); + break; + case 7: + return $this->getSaveInMailbox(); + break; + default: + return null; + break; + } } + + + public function toArray($keyType = BasePeer::TYPE_PHPNAME) + { + $keys = AddressPeer::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getMailboxId(), + $keys[2] => $this->getLocalpart(), + $keys[3] => $this->getDomainId(), + $keys[4] => $this->getAlias(), + $keys[5] => $this->getDestination(), + $keys[6] => $this->getActive(), + $keys[7] => $this->getSaveInMailbox(), + ); + return $result; + } + + + public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME) + { + $pos = AddressPeer::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->setMailboxId($value); + break; + case 2: + $this->setLocalpart($value); + break; + case 3: + $this->setDomainId($value); + break; + case 4: + $this->setAlias($value); + break; + case 5: + $this->setDestination($value); + break; + case 6: + $this->setActive($value); + break; + case 7: + $this->setSaveInMailbox($value); + break; + } } + + + public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) + { + $keys = AddressPeer::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); + if (array_key_exists($keys[1], $arr)) $this->setMailboxId($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setLocalpart($arr[$keys[2]]); + if (array_key_exists($keys[3], $arr)) $this->setDomainId($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setAlias($arr[$keys[4]]); + if (array_key_exists($keys[5], $arr)) $this->setDestination($arr[$keys[5]]); + if (array_key_exists($keys[6], $arr)) $this->setActive($arr[$keys[6]]); + if (array_key_exists($keys[7], $arr)) $this->setSaveInMailbox($arr[$keys[7]]); + } + + + public function buildCriteria() + { + $criteria = new Criteria(AddressPeer::DATABASE_NAME); + + if ($this->isColumnModified(AddressPeer::ID)) $criteria->add(AddressPeer::ID, $this->id); + if ($this->isColumnModified(AddressPeer::MAILBOX_ID)) $criteria->add(AddressPeer::MAILBOX_ID, $this->mailbox_id); + if ($this->isColumnModified(AddressPeer::LOCALPART)) $criteria->add(AddressPeer::LOCALPART, $this->localpart); + if ($this->isColumnModified(AddressPeer::DOMAIN_ID)) $criteria->add(AddressPeer::DOMAIN_ID, $this->domain_id); + if ($this->isColumnModified(AddressPeer::ALIAS)) $criteria->add(AddressPeer::ALIAS, $this->alias); + if ($this->isColumnModified(AddressPeer::DESTINATION)) $criteria->add(AddressPeer::DESTINATION, $this->destination); + if ($this->isColumnModified(AddressPeer::ACTIVE)) $criteria->add(AddressPeer::ACTIVE, $this->active); + if ($this->isColumnModified(AddressPeer::SAVE_IN_MAILBOX)) $criteria->add(AddressPeer::SAVE_IN_MAILBOX, $this->save_in_mailbox); + + return $criteria; + } + + + public function buildPkeyCriteria() + { + $criteria = new Criteria(AddressPeer::DATABASE_NAME); + + $criteria->add(AddressPeer::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->setMailboxId($this->mailbox_id); + + $copyObj->setLocalpart($this->localpart); + + $copyObj->setDomainId($this->domain_id); + + $copyObj->setAlias($this->alias); + + $copyObj->setDestination($this->destination); + + $copyObj->setActive($this->active); + + $copyObj->setSaveInMailbox($this->save_in_mailbox); + + + $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 AddressPeer(); + } + return self::$peer; + } + + + public function setMailbox($v) + { + + + if ($v === null) { + $this->setMailboxId(NULL); + } else { + $this->setMailboxId($v->getId()); + } + + + $this->aMailbox = $v; + } + + + + public function getMailbox($con = null) + { + include_once 'lib/model/om/BaseMailboxPeer.php'; + + if ($this->aMailbox === null && ($this->mailbox_id !== null)) { + + $this->aMailbox = MailboxPeer::retrieveByPK($this->mailbox_id, $con); + + + } + return $this->aMailbox; + } + + + public function setDomain($v) + { + + + if ($v === null) { + $this->setDomainId(NULL); + } else { + $this->setDomainId($v->getId()); + } + + + $this->aDomain = $v; + } + + + + public function getDomain($con = null) + { + include_once 'lib/model/om/BaseDomainPeer.php'; + + if ($this->aDomain === null && ($this->domain_id !== null)) { + + $this->aDomain = DomainPeer::retrieveByPK($this->domain_id, $con); + + + } + return $this->aDomain; + } + +}
\ No newline at end of file diff --git a/lib/model/om/BaseAddressPeer.php b/lib/model/om/BaseAddressPeer.php new file mode 100644 index 0000000..acc23cb --- /dev/null +++ b/lib/model/om/BaseAddressPeer.php @@ -0,0 +1,834 @@ +<?php + + +abstract class BaseAddressPeer { + + + const DATABASE_NAME = 'propel'; + + + const TABLE_NAME = 'address'; + + + const CLASS_DEFAULT = 'lib.model.Address'; + + + const NUM_COLUMNS = 8; + + + const NUM_LAZY_LOAD_COLUMNS = 0; + + + + const ID = 'address.ID'; + + + const MAILBOX_ID = 'address.MAILBOX_ID'; + + + const LOCALPART = 'address.LOCALPART'; + + + const DOMAIN_ID = 'address.DOMAIN_ID'; + + + const ALIAS = 'address.ALIAS'; + + + const DESTINATION = 'address.DESTINATION'; + + + const ACTIVE = 'address.ACTIVE'; + + + const SAVE_IN_MAILBOX = 'address.SAVE_IN_MAILBOX'; + + + private static $phpNameMap = null; + + + + private static $fieldNames = array ( + BasePeer::TYPE_PHPNAME => array ('Id', 'MailboxId', 'Localpart', 'DomainId', 'Alias', 'Destination', 'Active', 'SaveInMailbox', ), + BasePeer::TYPE_COLNAME => array (AddressPeer::ID, AddressPeer::MAILBOX_ID, AddressPeer::LOCALPART, AddressPeer::DOMAIN_ID, AddressPeer::ALIAS, AddressPeer::DESTINATION, AddressPeer::ACTIVE, AddressPeer::SAVE_IN_MAILBOX, ), + BasePeer::TYPE_FIELDNAME => array ('id', 'mailbox_id', 'localpart', 'domain_id', 'alias', 'destination', 'active', 'save_in_mailbox', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, ) + ); + + + private static $fieldKeys = array ( + BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'MailboxId' => 1, 'Localpart' => 2, 'DomainId' => 3, 'Alias' => 4, 'Destination' => 5, 'Active' => 6, 'SaveInMailbox' => 7, ), + BasePeer::TYPE_COLNAME => array (AddressPeer::ID => 0, AddressPeer::MAILBOX_ID => 1, AddressPeer::LOCALPART => 2, AddressPeer::DOMAIN_ID => 3, AddressPeer::ALIAS => 4, AddressPeer::DESTINATION => 5, AddressPeer::ACTIVE => 6, AddressPeer::SAVE_IN_MAILBOX => 7, ), + BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'mailbox_id' => 1, 'localpart' => 2, 'domain_id' => 3, 'alias' => 4, 'destination' => 5, 'active' => 6, 'save_in_mailbox' => 7, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, ) + ); + + + public static function getMapBuilder() + { + include_once 'lib/model/map/AddressMapBuilder.php'; + return BasePeer::getMapBuilder('lib.model.map.AddressMapBuilder'); + } + + public static function getPhpNameMap() + { + if (self::$phpNameMap === null) { + $map = AddressPeer::getTableMap(); + $columns = $map->getColumns(); + $nameMap = array(); + foreach ($columns as $column) { + $nameMap[$column->getPhpName()] = $column->getColumnName(); + } + self::$phpNameMap = $nameMap; + } + return self::$phpNameMap; + } + + static public function translateFieldName($name, $fromType, $toType) + { + $toNames = self::getFieldNames($toType); + $key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null; + if ($key === null) { + throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true)); + } + return $toNames[$key]; + } + + + + static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) + { + if (!array_key_exists($type, self::$fieldNames)) { + throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.'); + } + return self::$fieldNames[$type]; + } + + + public static function alias($alias, $column) + { + return str_replace(AddressPeer::TABLE_NAME.'.', $alias.'.', $column); + } + + + public static function addSelectColumns(Criteria $criteria) + { + + $criteria->addSelectColumn(AddressPeer::ID); + + $criteria->addSelectColumn(AddressPeer::MAILBOX_ID); + + $criteria->addSelectColumn(AddressPeer::LOCALPART); + + $criteria->addSelectColumn(AddressPeer::DOMAIN_ID); + + $criteria->addSelectColumn(AddressPeer::ALIAS); + + $criteria->addSelectColumn(AddressPeer::DESTINATION); + + $criteria->addSelectColumn(AddressPeer::ACTIVE); + + $criteria->addSelectColumn(AddressPeer::SAVE_IN_MAILBOX); + + } + + const COUNT = 'COUNT(address.ID)'; + const COUNT_DISTINCT = 'COUNT(DISTINCT address.ID)'; + + + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(AddressPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(AddressPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $rs = AddressPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + public static function doSelectOne(Criteria $criteria, $con = null) + { + $critcopy = clone $criteria; + $critcopy->setLimit(1); + $objects = AddressPeer::doSelect($critcopy, $con); + if ($objects) { + return $objects[0]; + } + return null; + } + + public static function doSelect(Criteria $criteria, $con = null) + { + return AddressPeer::populateObjects(AddressPeer::doSelectRS($criteria, $con)); + } + + public static function doSelectRS(Criteria $criteria, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if (!$criteria->getSelectColumns()) { + $criteria = clone $criteria; + AddressPeer::addSelectColumns($criteria); + } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doSelect($criteria, $con); + } + + public static function populateObjects(ResultSet $rs) + { + $results = array(); + + $cls = AddressPeer::getOMClass(); + $cls = Propel::import($cls); + while($rs->next()) { + + $obj = new $cls(); + $obj->hydrate($rs); + $results[] = $obj; + + } + return $results; + } + + + public static function doCountJoinMailbox(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(AddressPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(AddressPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(AddressPeer::MAILBOX_ID, MailboxPeer::ID); + + $rs = AddressPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doCountJoinDomain(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(AddressPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(AddressPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(AddressPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = AddressPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinMailbox(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + AddressPeer::addSelectColumns($c); + $startcol = (AddressPeer::NUM_COLUMNS - AddressPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + MailboxPeer::addSelectColumns($c); + + $c->addJoin(AddressPeer::MAILBOX_ID, MailboxPeer::ID); + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = AddressPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = MailboxPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject = true; + foreach($results as $temp_obj1) { + $temp_obj2 = $temp_obj1->getMailbox(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addAddress($obj1); break; + } + } + if ($newObject) { + $obj2->initAddresss(); + $obj2->addAddress($obj1); } + $results[] = $obj1; + } + return $results; + } + + + + public static function doSelectJoinDomain(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + AddressPeer::addSelectColumns($c); + $startcol = (AddressPeer::NUM_COLUMNS - AddressPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + DomainPeer::addSelectColumns($c); + + $c->addJoin(AddressPeer::DOMAIN_ID, DomainPeer::ID); + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = AddressPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = DomainPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject = true; + foreach($results as $temp_obj1) { + $temp_obj2 = $temp_obj1->getDomain(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addAddress($obj1); break; + } + } + if ($newObject) { + $obj2->initAddresss(); + $obj2->addAddress($obj1); } + $results[] = $obj1; + } + return $results; + } + + + + public static function doCountJoinAll(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(AddressPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(AddressPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(AddressPeer::MAILBOX_ID, MailboxPeer::ID); + + $criteria->addJoin(AddressPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = AddressPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinAll(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + AddressPeer::addSelectColumns($c); + $startcol2 = (AddressPeer::NUM_COLUMNS - AddressPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + MailboxPeer::addSelectColumns($c); + $startcol3 = $startcol2 + MailboxPeer::NUM_COLUMNS; + + DomainPeer::addSelectColumns($c); + $startcol4 = $startcol3 + DomainPeer::NUM_COLUMNS; + + $c->addJoin(AddressPeer::MAILBOX_ID, MailboxPeer::ID); + + $c->addJoin(AddressPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = AddressPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + + + $omClass = MailboxPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getMailbox(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addAddress($obj1); break; + } + } + + if ($newObject) { + $obj2->initAddresss(); + $obj2->addAddress($obj1); + } + + + + $omClass = DomainPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj3 = new $cls(); + $obj3->hydrate($rs, $startcol3); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj3 = $temp_obj1->getDomain(); if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) { + $newObject = false; + $temp_obj3->addAddress($obj1); break; + } + } + + if ($newObject) { + $obj3->initAddresss(); + $obj3->addAddress($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + + public static function doCountJoinAllExceptMailbox(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(AddressPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(AddressPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(AddressPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = AddressPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doCountJoinAllExceptDomain(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(AddressPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(AddressPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(AddressPeer::MAILBOX_ID, MailboxPeer::ID); + + $rs = AddressPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinAllExceptMailbox(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + AddressPeer::addSelectColumns($c); + $startcol2 = (AddressPeer::NUM_COLUMNS - AddressPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + DomainPeer::addSelectColumns($c); + $startcol3 = $startcol2 + DomainPeer::NUM_COLUMNS; + + $c->addJoin(AddressPeer::DOMAIN_ID, DomainPeer::ID); + + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = AddressPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = DomainPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getDomain(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addAddress($obj1); + break; + } + } + + if ($newObject) { + $obj2->initAddresss(); + $obj2->addAddress($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + + public static function doSelectJoinAllExceptDomain(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + AddressPeer::addSelectColumns($c); + $startcol2 = (AddressPeer::NUM_COLUMNS - AddressPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + MailboxPeer::addSelectColumns($c); + $startcol3 = $startcol2 + MailboxPeer::NUM_COLUMNS; + + $c->addJoin(AddressPeer::MAILBOX_ID, MailboxPeer::ID); + + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = AddressPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = MailboxPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getMailbox(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addAddress($obj1); + break; + } + } + + if ($newObject) { + $obj2->initAddresss(); + $obj2->addAddress($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + public static function getTableMap() + { + return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); + } + + + public static function getOMClass() + { + return AddressPeer::CLASS_DEFAULT; + } + + + public static function doInsert($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } else { + $criteria = $values->buildCriteria(); } + + $criteria->remove(AddressPeer::ID); + + $criteria->setDbName(self::DATABASE_NAME); + + try { + $con->begin(); + $pk = BasePeer::doInsert($criteria, $con); + $con->commit(); + } catch(PropelException $e) { + $con->rollback(); + throw $e; + } + + return $pk; + } + + + public static function doUpdate($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $selectCriteria = new Criteria(self::DATABASE_NAME); + + if ($values instanceof Criteria) { + $criteria = clone $values; + $comparison = $criteria->getComparison(AddressPeer::ID); + $selectCriteria->add(AddressPeer::ID, $criteria->remove(AddressPeer::ID), $comparison); + + } else { $criteria = $values->buildCriteria(); $selectCriteria = $values->buildPkeyCriteria(); } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doUpdate($selectCriteria, $criteria, $con); + } + + + public static function doDeleteAll($con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + $affectedRows = 0; try { + $con->begin(); + $affectedRows += BasePeer::doDeleteAll(AddressPeer::TABLE_NAME, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doDelete($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(AddressPeer::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } elseif ($values instanceof Address) { + + $criteria = $values->buildPkeyCriteria(); + } else { + $criteria = new Criteria(self::DATABASE_NAME); + $criteria->add(AddressPeer::ID, (array) $values, Criteria::IN); + } + + $criteria->setDbName(self::DATABASE_NAME); + + $affectedRows = 0; + try { + $con->begin(); + + $affectedRows += BasePeer::doDelete($criteria, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doValidate(Address $obj, $cols = null) + { + $columns = array(); + + if ($cols) { + $dbMap = Propel::getDatabaseMap(AddressPeer::DATABASE_NAME); + $tableMap = $dbMap->getTable(AddressPeer::TABLE_NAME); + + if (! is_array($cols)) { + $cols = array($cols); + } + + foreach($cols as $colName) { + if ($tableMap->containsColumn($colName)) { + $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); + $columns[$colName] = $obj->$get(); + } + } + } else { + + } + + $res = BasePeer::doValidate(AddressPeer::DATABASE_NAME, AddressPeer::TABLE_NAME, $columns); + if ($res !== true) { + $request = sfContext::getInstance()->getRequest(); + foreach ($res as $failed) { + $col = AddressPeer::translateFieldname($failed->getColumn(), BasePeer::TYPE_COLNAME, BasePeer::TYPE_PHPNAME); + $request->setError($col, $failed->getMessage()); + } + } + + return $res; + } + + + public static function retrieveByPK($pk, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $criteria = new Criteria(AddressPeer::DATABASE_NAME); + + $criteria->add(AddressPeer::ID, $pk); + + + $v = AddressPeer::doSelect($criteria, $con); + + return !empty($v) > 0 ? $v[0] : null; + } + + + public static function retrieveByPKs($pks, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $objs = null; + if (empty($pks)) { + $objs = array(); + } else { + $criteria = new Criteria(); + $criteria->add(AddressPeer::ID, $pks, Criteria::IN); + $objs = AddressPeer::doSelect($criteria, $con); + } + return $objs; + } + +} +if (Propel::isInit()) { + try { + BaseAddressPeer::getMapBuilder(); + } catch (Exception $e) { + Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR); + } +} else { + require_once 'lib/model/map/AddressMapBuilder.php'; + Propel::registerMapBuilder('lib.model.map.AddressMapBuilder'); +} diff --git a/lib/model/om/BaseDomain.php b/lib/model/om/BaseDomain.php new file mode 100644 index 0000000..0c8317c --- /dev/null +++ b/lib/model/om/BaseDomain.php @@ -0,0 +1,926 @@ +<?php + + +abstract class BaseDomain extends BaseObject implements Persistent { + + + + protected static $peer; + + + + protected $id; + + + + protected $name; + + + + protected $creator_id; + + + + protected $mailbox_prefix; + + + + protected $max_mailbox_count; + + + + protected $quota; + + + + protected $default_mailbox_quota; + + + protected $aUser; + + + protected $collDomainPermissions; + + + protected $lastDomainPermissionCriteria = null; + + + protected $collMailboxs; + + + protected $lastMailboxCriteria = null; + + + protected $collAddresss; + + + protected $lastAddressCriteria = null; + + + protected $alreadyInSave = false; + + + protected $alreadyInValidation = false; + + + public function getId() + { + + return $this->id; + } + + + public function getName() + { + + return $this->name; + } + + + public function getCreatorId() + { + + return $this->creator_id; + } + + + public function getMailboxPrefix() + { + + return $this->mailbox_prefix; + } + + + public function getMaxMailboxCount() + { + + return $this->max_mailbox_count; + } + + + public function getQuota() + { + + return $this->quota; + } + + + public function getDefaultMailboxQuota() + { + + return $this->default_mailbox_quota; + } + + + 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[] = DomainPeer::ID; + } + + } + + public function setName($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->name !== $v) { + $this->name = $v; + $this->modifiedColumns[] = DomainPeer::NAME; + } + + } + + public function setCreatorId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->creator_id !== $v) { + $this->creator_id = $v; + $this->modifiedColumns[] = DomainPeer::CREATOR_ID; + } + + if ($this->aUser !== null && $this->aUser->getId() !== $v) { + $this->aUser = null; + } + + } + + public function setMailboxPrefix($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->mailbox_prefix !== $v) { + $this->mailbox_prefix = $v; + $this->modifiedColumns[] = DomainPeer::MAILBOX_PREFIX; + } + + } + + public function setMaxMailboxCount($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->max_mailbox_count !== $v) { + $this->max_mailbox_count = $v; + $this->modifiedColumns[] = DomainPeer::MAX_MAILBOX_COUNT; + } + + } + + public function setQuota($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->quota !== $v) { + $this->quota = $v; + $this->modifiedColumns[] = DomainPeer::QUOTA; + } + + } + + public function setDefaultMailboxQuota($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->default_mailbox_quota !== $v) { + $this->default_mailbox_quota = $v; + $this->modifiedColumns[] = DomainPeer::DEFAULT_MAILBOX_QUOTA; + } + + } + + public function hydrate(ResultSet $rs, $startcol = 1) + { + try { + + $this->id = $rs->getInt($startcol + 0); + + $this->name = $rs->getString($startcol + 1); + + $this->creator_id = $rs->getInt($startcol + 2); + + $this->mailbox_prefix = $rs->getString($startcol + 3); + + $this->max_mailbox_count = $rs->getInt($startcol + 4); + + $this->quota = $rs->getInt($startcol + 5); + + $this->default_mailbox_quota = $rs->getInt($startcol + 6); + + $this->resetModified(); + + $this->setNew(false); + + return $startcol + 7; + } catch (Exception $e) { + throw new PropelException("Error populating Domain 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(DomainPeer::DATABASE_NAME); + } + + try { + $con->begin(); + DomainPeer::doDelete($this, $con); + $this->setDeleted(true); + $con->commit(); + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public function save($con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getConnection(DomainPeer::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->aUser !== null) { + if ($this->aUser->isModified()) { + $affectedRows += $this->aUser->save($con); + } + $this->setUser($this->aUser); + } + + + if ($this->isModified()) { + if ($this->isNew()) { + $pk = DomainPeer::doInsert($this, $con); + $affectedRows += 1; + $this->setId($pk); + $this->setNew(false); + } else { + $affectedRows += DomainPeer::doUpdate($this, $con); + } + $this->resetModified(); } + + if ($this->collDomainPermissions !== null) { + foreach($this->collDomainPermissions as $referrerFK) { + if (!$referrerFK->isDeleted()) { + $affectedRows += $referrerFK->save($con); + } + } + } + + if ($this->collMailboxs !== null) { + foreach($this->collMailboxs as $referrerFK) { + if (!$referrerFK->isDeleted()) { + $affectedRows += $referrerFK->save($con); + } + } + } + + if ($this->collAddresss !== null) { + foreach($this->collAddresss 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 ($this->aUser !== null) { + if (!$this->aUser->validate($columns)) { + $failureMap = array_merge($failureMap, $this->aUser->getValidationFailures()); + } + } + + + if (($retval = DomainPeer::doValidate($this, $columns)) !== true) { + $failureMap = array_merge($failureMap, $retval); + } + + + if ($this->collDomainPermissions !== null) { + foreach($this->collDomainPermissions as $referrerFK) { + if (!$referrerFK->validate($columns)) { + $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); + } + } + } + + if ($this->collMailboxs !== null) { + foreach($this->collMailboxs as $referrerFK) { + if (!$referrerFK->validate($columns)) { + $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); + } + } + } + + if ($this->collAddresss !== null) { + foreach($this->collAddresss 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 = DomainPeer::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->getName(); + break; + case 2: + return $this->getCreatorId(); + break; + case 3: + return $this->getMailboxPrefix(); + break; + case 4: + return $this->getMaxMailboxCount(); + break; + case 5: + return $this->getQuota(); + break; + case 6: + return $this->getDefaultMailboxQuota(); + break; + default: + return null; + break; + } } + + + public function toArray($keyType = BasePeer::TYPE_PHPNAME) + { + $keys = DomainPeer::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getName(), + $keys[2] => $this->getCreatorId(), + $keys[3] => $this->getMailboxPrefix(), + $keys[4] => $this->getMaxMailboxCount(), + $keys[5] => $this->getQuota(), + $keys[6] => $this->getDefaultMailboxQuota(), + ); + return $result; + } + + + public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME) + { + $pos = DomainPeer::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->setName($value); + break; + case 2: + $this->setCreatorId($value); + break; + case 3: + $this->setMailboxPrefix($value); + break; + case 4: + $this->setMaxMailboxCount($value); + break; + case 5: + $this->setQuota($value); + break; + case 6: + $this->setDefaultMailboxQuota($value); + break; + } } + + + public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) + { + $keys = DomainPeer::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); + if (array_key_exists($keys[1], $arr)) $this->setName($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setCreatorId($arr[$keys[2]]); + if (array_key_exists($keys[3], $arr)) $this->setMailboxPrefix($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setMaxMailboxCount($arr[$keys[4]]); + if (array_key_exists($keys[5], $arr)) $this->setQuota($arr[$keys[5]]); + if (array_key_exists($keys[6], $arr)) $this->setDefaultMailboxQuota($arr[$keys[6]]); + } + + + public function buildCriteria() + { + $criteria = new Criteria(DomainPeer::DATABASE_NAME); + + if ($this->isColumnModified(DomainPeer::ID)) $criteria->add(DomainPeer::ID, $this->id); + if ($this->isColumnModified(DomainPeer::NAME)) $criteria->add(DomainPeer::NAME, $this->name); + if ($this->isColumnModified(DomainPeer::CREATOR_ID)) $criteria->add(DomainPeer::CREATOR_ID, $this->creator_id); + if ($this->isColumnModified(DomainPeer::MAILBOX_PREFIX)) $criteria->add(DomainPeer::MAILBOX_PREFIX, $this->mailbox_prefix); + if ($this->isColumnModified(DomainPeer::MAX_MAILBOX_COUNT)) $criteria->add(DomainPeer::MAX_MAILBOX_COUNT, $this->max_mailbox_count); + if ($this->isColumnModified(DomainPeer::QUOTA)) $criteria->add(DomainPeer::QUOTA, $this->quota); + if ($this->isColumnModified(DomainPeer::DEFAULT_MAILBOX_QUOTA)) $criteria->add(DomainPeer::DEFAULT_MAILBOX_QUOTA, $this->default_mailbox_quota); + + return $criteria; + } + + + public function buildPkeyCriteria() + { + $criteria = new Criteria(DomainPeer::DATABASE_NAME); + + $criteria->add(DomainPeer::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->setName($this->name); + + $copyObj->setCreatorId($this->creator_id); + + $copyObj->setMailboxPrefix($this->mailbox_prefix); + + $copyObj->setMaxMailboxCount($this->max_mailbox_count); + + $copyObj->setQuota($this->quota); + + $copyObj->setDefaultMailboxQuota($this->default_mailbox_quota); + + + if ($deepCopy) { + $copyObj->setNew(false); + + foreach($this->getDomainPermissions() as $relObj) { + $copyObj->addDomainPermission($relObj->copy($deepCopy)); + } + + foreach($this->getMailboxs() as $relObj) { + $copyObj->addMailbox($relObj->copy($deepCopy)); + } + + foreach($this->getAddresss() as $relObj) { + $copyObj->addAddress($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 DomainPeer(); + } + return self::$peer; + } + + + public function setUser($v) + { + + + if ($v === null) { + $this->setCreatorId(NULL); + } else { + $this->setCreatorId($v->getId()); + } + + + $this->aUser = $v; + } + + + + public function getUser($con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + + if ($this->aUser === null && ($this->creator_id !== null)) { + + $this->aUser = UserPeer::retrieveByPK($this->creator_id, $con); + + + } + return $this->aUser; + } + + + public function initDomainPermissions() + { + if ($this->collDomainPermissions === null) { + $this->collDomainPermissions = array(); + } + } + + + public function getDomainPermissions($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseDomainPermissionPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collDomainPermissions === null) { + if ($this->isNew()) { + $this->collDomainPermissions = array(); + } else { + + $criteria->add(DomainPermissionPeer::DOMAIN_ID, $this->getId()); + + DomainPermissionPeer::addSelectColumns($criteria); + $this->collDomainPermissions = DomainPermissionPeer::doSelect($criteria, $con); + } + } else { + if (!$this->isNew()) { + + + $criteria->add(DomainPermissionPeer::DOMAIN_ID, $this->getId()); + + DomainPermissionPeer::addSelectColumns($criteria); + if (!isset($this->lastDomainPermissionCriteria) || !$this->lastDomainPermissionCriteria->equals($criteria)) { + $this->collDomainPermissions = DomainPermissionPeer::doSelect($criteria, $con); + } + } + } + $this->lastDomainPermissionCriteria = $criteria; + return $this->collDomainPermissions; + } + + + public function countDomainPermissions($criteria = null, $distinct = false, $con = null) + { + include_once 'lib/model/om/BaseDomainPermissionPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + $criteria->add(DomainPermissionPeer::DOMAIN_ID, $this->getId()); + + return DomainPermissionPeer::doCount($criteria, $distinct, $con); + } + + + public function addDomainPermission(DomainPermission $l) + { + $this->collDomainPermissions[] = $l; + $l->setDomain($this); + } + + + + public function getDomainPermissionsJoinUser($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseDomainPermissionPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collDomainPermissions === null) { + if ($this->isNew()) { + $this->collDomainPermissions = array(); + } else { + + $criteria->add(DomainPermissionPeer::DOMAIN_ID, $this->getId()); + + $this->collDomainPermissions = DomainPermissionPeer::doSelectJoinUser($criteria, $con); + } + } else { + + $criteria->add(DomainPermissionPeer::DOMAIN_ID, $this->getId()); + + if (!isset($this->lastDomainPermissionCriteria) || !$this->lastDomainPermissionCriteria->equals($criteria)) { + $this->collDomainPermissions = DomainPermissionPeer::doSelectJoinUser($criteria, $con); + } + } + $this->lastDomainPermissionCriteria = $criteria; + + return $this->collDomainPermissions; + } + + + public function initMailboxs() + { + if ($this->collMailboxs === null) { + $this->collMailboxs = array(); + } + } + + + public function getMailboxs($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseMailboxPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collMailboxs === null) { + if ($this->isNew()) { + $this->collMailboxs = array(); + } else { + + $criteria->add(MailboxPeer::DOMAIN_ID, $this->getId()); + + MailboxPeer::addSelectColumns($criteria); + $this->collMailboxs = MailboxPeer::doSelect($criteria, $con); + } + } else { + if (!$this->isNew()) { + + + $criteria->add(MailboxPeer::DOMAIN_ID, $this->getId()); + + MailboxPeer::addSelectColumns($criteria); + if (!isset($this->lastMailboxCriteria) || !$this->lastMailboxCriteria->equals($criteria)) { + $this->collMailboxs = MailboxPeer::doSelect($criteria, $con); + } + } + } + $this->lastMailboxCriteria = $criteria; + return $this->collMailboxs; + } + + + public function countMailboxs($criteria = null, $distinct = false, $con = null) + { + include_once 'lib/model/om/BaseMailboxPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + $criteria->add(MailboxPeer::DOMAIN_ID, $this->getId()); + + return MailboxPeer::doCount($criteria, $distinct, $con); + } + + + public function addMailbox(Mailbox $l) + { + $this->collMailboxs[] = $l; + $l->setDomain($this); + } + + + public function initAddresss() + { + if ($this->collAddresss === null) { + $this->collAddresss = array(); + } + } + + + public function getAddresss($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseAddressPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collAddresss === null) { + if ($this->isNew()) { + $this->collAddresss = array(); + } else { + + $criteria->add(AddressPeer::DOMAIN_ID, $this->getId()); + + AddressPeer::addSelectColumns($criteria); + $this->collAddresss = AddressPeer::doSelect($criteria, $con); + } + } else { + if (!$this->isNew()) { + + + $criteria->add(AddressPeer::DOMAIN_ID, $this->getId()); + + AddressPeer::addSelectColumns($criteria); + if (!isset($this->lastAddressCriteria) || !$this->lastAddressCriteria->equals($criteria)) { + $this->collAddresss = AddressPeer::doSelect($criteria, $con); + } + } + } + $this->lastAddressCriteria = $criteria; + return $this->collAddresss; + } + + + public function countAddresss($criteria = null, $distinct = false, $con = null) + { + include_once 'lib/model/om/BaseAddressPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + $criteria->add(AddressPeer::DOMAIN_ID, $this->getId()); + + return AddressPeer::doCount($criteria, $distinct, $con); + } + + + public function addAddress(Address $l) + { + $this->collAddresss[] = $l; + $l->setDomain($this); + } + + + + public function getAddresssJoinMailbox($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseAddressPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collAddresss === null) { + if ($this->isNew()) { + $this->collAddresss = array(); + } else { + + $criteria->add(AddressPeer::DOMAIN_ID, $this->getId()); + + $this->collAddresss = AddressPeer::doSelectJoinMailbox($criteria, $con); + } + } else { + + $criteria->add(AddressPeer::DOMAIN_ID, $this->getId()); + + if (!isset($this->lastAddressCriteria) || !$this->lastAddressCriteria->equals($criteria)) { + $this->collAddresss = AddressPeer::doSelectJoinMailbox($criteria, $con); + } + } + $this->lastAddressCriteria = $criteria; + + return $this->collAddresss; + } + +}
\ No newline at end of file diff --git a/lib/model/om/BaseDomainPeer.php b/lib/model/om/BaseDomainPeer.php new file mode 100644 index 0000000..93ee281 --- /dev/null +++ b/lib/model/om/BaseDomainPeer.php @@ -0,0 +1,591 @@ +<?php + + +abstract class BaseDomainPeer { + + + const DATABASE_NAME = 'propel'; + + + const TABLE_NAME = 'domain'; + + + const CLASS_DEFAULT = 'lib.model.Domain'; + + + const NUM_COLUMNS = 7; + + + const NUM_LAZY_LOAD_COLUMNS = 0; + + + + const ID = 'domain.ID'; + + + const NAME = 'domain.NAME'; + + + const CREATOR_ID = 'domain.CREATOR_ID'; + + + const MAILBOX_PREFIX = 'domain.MAILBOX_PREFIX'; + + + const MAX_MAILBOX_COUNT = 'domain.MAX_MAILBOX_COUNT'; + + + const QUOTA = 'domain.QUOTA'; + + + const DEFAULT_MAILBOX_QUOTA = 'domain.DEFAULT_MAILBOX_QUOTA'; + + + private static $phpNameMap = null; + + + + private static $fieldNames = array ( + BasePeer::TYPE_PHPNAME => array ('Id', 'Name', 'CreatorId', 'MailboxPrefix', 'MaxMailboxCount', 'Quota', 'DefaultMailboxQuota', ), + BasePeer::TYPE_COLNAME => array (DomainPeer::ID, DomainPeer::NAME, DomainPeer::CREATOR_ID, DomainPeer::MAILBOX_PREFIX, DomainPeer::MAX_MAILBOX_COUNT, DomainPeer::QUOTA, DomainPeer::DEFAULT_MAILBOX_QUOTA, ), + BasePeer::TYPE_FIELDNAME => array ('id', 'name', 'creator_id', 'mailbox_prefix', 'max_mailbox_count', 'quota', 'default_mailbox_quota', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, ) + ); + + + private static $fieldKeys = array ( + BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'Name' => 1, 'CreatorId' => 2, 'MailboxPrefix' => 3, 'MaxMailboxCount' => 4, 'Quota' => 5, 'DefaultMailboxQuota' => 6, ), + BasePeer::TYPE_COLNAME => array (DomainPeer::ID => 0, DomainPeer::NAME => 1, DomainPeer::CREATOR_ID => 2, DomainPeer::MAILBOX_PREFIX => 3, DomainPeer::MAX_MAILBOX_COUNT => 4, DomainPeer::QUOTA => 5, DomainPeer::DEFAULT_MAILBOX_QUOTA => 6, ), + BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'name' => 1, 'creator_id' => 2, 'mailbox_prefix' => 3, 'max_mailbox_count' => 4, 'quota' => 5, 'default_mailbox_quota' => 6, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, ) + ); + + + public static function getMapBuilder() + { + include_once 'lib/model/map/DomainMapBuilder.php'; + return BasePeer::getMapBuilder('lib.model.map.DomainMapBuilder'); + } + + public static function getPhpNameMap() + { + if (self::$phpNameMap === null) { + $map = DomainPeer::getTableMap(); + $columns = $map->getColumns(); + $nameMap = array(); + foreach ($columns as $column) { + $nameMap[$column->getPhpName()] = $column->getColumnName(); + } + self::$phpNameMap = $nameMap; + } + return self::$phpNameMap; + } + + static public function translateFieldName($name, $fromType, $toType) + { + $toNames = self::getFieldNames($toType); + $key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null; + if ($key === null) { + throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true)); + } + return $toNames[$key]; + } + + + + static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) + { + if (!array_key_exists($type, self::$fieldNames)) { + throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.'); + } + return self::$fieldNames[$type]; + } + + + public static function alias($alias, $column) + { + return str_replace(DomainPeer::TABLE_NAME.'.', $alias.'.', $column); + } + + + public static function addSelectColumns(Criteria $criteria) + { + + $criteria->addSelectColumn(DomainPeer::ID); + + $criteria->addSelectColumn(DomainPeer::NAME); + + $criteria->addSelectColumn(DomainPeer::CREATOR_ID); + + $criteria->addSelectColumn(DomainPeer::MAILBOX_PREFIX); + + $criteria->addSelectColumn(DomainPeer::MAX_MAILBOX_COUNT); + + $criteria->addSelectColumn(DomainPeer::QUOTA); + + $criteria->addSelectColumn(DomainPeer::DEFAULT_MAILBOX_QUOTA); + + } + + const COUNT = 'COUNT(domain.ID)'; + const COUNT_DISTINCT = 'COUNT(DISTINCT domain.ID)'; + + + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(DomainPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(DomainPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $rs = DomainPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + public static function doSelectOne(Criteria $criteria, $con = null) + { + $critcopy = clone $criteria; + $critcopy->setLimit(1); + $objects = DomainPeer::doSelect($critcopy, $con); + if ($objects) { + return $objects[0]; + } + return null; + } + + public static function doSelect(Criteria $criteria, $con = null) + { + return DomainPeer::populateObjects(DomainPeer::doSelectRS($criteria, $con)); + } + + public static function doSelectRS(Criteria $criteria, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if (!$criteria->getSelectColumns()) { + $criteria = clone $criteria; + DomainPeer::addSelectColumns($criteria); + } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doSelect($criteria, $con); + } + + public static function populateObjects(ResultSet $rs) + { + $results = array(); + + $cls = DomainPeer::getOMClass(); + $cls = Propel::import($cls); + while($rs->next()) { + + $obj = new $cls(); + $obj->hydrate($rs); + $results[] = $obj; + + } + return $results; + } + + + public static function doCountJoinUser(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(DomainPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(DomainPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(DomainPeer::CREATOR_ID, UserPeer::ID); + + $rs = DomainPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinUser(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + DomainPeer::addSelectColumns($c); + $startcol = (DomainPeer::NUM_COLUMNS - DomainPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + UserPeer::addSelectColumns($c); + + $c->addJoin(DomainPeer::CREATOR_ID, UserPeer::ID); + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = DomainPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = UserPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject = true; + foreach($results as $temp_obj1) { + $temp_obj2 = $temp_obj1->getUser(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addDomain($obj1); break; + } + } + if ($newObject) { + $obj2->initDomains(); + $obj2->addDomain($obj1); } + $results[] = $obj1; + } + return $results; + } + + + + public static function doCountJoinAll(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(DomainPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(DomainPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(DomainPeer::CREATOR_ID, UserPeer::ID); + + $rs = DomainPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinAll(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + DomainPeer::addSelectColumns($c); + $startcol2 = (DomainPeer::NUM_COLUMNS - DomainPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + UserPeer::addSelectColumns($c); + $startcol3 = $startcol2 + UserPeer::NUM_COLUMNS; + + $c->addJoin(DomainPeer::CREATOR_ID, UserPeer::ID); + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = DomainPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + + + $omClass = UserPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getUser(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addDomain($obj1); break; + } + } + + if ($newObject) { + $obj2->initDomains(); + $obj2->addDomain($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + public static function getTableMap() + { + return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); + } + + + public static function getOMClass() + { + return DomainPeer::CLASS_DEFAULT; + } + + + public static function doInsert($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } else { + $criteria = $values->buildCriteria(); } + + $criteria->remove(DomainPeer::ID); + + $criteria->setDbName(self::DATABASE_NAME); + + try { + $con->begin(); + $pk = BasePeer::doInsert($criteria, $con); + $con->commit(); + } catch(PropelException $e) { + $con->rollback(); + throw $e; + } + + return $pk; + } + + + public static function doUpdate($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $selectCriteria = new Criteria(self::DATABASE_NAME); + + if ($values instanceof Criteria) { + $criteria = clone $values; + $comparison = $criteria->getComparison(DomainPeer::ID); + $selectCriteria->add(DomainPeer::ID, $criteria->remove(DomainPeer::ID), $comparison); + + } else { $criteria = $values->buildCriteria(); $selectCriteria = $values->buildPkeyCriteria(); } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doUpdate($selectCriteria, $criteria, $con); + } + + + public static function doDeleteAll($con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + $affectedRows = 0; try { + $con->begin(); + $affectedRows += DomainPeer::doOnDeleteCascade(new Criteria(), $con); + DomainPeer::doOnDeleteSetNull(new Criteria(), $con); + $affectedRows += BasePeer::doDeleteAll(DomainPeer::TABLE_NAME, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doDelete($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(DomainPeer::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } elseif ($values instanceof Domain) { + + $criteria = $values->buildPkeyCriteria(); + } else { + $criteria = new Criteria(self::DATABASE_NAME); + $criteria->add(DomainPeer::ID, (array) $values, Criteria::IN); + } + + $criteria->setDbName(self::DATABASE_NAME); + + $affectedRows = 0; + try { + $con->begin(); + $affectedRows += DomainPeer::doOnDeleteCascade($criteria, $con);DomainPeer::doOnDeleteSetNull($criteria, $con); + $affectedRows += BasePeer::doDelete($criteria, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + protected static function doOnDeleteCascade(Criteria $criteria, Connection $con) + { + $affectedRows = 0; + + $objects = DomainPeer::doSelect($criteria, $con); + foreach($objects as $obj) { + + + include_once 'lib/model/DomainPermission.php'; + + $c = new Criteria(); + + $c->add(DomainPermissionPeer::DOMAIN_ID, $obj->getId()); + $affectedRows += DomainPermissionPeer::doDelete($c, $con); + } + return $affectedRows; + } + + + protected static function doOnDeleteSetNull(Criteria $criteria, Connection $con) + { + + $objects = DomainPeer::doSelect($criteria, $con); + foreach($objects as $obj) { + + $selectCriteria = new Criteria(DomainPeer::DATABASE_NAME); + $updateValues = new Criteria(DomainPeer::DATABASE_NAME); + $selectCriteria->add(MailboxPeer::DOMAIN_ID, $obj->getId()); + $updateValues->add(MailboxPeer::DOMAIN_ID, null); + + BasePeer::doUpdate($selectCriteria, $updateValues, $con); + } + } + + + public static function doValidate(Domain $obj, $cols = null) + { + $columns = array(); + + if ($cols) { + $dbMap = Propel::getDatabaseMap(DomainPeer::DATABASE_NAME); + $tableMap = $dbMap->getTable(DomainPeer::TABLE_NAME); + + if (! is_array($cols)) { + $cols = array($cols); + } + + foreach($cols as $colName) { + if ($tableMap->containsColumn($colName)) { + $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); + $columns[$colName] = $obj->$get(); + } + } + } else { + + } + + $res = BasePeer::doValidate(DomainPeer::DATABASE_NAME, DomainPeer::TABLE_NAME, $columns); + if ($res !== true) { + $request = sfContext::getInstance()->getRequest(); + foreach ($res as $failed) { + $col = DomainPeer::translateFieldname($failed->getColumn(), BasePeer::TYPE_COLNAME, BasePeer::TYPE_PHPNAME); + $request->setError($col, $failed->getMessage()); + } + } + + return $res; + } + + + public static function retrieveByPK($pk, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $criteria = new Criteria(DomainPeer::DATABASE_NAME); + + $criteria->add(DomainPeer::ID, $pk); + + + $v = DomainPeer::doSelect($criteria, $con); + + return !empty($v) > 0 ? $v[0] : null; + } + + + public static function retrieveByPKs($pks, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $objs = null; + if (empty($pks)) { + $objs = array(); + } else { + $criteria = new Criteria(); + $criteria->add(DomainPeer::ID, $pks, Criteria::IN); + $objs = DomainPeer::doSelect($criteria, $con); + } + return $objs; + } + +} +if (Propel::isInit()) { + try { + BaseDomainPeer::getMapBuilder(); + } catch (Exception $e) { + Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR); + } +} else { + require_once 'lib/model/map/DomainMapBuilder.php'; + Propel::registerMapBuilder('lib.model.map.DomainMapBuilder'); +} diff --git a/lib/model/om/BaseDomainPermission.php b/lib/model/om/BaseDomainPermission.php new file mode 100644 index 0000000..48a6e89 --- /dev/null +++ b/lib/model/om/BaseDomainPermission.php @@ -0,0 +1,461 @@ +<?php + + +abstract class BaseDomainPermission extends BaseObject implements Persistent { + + + + protected static $peer; + + + + protected $user_id; + + + + protected $domain_id; + + + + protected $id; + + + protected $aUser; + + + protected $aDomain; + + + protected $alreadyInSave = false; + + + protected $alreadyInValidation = false; + + + public function getUserId() + { + + return $this->user_id; + } + + + public function getDomainId() + { + + return $this->domain_id; + } + + + public function getId() + { + + return $this->id; + } + + + public function setUserId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->user_id !== $v) { + $this->user_id = $v; + $this->modifiedColumns[] = DomainPermissionPeer::USER_ID; + } + + if ($this->aUser !== null && $this->aUser->getId() !== $v) { + $this->aUser = null; + } + + } + + public function setDomainId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->domain_id !== $v) { + $this->domain_id = $v; + $this->modifiedColumns[] = DomainPermissionPeer::DOMAIN_ID; + } + + if ($this->aDomain !== null && $this->aDomain->getId() !== $v) { + $this->aDomain = null; + } + + } + + 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[] = DomainPermissionPeer::ID; + } + + } + + public function hydrate(ResultSet $rs, $startcol = 1) + { + try { + + $this->user_id = $rs->getInt($startcol + 0); + + $this->domain_id = $rs->getInt($startcol + 1); + + $this->id = $rs->getInt($startcol + 2); + + $this->resetModified(); + + $this->setNew(false); + + return $startcol + 3; + } catch (Exception $e) { + throw new PropelException("Error populating DomainPermission 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(DomainPermissionPeer::DATABASE_NAME); + } + + try { + $con->begin(); + DomainPermissionPeer::doDelete($this, $con); + $this->setDeleted(true); + $con->commit(); + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public function save($con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getConnection(DomainPermissionPeer::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->aUser !== null) { + if ($this->aUser->isModified()) { + $affectedRows += $this->aUser->save($con); + } + $this->setUser($this->aUser); + } + + if ($this->aDomain !== null) { + if ($this->aDomain->isModified()) { + $affectedRows += $this->aDomain->save($con); + } + $this->setDomain($this->aDomain); + } + + + if ($this->isModified()) { + if ($this->isNew()) { + $pk = DomainPermissionPeer::doInsert($this, $con); + $affectedRows += 1; + $this->setId($pk); + $this->setNew(false); + } else { + $affectedRows += DomainPermissionPeer::doUpdate($this, $con); + } + $this->resetModified(); } + + $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 ($this->aUser !== null) { + if (!$this->aUser->validate($columns)) { + $failureMap = array_merge($failureMap, $this->aUser->getValidationFailures()); + } + } + + if ($this->aDomain !== null) { + if (!$this->aDomain->validate($columns)) { + $failureMap = array_merge($failureMap, $this->aDomain->getValidationFailures()); + } + } + + + if (($retval = DomainPermissionPeer::doValidate($this, $columns)) !== true) { + $failureMap = array_merge($failureMap, $retval); + } + + + + $this->alreadyInValidation = false; + } + + return (!empty($failureMap) ? $failureMap : true); + } + + + public function getByName($name, $type = BasePeer::TYPE_PHPNAME) + { + $pos = DomainPermissionPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM); + return $this->getByPosition($pos); + } + + + public function getByPosition($pos) + { + switch($pos) { + case 0: + return $this->getUserId(); + break; + case 1: + return $this->getDomainId(); + break; + case 2: + return $this->getId(); + break; + default: + return null; + break; + } } + + + public function toArray($keyType = BasePeer::TYPE_PHPNAME) + { + $keys = DomainPermissionPeer::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getUserId(), + $keys[1] => $this->getDomainId(), + $keys[2] => $this->getId(), + ); + return $result; + } + + + public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME) + { + $pos = DomainPermissionPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM); + return $this->setByPosition($pos, $value); + } + + + public function setByPosition($pos, $value) + { + switch($pos) { + case 0: + $this->setUserId($value); + break; + case 1: + $this->setDomainId($value); + break; + case 2: + $this->setId($value); + break; + } } + + + public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) + { + $keys = DomainPermissionPeer::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) $this->setUserId($arr[$keys[0]]); + if (array_key_exists($keys[1], $arr)) $this->setDomainId($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setId($arr[$keys[2]]); + } + + + public function buildCriteria() + { + $criteria = new Criteria(DomainPermissionPeer::DATABASE_NAME); + + if ($this->isColumnModified(DomainPermissionPeer::USER_ID)) $criteria->add(DomainPermissionPeer::USER_ID, $this->user_id); + if ($this->isColumnModified(DomainPermissionPeer::DOMAIN_ID)) $criteria->add(DomainPermissionPeer::DOMAIN_ID, $this->domain_id); + if ($this->isColumnModified(DomainPermissionPeer::ID)) $criteria->add(DomainPermissionPeer::ID, $this->id); + + return $criteria; + } + + + public function buildPkeyCriteria() + { + $criteria = new Criteria(DomainPermissionPeer::DATABASE_NAME); + + $criteria->add(DomainPermissionPeer::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->setUserId($this->user_id); + + $copyObj->setDomainId($this->domain_id); + + + $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 DomainPermissionPeer(); + } + return self::$peer; + } + + + public function setUser($v) + { + + + if ($v === null) { + $this->setUserId(NULL); + } else { + $this->setUserId($v->getId()); + } + + + $this->aUser = $v; + } + + + + public function getUser($con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + + if ($this->aUser === null && ($this->user_id !== null)) { + + $this->aUser = UserPeer::retrieveByPK($this->user_id, $con); + + + } + return $this->aUser; + } + + + public function setDomain($v) + { + + + if ($v === null) { + $this->setDomainId(NULL); + } else { + $this->setDomainId($v->getId()); + } + + + $this->aDomain = $v; + } + + + + public function getDomain($con = null) + { + include_once 'lib/model/om/BaseDomainPeer.php'; + + if ($this->aDomain === null && ($this->domain_id !== null)) { + + $this->aDomain = DomainPeer::retrieveByPK($this->domain_id, $con); + + + } + return $this->aDomain; + } + +}
\ No newline at end of file diff --git a/lib/model/om/BaseDomainPermissionPeer.php b/lib/model/om/BaseDomainPermissionPeer.php new file mode 100644 index 0000000..747cea0 --- /dev/null +++ b/lib/model/om/BaseDomainPermissionPeer.php @@ -0,0 +1,809 @@ +<?php + + +abstract class BaseDomainPermissionPeer { + + + const DATABASE_NAME = 'propel'; + + + const TABLE_NAME = 'domain_permission'; + + + const CLASS_DEFAULT = 'lib.model.DomainPermission'; + + + const NUM_COLUMNS = 3; + + + const NUM_LAZY_LOAD_COLUMNS = 0; + + + + const USER_ID = 'domain_permission.USER_ID'; + + + const DOMAIN_ID = 'domain_permission.DOMAIN_ID'; + + + const ID = 'domain_permission.ID'; + + + private static $phpNameMap = null; + + + + private static $fieldNames = array ( + BasePeer::TYPE_PHPNAME => array ('UserId', 'DomainId', 'Id', ), + BasePeer::TYPE_COLNAME => array (DomainPermissionPeer::USER_ID, DomainPermissionPeer::DOMAIN_ID, DomainPermissionPeer::ID, ), + BasePeer::TYPE_FIELDNAME => array ('user_id', 'domain_id', 'id', ), + BasePeer::TYPE_NUM => array (0, 1, 2, ) + ); + + + private static $fieldKeys = array ( + BasePeer::TYPE_PHPNAME => array ('UserId' => 0, 'DomainId' => 1, 'Id' => 2, ), + BasePeer::TYPE_COLNAME => array (DomainPermissionPeer::USER_ID => 0, DomainPermissionPeer::DOMAIN_ID => 1, DomainPermissionPeer::ID => 2, ), + BasePeer::TYPE_FIELDNAME => array ('user_id' => 0, 'domain_id' => 1, 'id' => 2, ), + BasePeer::TYPE_NUM => array (0, 1, 2, ) + ); + + + public static function getMapBuilder() + { + include_once 'lib/model/map/DomainPermissionMapBuilder.php'; + return BasePeer::getMapBuilder('lib.model.map.DomainPermissionMapBuilder'); + } + + public static function getPhpNameMap() + { + if (self::$phpNameMap === null) { + $map = DomainPermissionPeer::getTableMap(); + $columns = $map->getColumns(); + $nameMap = array(); + foreach ($columns as $column) { + $nameMap[$column->getPhpName()] = $column->getColumnName(); + } + self::$phpNameMap = $nameMap; + } + return self::$phpNameMap; + } + + static public function translateFieldName($name, $fromType, $toType) + { + $toNames = self::getFieldNames($toType); + $key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null; + if ($key === null) { + throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true)); + } + return $toNames[$key]; + } + + + + static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) + { + if (!array_key_exists($type, self::$fieldNames)) { + throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.'); + } + return self::$fieldNames[$type]; + } + + + public static function alias($alias, $column) + { + return str_replace(DomainPermissionPeer::TABLE_NAME.'.', $alias.'.', $column); + } + + + public static function addSelectColumns(Criteria $criteria) + { + + $criteria->addSelectColumn(DomainPermissionPeer::USER_ID); + + $criteria->addSelectColumn(DomainPermissionPeer::DOMAIN_ID); + + $criteria->addSelectColumn(DomainPermissionPeer::ID); + + } + + const COUNT = 'COUNT(domain_permission.ID)'; + const COUNT_DISTINCT = 'COUNT(DISTINCT domain_permission.ID)'; + + + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $rs = DomainPermissionPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + public static function doSelectOne(Criteria $criteria, $con = null) + { + $critcopy = clone $criteria; + $critcopy->setLimit(1); + $objects = DomainPermissionPeer::doSelect($critcopy, $con); + if ($objects) { + return $objects[0]; + } + return null; + } + + public static function doSelect(Criteria $criteria, $con = null) + { + return DomainPermissionPeer::populateObjects(DomainPermissionPeer::doSelectRS($criteria, $con)); + } + + public static function doSelectRS(Criteria $criteria, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if (!$criteria->getSelectColumns()) { + $criteria = clone $criteria; + DomainPermissionPeer::addSelectColumns($criteria); + } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doSelect($criteria, $con); + } + + public static function populateObjects(ResultSet $rs) + { + $results = array(); + + $cls = DomainPermissionPeer::getOMClass(); + $cls = Propel::import($cls); + while($rs->next()) { + + $obj = new $cls(); + $obj->hydrate($rs); + $results[] = $obj; + + } + return $results; + } + + + public static function doCountJoinUser(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(DomainPermissionPeer::USER_ID, UserPeer::ID); + + $rs = DomainPermissionPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doCountJoinDomain(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(DomainPermissionPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = DomainPermissionPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinUser(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + DomainPermissionPeer::addSelectColumns($c); + $startcol = (DomainPermissionPeer::NUM_COLUMNS - DomainPermissionPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + UserPeer::addSelectColumns($c); + + $c->addJoin(DomainPermissionPeer::USER_ID, UserPeer::ID); + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = DomainPermissionPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = UserPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject = true; + foreach($results as $temp_obj1) { + $temp_obj2 = $temp_obj1->getUser(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addDomainPermission($obj1); break; + } + } + if ($newObject) { + $obj2->initDomainPermissions(); + $obj2->addDomainPermission($obj1); } + $results[] = $obj1; + } + return $results; + } + + + + public static function doSelectJoinDomain(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + DomainPermissionPeer::addSelectColumns($c); + $startcol = (DomainPermissionPeer::NUM_COLUMNS - DomainPermissionPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + DomainPeer::addSelectColumns($c); + + $c->addJoin(DomainPermissionPeer::DOMAIN_ID, DomainPeer::ID); + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = DomainPermissionPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = DomainPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject = true; + foreach($results as $temp_obj1) { + $temp_obj2 = $temp_obj1->getDomain(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addDomainPermission($obj1); break; + } + } + if ($newObject) { + $obj2->initDomainPermissions(); + $obj2->addDomainPermission($obj1); } + $results[] = $obj1; + } + return $results; + } + + + + public static function doCountJoinAll(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(DomainPermissionPeer::USER_ID, UserPeer::ID); + + $criteria->addJoin(DomainPermissionPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = DomainPermissionPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinAll(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + DomainPermissionPeer::addSelectColumns($c); + $startcol2 = (DomainPermissionPeer::NUM_COLUMNS - DomainPermissionPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + UserPeer::addSelectColumns($c); + $startcol3 = $startcol2 + UserPeer::NUM_COLUMNS; + + DomainPeer::addSelectColumns($c); + $startcol4 = $startcol3 + DomainPeer::NUM_COLUMNS; + + $c->addJoin(DomainPermissionPeer::USER_ID, UserPeer::ID); + + $c->addJoin(DomainPermissionPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = DomainPermissionPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + + + $omClass = UserPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getUser(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addDomainPermission($obj1); break; + } + } + + if ($newObject) { + $obj2->initDomainPermissions(); + $obj2->addDomainPermission($obj1); + } + + + + $omClass = DomainPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj3 = new $cls(); + $obj3->hydrate($rs, $startcol3); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj3 = $temp_obj1->getDomain(); if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) { + $newObject = false; + $temp_obj3->addDomainPermission($obj1); break; + } + } + + if ($newObject) { + $obj3->initDomainPermissions(); + $obj3->addDomainPermission($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + + public static function doCountJoinAllExceptUser(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(DomainPermissionPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = DomainPermissionPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doCountJoinAllExceptDomain(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(DomainPermissionPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(DomainPermissionPeer::USER_ID, UserPeer::ID); + + $rs = DomainPermissionPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinAllExceptUser(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + DomainPermissionPeer::addSelectColumns($c); + $startcol2 = (DomainPermissionPeer::NUM_COLUMNS - DomainPermissionPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + DomainPeer::addSelectColumns($c); + $startcol3 = $startcol2 + DomainPeer::NUM_COLUMNS; + + $c->addJoin(DomainPermissionPeer::DOMAIN_ID, DomainPeer::ID); + + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = DomainPermissionPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = DomainPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getDomain(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addDomainPermission($obj1); + break; + } + } + + if ($newObject) { + $obj2->initDomainPermissions(); + $obj2->addDomainPermission($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + + public static function doSelectJoinAllExceptDomain(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + DomainPermissionPeer::addSelectColumns($c); + $startcol2 = (DomainPermissionPeer::NUM_COLUMNS - DomainPermissionPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + UserPeer::addSelectColumns($c); + $startcol3 = $startcol2 + UserPeer::NUM_COLUMNS; + + $c->addJoin(DomainPermissionPeer::USER_ID, UserPeer::ID); + + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = DomainPermissionPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = UserPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getUser(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addDomainPermission($obj1); + break; + } + } + + if ($newObject) { + $obj2->initDomainPermissions(); + $obj2->addDomainPermission($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + public static function getTableMap() + { + return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); + } + + + public static function getOMClass() + { + return DomainPermissionPeer::CLASS_DEFAULT; + } + + + public static function doInsert($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } else { + $criteria = $values->buildCriteria(); } + + $criteria->remove(DomainPermissionPeer::ID); + + $criteria->setDbName(self::DATABASE_NAME); + + try { + $con->begin(); + $pk = BasePeer::doInsert($criteria, $con); + $con->commit(); + } catch(PropelException $e) { + $con->rollback(); + throw $e; + } + + return $pk; + } + + + public static function doUpdate($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $selectCriteria = new Criteria(self::DATABASE_NAME); + + if ($values instanceof Criteria) { + $criteria = clone $values; + $comparison = $criteria->getComparison(DomainPermissionPeer::ID); + $selectCriteria->add(DomainPermissionPeer::ID, $criteria->remove(DomainPermissionPeer::ID), $comparison); + + } else { $criteria = $values->buildCriteria(); $selectCriteria = $values->buildPkeyCriteria(); } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doUpdate($selectCriteria, $criteria, $con); + } + + + public static function doDeleteAll($con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + $affectedRows = 0; try { + $con->begin(); + $affectedRows += BasePeer::doDeleteAll(DomainPermissionPeer::TABLE_NAME, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doDelete($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(DomainPermissionPeer::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } elseif ($values instanceof DomainPermission) { + + $criteria = $values->buildPkeyCriteria(); + } else { + $criteria = new Criteria(self::DATABASE_NAME); + $criteria->add(DomainPermissionPeer::ID, (array) $values, Criteria::IN); + } + + $criteria->setDbName(self::DATABASE_NAME); + + $affectedRows = 0; + try { + $con->begin(); + + $affectedRows += BasePeer::doDelete($criteria, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doValidate(DomainPermission $obj, $cols = null) + { + $columns = array(); + + if ($cols) { + $dbMap = Propel::getDatabaseMap(DomainPermissionPeer::DATABASE_NAME); + $tableMap = $dbMap->getTable(DomainPermissionPeer::TABLE_NAME); + + if (! is_array($cols)) { + $cols = array($cols); + } + + foreach($cols as $colName) { + if ($tableMap->containsColumn($colName)) { + $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); + $columns[$colName] = $obj->$get(); + } + } + } else { + + } + + $res = BasePeer::doValidate(DomainPermissionPeer::DATABASE_NAME, DomainPermissionPeer::TABLE_NAME, $columns); + if ($res !== true) { + $request = sfContext::getInstance()->getRequest(); + foreach ($res as $failed) { + $col = DomainPermissionPeer::translateFieldname($failed->getColumn(), BasePeer::TYPE_COLNAME, BasePeer::TYPE_PHPNAME); + $request->setError($col, $failed->getMessage()); + } + } + + return $res; + } + + + public static function retrieveByPK($pk, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $criteria = new Criteria(DomainPermissionPeer::DATABASE_NAME); + + $criteria->add(DomainPermissionPeer::ID, $pk); + + + $v = DomainPermissionPeer::doSelect($criteria, $con); + + return !empty($v) > 0 ? $v[0] : null; + } + + + public static function retrieveByPKs($pks, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $objs = null; + if (empty($pks)) { + $objs = array(); + } else { + $criteria = new Criteria(); + $criteria->add(DomainPermissionPeer::ID, $pks, Criteria::IN); + $objs = DomainPermissionPeer::doSelect($criteria, $con); + } + return $objs; + } + +} +if (Propel::isInit()) { + try { + BaseDomainPermissionPeer::getMapBuilder(); + } catch (Exception $e) { + Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR); + } +} else { + require_once 'lib/model/map/DomainPermissionMapBuilder.php'; + Propel::registerMapBuilder('lib.model.map.DomainPermissionMapBuilder'); +} diff --git a/lib/model/om/BaseLogEntry.php b/lib/model/om/BaseLogEntry.php new file mode 100644 index 0000000..5bf1f41 --- /dev/null +++ b/lib/model/om/BaseLogEntry.php @@ -0,0 +1,548 @@ +<?php + + +abstract class BaseLogEntry extends BaseObject implements Persistent { + + + + protected static $peer; + + + + protected $id; + + + + protected $user_id = 0; + + + + protected $created_at; + + + + protected $message; + + + + protected $host; + + + + protected $priority; + + + protected $aUser; + + + protected $alreadyInSave = false; + + + protected $alreadyInValidation = false; + + + public function getId() + { + + return $this->id; + } + + + public function getUserId() + { + + return $this->user_id; + } + + + 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 getMessage() + { + + return $this->message; + } + + + public function getHost() + { + + return $this->host; + } + + + public function getPriority() + { + + return $this->priority; + } + + + 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[] = LogEntryPeer::ID; + } + + } + + public function setUserId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->user_id !== $v || $v === 0) { + $this->user_id = $v; + $this->modifiedColumns[] = LogEntryPeer::USER_ID; + } + + if ($this->aUser !== null && $this->aUser->getId() !== $v) { + $this->aUser = null; + } + + } + + 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[] = LogEntryPeer::CREATED_AT; + } + + } + + public function setMessage($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->message !== $v) { + $this->message = $v; + $this->modifiedColumns[] = LogEntryPeer::MESSAGE; + } + + } + + public function setHost($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->host !== $v) { + $this->host = $v; + $this->modifiedColumns[] = LogEntryPeer::HOST; + } + + } + + public function setPriority($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->priority !== $v) { + $this->priority = $v; + $this->modifiedColumns[] = LogEntryPeer::PRIORITY; + } + + } + + public function hydrate(ResultSet $rs, $startcol = 1) + { + try { + + $this->id = $rs->getInt($startcol + 0); + + $this->user_id = $rs->getInt($startcol + 1); + + $this->created_at = $rs->getTimestamp($startcol + 2, null); + + $this->message = $rs->getString($startcol + 3); + + $this->host = $rs->getString($startcol + 4); + + $this->priority = $rs->getInt($startcol + 5); + + $this->resetModified(); + + $this->setNew(false); + + return $startcol + 6; + } catch (Exception $e) { + throw new PropelException("Error populating LogEntry 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(LogEntryPeer::DATABASE_NAME); + } + + try { + $con->begin(); + LogEntryPeer::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(LogEntryPeer::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(LogEntryPeer::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->aUser !== null) { + if ($this->aUser->isModified()) { + $affectedRows += $this->aUser->save($con); + } + $this->setUser($this->aUser); + } + + + if ($this->isModified()) { + if ($this->isNew()) { + $pk = LogEntryPeer::doInsert($this, $con); + $affectedRows += 1; + $this->setId($pk); + $this->setNew(false); + } else { + $affectedRows += LogEntryPeer::doUpdate($this, $con); + } + $this->resetModified(); } + + $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 ($this->aUser !== null) { + if (!$this->aUser->validate($columns)) { + $failureMap = array_merge($failureMap, $this->aUser->getValidationFailures()); + } + } + + + if (($retval = LogEntryPeer::doValidate($this, $columns)) !== true) { + $failureMap = array_merge($failureMap, $retval); + } + + + + $this->alreadyInValidation = false; + } + + return (!empty($failureMap) ? $failureMap : true); + } + + + public function getByName($name, $type = BasePeer::TYPE_PHPNAME) + { + $pos = LogEntryPeer::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->getUserId(); + break; + case 2: + return $this->getCreatedAt(); + break; + case 3: + return $this->getMessage(); + break; + case 4: + return $this->getHost(); + break; + case 5: + return $this->getPriority(); + break; + default: + return null; + break; + } } + + + public function toArray($keyType = BasePeer::TYPE_PHPNAME) + { + $keys = LogEntryPeer::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getUserId(), + $keys[2] => $this->getCreatedAt(), + $keys[3] => $this->getMessage(), + $keys[4] => $this->getHost(), + $keys[5] => $this->getPriority(), + ); + return $result; + } + + + public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME) + { + $pos = LogEntryPeer::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->setUserId($value); + break; + case 2: + $this->setCreatedAt($value); + break; + case 3: + $this->setMessage($value); + break; + case 4: + $this->setHost($value); + break; + case 5: + $this->setPriority($value); + break; + } } + + + public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) + { + $keys = LogEntryPeer::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); + if (array_key_exists($keys[1], $arr)) $this->setUserId($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setCreatedAt($arr[$keys[2]]); + if (array_key_exists($keys[3], $arr)) $this->setMessage($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setHost($arr[$keys[4]]); + if (array_key_exists($keys[5], $arr)) $this->setPriority($arr[$keys[5]]); + } + + + public function buildCriteria() + { + $criteria = new Criteria(LogEntryPeer::DATABASE_NAME); + + if ($this->isColumnModified(LogEntryPeer::ID)) $criteria->add(LogEntryPeer::ID, $this->id); + if ($this->isColumnModified(LogEntryPeer::USER_ID)) $criteria->add(LogEntryPeer::USER_ID, $this->user_id); + if ($this->isColumnModified(LogEntryPeer::CREATED_AT)) $criteria->add(LogEntryPeer::CREATED_AT, $this->created_at); + if ($this->isColumnModified(LogEntryPeer::MESSAGE)) $criteria->add(LogEntryPeer::MESSAGE, $this->message); + if ($this->isColumnModified(LogEntryPeer::HOST)) $criteria->add(LogEntryPeer::HOST, $this->host); + if ($this->isColumnModified(LogEntryPeer::PRIORITY)) $criteria->add(LogEntryPeer::PRIORITY, $this->priority); + + return $criteria; + } + + + public function buildPkeyCriteria() + { + $criteria = new Criteria(LogEntryPeer::DATABASE_NAME); + + $criteria->add(LogEntryPeer::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->setUserId($this->user_id); + + $copyObj->setCreatedAt($this->created_at); + + $copyObj->setMessage($this->message); + + $copyObj->setHost($this->host); + + $copyObj->setPriority($this->priority); + + + $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 LogEntryPeer(); + } + return self::$peer; + } + + + public function setUser($v) + { + + + if ($v === null) { + $this->setUserId('null'); + } else { + $this->setUserId($v->getId()); + } + + + $this->aUser = $v; + } + + + + public function getUser($con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + + if ($this->aUser === null && ($this->user_id !== null)) { + + $this->aUser = UserPeer::retrieveByPK($this->user_id, $con); + + + } + return $this->aUser; + } + +}
\ No newline at end of file diff --git a/lib/model/om/BaseLogEntryPeer.php b/lib/model/om/BaseLogEntryPeer.php new file mode 100644 index 0000000..2b3d8ec --- /dev/null +++ b/lib/model/om/BaseLogEntryPeer.php @@ -0,0 +1,549 @@ +<?php + + +abstract class BaseLogEntryPeer { + + + const DATABASE_NAME = 'propel'; + + + const TABLE_NAME = 'log'; + + + const CLASS_DEFAULT = 'lib.model.LogEntry'; + + + const NUM_COLUMNS = 6; + + + const NUM_LAZY_LOAD_COLUMNS = 0; + + + + const ID = 'log.ID'; + + + const USER_ID = 'log.USER_ID'; + + + const CREATED_AT = 'log.CREATED_AT'; + + + const MESSAGE = 'log.MESSAGE'; + + + const HOST = 'log.HOST'; + + + const PRIORITY = 'log.PRIORITY'; + + + private static $phpNameMap = null; + + + + private static $fieldNames = array ( + BasePeer::TYPE_PHPNAME => array ('Id', 'UserId', 'CreatedAt', 'Message', 'Host', 'Priority', ), + BasePeer::TYPE_COLNAME => array (LogEntryPeer::ID, LogEntryPeer::USER_ID, LogEntryPeer::CREATED_AT, LogEntryPeer::MESSAGE, LogEntryPeer::HOST, LogEntryPeer::PRIORITY, ), + BasePeer::TYPE_FIELDNAME => array ('id', 'user_id', 'created_at', 'message', 'host', 'priority', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, ) + ); + + + private static $fieldKeys = array ( + BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'UserId' => 1, 'CreatedAt' => 2, 'Message' => 3, 'Host' => 4, 'Priority' => 5, ), + BasePeer::TYPE_COLNAME => array (LogEntryPeer::ID => 0, LogEntryPeer::USER_ID => 1, LogEntryPeer::CREATED_AT => 2, LogEntryPeer::MESSAGE => 3, LogEntryPeer::HOST => 4, LogEntryPeer::PRIORITY => 5, ), + BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'user_id' => 1, 'created_at' => 2, 'message' => 3, 'host' => 4, 'priority' => 5, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, ) + ); + + + public static function getMapBuilder() + { + include_once 'lib/model/map/LogEntryMapBuilder.php'; + return BasePeer::getMapBuilder('lib.model.map.LogEntryMapBuilder'); + } + + public static function getPhpNameMap() + { + if (self::$phpNameMap === null) { + $map = LogEntryPeer::getTableMap(); + $columns = $map->getColumns(); + $nameMap = array(); + foreach ($columns as $column) { + $nameMap[$column->getPhpName()] = $column->getColumnName(); + } + self::$phpNameMap = $nameMap; + } + return self::$phpNameMap; + } + + static public function translateFieldName($name, $fromType, $toType) + { + $toNames = self::getFieldNames($toType); + $key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null; + if ($key === null) { + throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true)); + } + return $toNames[$key]; + } + + + + static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) + { + if (!array_key_exists($type, self::$fieldNames)) { + throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.'); + } + return self::$fieldNames[$type]; + } + + + public static function alias($alias, $column) + { + return str_replace(LogEntryPeer::TABLE_NAME.'.', $alias.'.', $column); + } + + + public static function addSelectColumns(Criteria $criteria) + { + + $criteria->addSelectColumn(LogEntryPeer::ID); + + $criteria->addSelectColumn(LogEntryPeer::USER_ID); + + $criteria->addSelectColumn(LogEntryPeer::CREATED_AT); + + $criteria->addSelectColumn(LogEntryPeer::MESSAGE); + + $criteria->addSelectColumn(LogEntryPeer::HOST); + + $criteria->addSelectColumn(LogEntryPeer::PRIORITY); + + } + + const COUNT = 'COUNT(log.ID)'; + const COUNT_DISTINCT = 'COUNT(DISTINCT log.ID)'; + + + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(LogEntryPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(LogEntryPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $rs = LogEntryPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + public static function doSelectOne(Criteria $criteria, $con = null) + { + $critcopy = clone $criteria; + $critcopy->setLimit(1); + $objects = LogEntryPeer::doSelect($critcopy, $con); + if ($objects) { + return $objects[0]; + } + return null; + } + + public static function doSelect(Criteria $criteria, $con = null) + { + return LogEntryPeer::populateObjects(LogEntryPeer::doSelectRS($criteria, $con)); + } + + public static function doSelectRS(Criteria $criteria, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if (!$criteria->getSelectColumns()) { + $criteria = clone $criteria; + LogEntryPeer::addSelectColumns($criteria); + } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doSelect($criteria, $con); + } + + public static function populateObjects(ResultSet $rs) + { + $results = array(); + + $cls = LogEntryPeer::getOMClass(); + $cls = Propel::import($cls); + while($rs->next()) { + + $obj = new $cls(); + $obj->hydrate($rs); + $results[] = $obj; + + } + return $results; + } + + + public static function doCountJoinUser(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(LogEntryPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(LogEntryPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(LogEntryPeer::USER_ID, UserPeer::ID); + + $rs = LogEntryPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinUser(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + LogEntryPeer::addSelectColumns($c); + $startcol = (LogEntryPeer::NUM_COLUMNS - LogEntryPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + UserPeer::addSelectColumns($c); + + $c->addJoin(LogEntryPeer::USER_ID, UserPeer::ID); + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = LogEntryPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = UserPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject = true; + foreach($results as $temp_obj1) { + $temp_obj2 = $temp_obj1->getUser(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addLogEntry($obj1); break; + } + } + if ($newObject) { + $obj2->initLogEntrys(); + $obj2->addLogEntry($obj1); } + $results[] = $obj1; + } + return $results; + } + + + + public static function doCountJoinAll(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(LogEntryPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(LogEntryPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(LogEntryPeer::USER_ID, UserPeer::ID); + + $rs = LogEntryPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinAll(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + LogEntryPeer::addSelectColumns($c); + $startcol2 = (LogEntryPeer::NUM_COLUMNS - LogEntryPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + UserPeer::addSelectColumns($c); + $startcol3 = $startcol2 + UserPeer::NUM_COLUMNS; + + $c->addJoin(LogEntryPeer::USER_ID, UserPeer::ID); + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = LogEntryPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + + + $omClass = UserPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getUser(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addLogEntry($obj1); break; + } + } + + if ($newObject) { + $obj2->initLogEntrys(); + $obj2->addLogEntry($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + public static function getTableMap() + { + return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); + } + + + public static function getOMClass() + { + return LogEntryPeer::CLASS_DEFAULT; + } + + + public static function doInsert($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } else { + $criteria = $values->buildCriteria(); } + + $criteria->remove(LogEntryPeer::ID); + + $criteria->setDbName(self::DATABASE_NAME); + + try { + $con->begin(); + $pk = BasePeer::doInsert($criteria, $con); + $con->commit(); + } catch(PropelException $e) { + $con->rollback(); + throw $e; + } + + return $pk; + } + + + public static function doUpdate($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $selectCriteria = new Criteria(self::DATABASE_NAME); + + if ($values instanceof Criteria) { + $criteria = clone $values; + $comparison = $criteria->getComparison(LogEntryPeer::ID); + $selectCriteria->add(LogEntryPeer::ID, $criteria->remove(LogEntryPeer::ID), $comparison); + + } else { $criteria = $values->buildCriteria(); $selectCriteria = $values->buildPkeyCriteria(); } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doUpdate($selectCriteria, $criteria, $con); + } + + + public static function doDeleteAll($con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + $affectedRows = 0; try { + $con->begin(); + $affectedRows += BasePeer::doDeleteAll(LogEntryPeer::TABLE_NAME, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doDelete($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(LogEntryPeer::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } elseif ($values instanceof LogEntry) { + + $criteria = $values->buildPkeyCriteria(); + } else { + $criteria = new Criteria(self::DATABASE_NAME); + $criteria->add(LogEntryPeer::ID, (array) $values, Criteria::IN); + } + + $criteria->setDbName(self::DATABASE_NAME); + + $affectedRows = 0; + try { + $con->begin(); + + $affectedRows += BasePeer::doDelete($criteria, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doValidate(LogEntry $obj, $cols = null) + { + $columns = array(); + + if ($cols) { + $dbMap = Propel::getDatabaseMap(LogEntryPeer::DATABASE_NAME); + $tableMap = $dbMap->getTable(LogEntryPeer::TABLE_NAME); + + if (! is_array($cols)) { + $cols = array($cols); + } + + foreach($cols as $colName) { + if ($tableMap->containsColumn($colName)) { + $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); + $columns[$colName] = $obj->$get(); + } + } + } else { + + } + + $res = BasePeer::doValidate(LogEntryPeer::DATABASE_NAME, LogEntryPeer::TABLE_NAME, $columns); + if ($res !== true) { + $request = sfContext::getInstance()->getRequest(); + foreach ($res as $failed) { + $col = LogEntryPeer::translateFieldname($failed->getColumn(), BasePeer::TYPE_COLNAME, BasePeer::TYPE_PHPNAME); + $request->setError($col, $failed->getMessage()); + } + } + + return $res; + } + + + public static function retrieveByPK($pk, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $criteria = new Criteria(LogEntryPeer::DATABASE_NAME); + + $criteria->add(LogEntryPeer::ID, $pk); + + + $v = LogEntryPeer::doSelect($criteria, $con); + + return !empty($v) > 0 ? $v[0] : null; + } + + + public static function retrieveByPKs($pks, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $objs = null; + if (empty($pks)) { + $objs = array(); + } else { + $criteria = new Criteria(); + $criteria->add(LogEntryPeer::ID, $pks, Criteria::IN); + $objs = LogEntryPeer::doSelect($criteria, $con); + } + return $objs; + } + +} +if (Propel::isInit()) { + try { + BaseLogEntryPeer::getMapBuilder(); + } catch (Exception $e) { + Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR); + } +} else { + require_once 'lib/model/map/LogEntryMapBuilder.php'; + Propel::registerMapBuilder('lib.model.map.LogEntryMapBuilder'); +} diff --git a/lib/model/om/BaseMailbox.php b/lib/model/om/BaseMailbox.php new file mode 100644 index 0000000..cda4d2f --- /dev/null +++ b/lib/model/om/BaseMailbox.php @@ -0,0 +1,751 @@ +<?php + + +abstract class BaseMailbox extends BaseObject implements Persistent { + + + + protected static $peer; + + + + protected $id; + + + + protected $domain_id; + + + + protected $name; + + + + protected $password; + + + + protected $max_quota; + + + + protected $max_address_count; + + + + protected $last_login; + + + + protected $active = true; + + + protected $aDomain; + + + protected $collAddresss; + + + protected $lastAddressCriteria = null; + + + protected $alreadyInSave = false; + + + protected $alreadyInValidation = false; + + + public function getId() + { + + return $this->id; + } + + + public function getDomainId() + { + + return $this->domain_id; + } + + + public function getName() + { + + return $this->name; + } + + + public function getPassword() + { + + return $this->password; + } + + + public function getMaxQuota() + { + + return $this->max_quota; + } + + + public function getMaxAddressCount() + { + + return $this->max_address_count; + } + + + 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 getActive() + { + + return $this->active; + } + + + 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[] = MailboxPeer::ID; + } + + } + + public function setDomainId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->domain_id !== $v) { + $this->domain_id = $v; + $this->modifiedColumns[] = MailboxPeer::DOMAIN_ID; + } + + if ($this->aDomain !== null && $this->aDomain->getId() !== $v) { + $this->aDomain = null; + } + + } + + public function setName($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->name !== $v) { + $this->name = $v; + $this->modifiedColumns[] = MailboxPeer::NAME; + } + + } + + public function setPassword($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->password !== $v) { + $this->password = $v; + $this->modifiedColumns[] = MailboxPeer::PASSWORD; + } + + } + + public function setMaxQuota($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->max_quota !== $v) { + $this->max_quota = $v; + $this->modifiedColumns[] = MailboxPeer::MAX_QUOTA; + } + + } + + public function setMaxAddressCount($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->max_address_count !== $v) { + $this->max_address_count = $v; + $this->modifiedColumns[] = MailboxPeer::MAX_ADDRESS_COUNT; + } + + } + + 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[] = MailboxPeer::LAST_LOGIN; + } + + } + + public function setActive($v) + { + + if ($this->active !== $v || $v === true) { + $this->active = $v; + $this->modifiedColumns[] = MailboxPeer::ACTIVE; + } + + } + + public function hydrate(ResultSet $rs, $startcol = 1) + { + try { + + $this->id = $rs->getInt($startcol + 0); + + $this->domain_id = $rs->getInt($startcol + 1); + + $this->name = $rs->getString($startcol + 2); + + $this->password = $rs->getString($startcol + 3); + + $this->max_quota = $rs->getInt($startcol + 4); + + $this->max_address_count = $rs->getInt($startcol + 5); + + $this->last_login = $rs->getTimestamp($startcol + 6, null); + + $this->active = $rs->getBoolean($startcol + 7); + + $this->resetModified(); + + $this->setNew(false); + + return $startcol + 8; + } catch (Exception $e) { + throw new PropelException("Error populating Mailbox 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(MailboxPeer::DATABASE_NAME); + } + + try { + $con->begin(); + MailboxPeer::doDelete($this, $con); + $this->setDeleted(true); + $con->commit(); + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public function save($con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getConnection(MailboxPeer::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->aDomain !== null) { + if ($this->aDomain->isModified()) { + $affectedRows += $this->aDomain->save($con); + } + $this->setDomain($this->aDomain); + } + + + if ($this->isModified()) { + if ($this->isNew()) { + $pk = MailboxPeer::doInsert($this, $con); + $affectedRows += 1; + $this->setId($pk); + $this->setNew(false); + } else { + $affectedRows += MailboxPeer::doUpdate($this, $con); + } + $this->resetModified(); } + + if ($this->collAddresss !== null) { + foreach($this->collAddresss 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 ($this->aDomain !== null) { + if (!$this->aDomain->validate($columns)) { + $failureMap = array_merge($failureMap, $this->aDomain->getValidationFailures()); + } + } + + + if (($retval = MailboxPeer::doValidate($this, $columns)) !== true) { + $failureMap = array_merge($failureMap, $retval); + } + + + if ($this->collAddresss !== null) { + foreach($this->collAddresss 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 = MailboxPeer::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->getDomainId(); + break; + case 2: + return $this->getName(); + break; + case 3: + return $this->getPassword(); + break; + case 4: + return $this->getMaxQuota(); + break; + case 5: + return $this->getMaxAddressCount(); + break; + case 6: + return $this->getLastLogin(); + break; + case 7: + return $this->getActive(); + break; + default: + return null; + break; + } } + + + public function toArray($keyType = BasePeer::TYPE_PHPNAME) + { + $keys = MailboxPeer::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getDomainId(), + $keys[2] => $this->getName(), + $keys[3] => $this->getPassword(), + $keys[4] => $this->getMaxQuota(), + $keys[5] => $this->getMaxAddressCount(), + $keys[6] => $this->getLastLogin(), + $keys[7] => $this->getActive(), + ); + return $result; + } + + + public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME) + { + $pos = MailboxPeer::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->setDomainId($value); + break; + case 2: + $this->setName($value); + break; + case 3: + $this->setPassword($value); + break; + case 4: + $this->setMaxQuota($value); + break; + case 5: + $this->setMaxAddressCount($value); + break; + case 6: + $this->setLastLogin($value); + break; + case 7: + $this->setActive($value); + break; + } } + + + public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) + { + $keys = MailboxPeer::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); + if (array_key_exists($keys[1], $arr)) $this->setDomainId($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setName($arr[$keys[2]]); + if (array_key_exists($keys[3], $arr)) $this->setPassword($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setMaxQuota($arr[$keys[4]]); + if (array_key_exists($keys[5], $arr)) $this->setMaxAddressCount($arr[$keys[5]]); + if (array_key_exists($keys[6], $arr)) $this->setLastLogin($arr[$keys[6]]); + if (array_key_exists($keys[7], $arr)) $this->setActive($arr[$keys[7]]); + } + + + public function buildCriteria() + { + $criteria = new Criteria(MailboxPeer::DATABASE_NAME); + + if ($this->isColumnModified(MailboxPeer::ID)) $criteria->add(MailboxPeer::ID, $this->id); + if ($this->isColumnModified(MailboxPeer::DOMAIN_ID)) $criteria->add(MailboxPeer::DOMAIN_ID, $this->domain_id); + if ($this->isColumnModified(MailboxPeer::NAME)) $criteria->add(MailboxPeer::NAME, $this->name); + if ($this->isColumnModified(MailboxPeer::PASSWORD)) $criteria->add(MailboxPeer::PASSWORD, $this->password); + if ($this->isColumnModified(MailboxPeer::MAX_QUOTA)) $criteria->add(MailboxPeer::MAX_QUOTA, $this->max_quota); + if ($this->isColumnModified(MailboxPeer::MAX_ADDRESS_COUNT)) $criteria->add(MailboxPeer::MAX_ADDRESS_COUNT, $this->max_address_count); + if ($this->isColumnModified(MailboxPeer::LAST_LOGIN)) $criteria->add(MailboxPeer::LAST_LOGIN, $this->last_login); + if ($this->isColumnModified(MailboxPeer::ACTIVE)) $criteria->add(MailboxPeer::ACTIVE, $this->active); + + return $criteria; + } + + + public function buildPkeyCriteria() + { + $criteria = new Criteria(MailboxPeer::DATABASE_NAME); + + $criteria->add(MailboxPeer::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->setDomainId($this->domain_id); + + $copyObj->setName($this->name); + + $copyObj->setPassword($this->password); + + $copyObj->setMaxQuota($this->max_quota); + + $copyObj->setMaxAddressCount($this->max_address_count); + + $copyObj->setLastLogin($this->last_login); + + $copyObj->setActive($this->active); + + + if ($deepCopy) { + $copyObj->setNew(false); + + foreach($this->getAddresss() as $relObj) { + $copyObj->addAddress($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 MailboxPeer(); + } + return self::$peer; + } + + + public function setDomain($v) + { + + + if ($v === null) { + $this->setDomainId(NULL); + } else { + $this->setDomainId($v->getId()); + } + + + $this->aDomain = $v; + } + + + + public function getDomain($con = null) + { + include_once 'lib/model/om/BaseDomainPeer.php'; + + if ($this->aDomain === null && ($this->domain_id !== null)) { + + $this->aDomain = DomainPeer::retrieveByPK($this->domain_id, $con); + + + } + return $this->aDomain; + } + + + public function initAddresss() + { + if ($this->collAddresss === null) { + $this->collAddresss = array(); + } + } + + + public function getAddresss($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseAddressPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collAddresss === null) { + if ($this->isNew()) { + $this->collAddresss = array(); + } else { + + $criteria->add(AddressPeer::MAILBOX_ID, $this->getId()); + + AddressPeer::addSelectColumns($criteria); + $this->collAddresss = AddressPeer::doSelect($criteria, $con); + } + } else { + if (!$this->isNew()) { + + + $criteria->add(AddressPeer::MAILBOX_ID, $this->getId()); + + AddressPeer::addSelectColumns($criteria); + if (!isset($this->lastAddressCriteria) || !$this->lastAddressCriteria->equals($criteria)) { + $this->collAddresss = AddressPeer::doSelect($criteria, $con); + } + } + } + $this->lastAddressCriteria = $criteria; + return $this->collAddresss; + } + + + public function countAddresss($criteria = null, $distinct = false, $con = null) + { + include_once 'lib/model/om/BaseAddressPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + $criteria->add(AddressPeer::MAILBOX_ID, $this->getId()); + + return AddressPeer::doCount($criteria, $distinct, $con); + } + + + public function addAddress(Address $l) + { + $this->collAddresss[] = $l; + $l->setMailbox($this); + } + + + + public function getAddresssJoinDomain($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseAddressPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collAddresss === null) { + if ($this->isNew()) { + $this->collAddresss = array(); + } else { + + $criteria->add(AddressPeer::MAILBOX_ID, $this->getId()); + + $this->collAddresss = AddressPeer::doSelectJoinDomain($criteria, $con); + } + } else { + + $criteria->add(AddressPeer::MAILBOX_ID, $this->getId()); + + if (!isset($this->lastAddressCriteria) || !$this->lastAddressCriteria->equals($criteria)) { + $this->collAddresss = AddressPeer::doSelectJoinDomain($criteria, $con); + } + } + $this->lastAddressCriteria = $criteria; + + return $this->collAddresss; + } + +}
\ No newline at end of file diff --git a/lib/model/om/BaseMailboxPeer.php b/lib/model/om/BaseMailboxPeer.php new file mode 100644 index 0000000..4a7fd36 --- /dev/null +++ b/lib/model/om/BaseMailboxPeer.php @@ -0,0 +1,579 @@ +<?php + + +abstract class BaseMailboxPeer { + + + const DATABASE_NAME = 'propel'; + + + const TABLE_NAME = 'mailbox'; + + + const CLASS_DEFAULT = 'lib.model.Mailbox'; + + + const NUM_COLUMNS = 8; + + + const NUM_LAZY_LOAD_COLUMNS = 0; + + + + const ID = 'mailbox.ID'; + + + const DOMAIN_ID = 'mailbox.DOMAIN_ID'; + + + const NAME = 'mailbox.NAME'; + + + const PASSWORD = 'mailbox.PASSWORD'; + + + const MAX_QUOTA = 'mailbox.MAX_QUOTA'; + + + const MAX_ADDRESS_COUNT = 'mailbox.MAX_ADDRESS_COUNT'; + + + const LAST_LOGIN = 'mailbox.LAST_LOGIN'; + + + const ACTIVE = 'mailbox.ACTIVE'; + + + private static $phpNameMap = null; + + + + private static $fieldNames = array ( + BasePeer::TYPE_PHPNAME => array ('Id', 'DomainId', 'Name', 'Password', 'MaxQuota', 'MaxAddressCount', 'LastLogin', 'Active', ), + BasePeer::TYPE_COLNAME => array (MailboxPeer::ID, MailboxPeer::DOMAIN_ID, MailboxPeer::NAME, MailboxPeer::PASSWORD, MailboxPeer::MAX_QUOTA, MailboxPeer::MAX_ADDRESS_COUNT, MailboxPeer::LAST_LOGIN, MailboxPeer::ACTIVE, ), + BasePeer::TYPE_FIELDNAME => array ('id', 'domain_id', 'name', 'password', 'max_quota', 'max_address_count', 'last_login', 'active', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, ) + ); + + + private static $fieldKeys = array ( + BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'DomainId' => 1, 'Name' => 2, 'Password' => 3, 'MaxQuota' => 4, 'MaxAddressCount' => 5, 'LastLogin' => 6, 'Active' => 7, ), + BasePeer::TYPE_COLNAME => array (MailboxPeer::ID => 0, MailboxPeer::DOMAIN_ID => 1, MailboxPeer::NAME => 2, MailboxPeer::PASSWORD => 3, MailboxPeer::MAX_QUOTA => 4, MailboxPeer::MAX_ADDRESS_COUNT => 5, MailboxPeer::LAST_LOGIN => 6, MailboxPeer::ACTIVE => 7, ), + BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'domain_id' => 1, 'name' => 2, 'password' => 3, 'max_quota' => 4, 'max_address_count' => 5, 'last_login' => 6, 'active' => 7, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, ) + ); + + + public static function getMapBuilder() + { + include_once 'lib/model/map/MailboxMapBuilder.php'; + return BasePeer::getMapBuilder('lib.model.map.MailboxMapBuilder'); + } + + public static function getPhpNameMap() + { + if (self::$phpNameMap === null) { + $map = MailboxPeer::getTableMap(); + $columns = $map->getColumns(); + $nameMap = array(); + foreach ($columns as $column) { + $nameMap[$column->getPhpName()] = $column->getColumnName(); + } + self::$phpNameMap = $nameMap; + } + return self::$phpNameMap; + } + + static public function translateFieldName($name, $fromType, $toType) + { + $toNames = self::getFieldNames($toType); + $key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null; + if ($key === null) { + throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true)); + } + return $toNames[$key]; + } + + + + static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) + { + if (!array_key_exists($type, self::$fieldNames)) { + throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.'); + } + return self::$fieldNames[$type]; + } + + + public static function alias($alias, $column) + { + return str_replace(MailboxPeer::TABLE_NAME.'.', $alias.'.', $column); + } + + + public static function addSelectColumns(Criteria $criteria) + { + + $criteria->addSelectColumn(MailboxPeer::ID); + + $criteria->addSelectColumn(MailboxPeer::DOMAIN_ID); + + $criteria->addSelectColumn(MailboxPeer::NAME); + + $criteria->addSelectColumn(MailboxPeer::PASSWORD); + + $criteria->addSelectColumn(MailboxPeer::MAX_QUOTA); + + $criteria->addSelectColumn(MailboxPeer::MAX_ADDRESS_COUNT); + + $criteria->addSelectColumn(MailboxPeer::LAST_LOGIN); + + $criteria->addSelectColumn(MailboxPeer::ACTIVE); + + } + + const COUNT = 'COUNT(mailbox.ID)'; + const COUNT_DISTINCT = 'COUNT(DISTINCT mailbox.ID)'; + + + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(MailboxPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(MailboxPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $rs = MailboxPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + public static function doSelectOne(Criteria $criteria, $con = null) + { + $critcopy = clone $criteria; + $critcopy->setLimit(1); + $objects = MailboxPeer::doSelect($critcopy, $con); + if ($objects) { + return $objects[0]; + } + return null; + } + + public static function doSelect(Criteria $criteria, $con = null) + { + return MailboxPeer::populateObjects(MailboxPeer::doSelectRS($criteria, $con)); + } + + public static function doSelectRS(Criteria $criteria, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if (!$criteria->getSelectColumns()) { + $criteria = clone $criteria; + MailboxPeer::addSelectColumns($criteria); + } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doSelect($criteria, $con); + } + + public static function populateObjects(ResultSet $rs) + { + $results = array(); + + $cls = MailboxPeer::getOMClass(); + $cls = Propel::import($cls); + while($rs->next()) { + + $obj = new $cls(); + $obj->hydrate($rs); + $results[] = $obj; + + } + return $results; + } + + + public static function doCountJoinDomain(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(MailboxPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(MailboxPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(MailboxPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = MailboxPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinDomain(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + MailboxPeer::addSelectColumns($c); + $startcol = (MailboxPeer::NUM_COLUMNS - MailboxPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + DomainPeer::addSelectColumns($c); + + $c->addJoin(MailboxPeer::DOMAIN_ID, DomainPeer::ID); + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = MailboxPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = DomainPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject = true; + foreach($results as $temp_obj1) { + $temp_obj2 = $temp_obj1->getDomain(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addMailbox($obj1); break; + } + } + if ($newObject) { + $obj2->initMailboxs(); + $obj2->addMailbox($obj1); } + $results[] = $obj1; + } + return $results; + } + + + + public static function doCountJoinAll(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(MailboxPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(MailboxPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(MailboxPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = MailboxPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinAll(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + MailboxPeer::addSelectColumns($c); + $startcol2 = (MailboxPeer::NUM_COLUMNS - MailboxPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + DomainPeer::addSelectColumns($c); + $startcol3 = $startcol2 + DomainPeer::NUM_COLUMNS; + + $c->addJoin(MailboxPeer::DOMAIN_ID, DomainPeer::ID); + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = MailboxPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + + + $omClass = DomainPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getDomain(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addMailbox($obj1); break; + } + } + + if ($newObject) { + $obj2->initMailboxs(); + $obj2->addMailbox($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + public static function getTableMap() + { + return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); + } + + + public static function getOMClass() + { + return MailboxPeer::CLASS_DEFAULT; + } + + + public static function doInsert($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } else { + $criteria = $values->buildCriteria(); } + + $criteria->remove(MailboxPeer::ID); + + $criteria->setDbName(self::DATABASE_NAME); + + try { + $con->begin(); + $pk = BasePeer::doInsert($criteria, $con); + $con->commit(); + } catch(PropelException $e) { + $con->rollback(); + throw $e; + } + + return $pk; + } + + + public static function doUpdate($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $selectCriteria = new Criteria(self::DATABASE_NAME); + + if ($values instanceof Criteria) { + $criteria = clone $values; + $comparison = $criteria->getComparison(MailboxPeer::ID); + $selectCriteria->add(MailboxPeer::ID, $criteria->remove(MailboxPeer::ID), $comparison); + + } else { $criteria = $values->buildCriteria(); $selectCriteria = $values->buildPkeyCriteria(); } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doUpdate($selectCriteria, $criteria, $con); + } + + + public static function doDeleteAll($con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + $affectedRows = 0; try { + $con->begin(); + $affectedRows += MailboxPeer::doOnDeleteCascade(new Criteria(), $con); + $affectedRows += BasePeer::doDeleteAll(MailboxPeer::TABLE_NAME, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doDelete($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(MailboxPeer::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } elseif ($values instanceof Mailbox) { + + $criteria = $values->buildPkeyCriteria(); + } else { + $criteria = new Criteria(self::DATABASE_NAME); + $criteria->add(MailboxPeer::ID, (array) $values, Criteria::IN); + } + + $criteria->setDbName(self::DATABASE_NAME); + + $affectedRows = 0; + try { + $con->begin(); + $affectedRows += MailboxPeer::doOnDeleteCascade($criteria, $con); + $affectedRows += BasePeer::doDelete($criteria, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + protected static function doOnDeleteCascade(Criteria $criteria, Connection $con) + { + $affectedRows = 0; + + $objects = MailboxPeer::doSelect($criteria, $con); + foreach($objects as $obj) { + + + include_once 'lib/model/Address.php'; + + $c = new Criteria(); + + $c->add(AddressPeer::MAILBOX_ID, $obj->getId()); + $affectedRows += AddressPeer::doDelete($c, $con); + } + return $affectedRows; + } + + + public static function doValidate(Mailbox $obj, $cols = null) + { + $columns = array(); + + if ($cols) { + $dbMap = Propel::getDatabaseMap(MailboxPeer::DATABASE_NAME); + $tableMap = $dbMap->getTable(MailboxPeer::TABLE_NAME); + + if (! is_array($cols)) { + $cols = array($cols); + } + + foreach($cols as $colName) { + if ($tableMap->containsColumn($colName)) { + $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); + $columns[$colName] = $obj->$get(); + } + } + } else { + + } + + $res = BasePeer::doValidate(MailboxPeer::DATABASE_NAME, MailboxPeer::TABLE_NAME, $columns); + if ($res !== true) { + $request = sfContext::getInstance()->getRequest(); + foreach ($res as $failed) { + $col = MailboxPeer::translateFieldname($failed->getColumn(), BasePeer::TYPE_COLNAME, BasePeer::TYPE_PHPNAME); + $request->setError($col, $failed->getMessage()); + } + } + + return $res; + } + + + public static function retrieveByPK($pk, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $criteria = new Criteria(MailboxPeer::DATABASE_NAME); + + $criteria->add(MailboxPeer::ID, $pk); + + + $v = MailboxPeer::doSelect($criteria, $con); + + return !empty($v) > 0 ? $v[0] : null; + } + + + public static function retrieveByPKs($pks, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $objs = null; + if (empty($pks)) { + $objs = array(); + } else { + $criteria = new Criteria(); + $criteria->add(MailboxPeer::ID, $pks, Criteria::IN); + $objs = MailboxPeer::doSelect($criteria, $con); + } + return $objs; + } + +} +if (Propel::isInit()) { + try { + BaseMailboxPeer::getMapBuilder(); + } catch (Exception $e) { + Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR); + } +} else { + require_once 'lib/model/map/MailboxMapBuilder.php'; + Propel::registerMapBuilder('lib.model.map.MailboxMapBuilder'); +} diff --git a/lib/model/om/BaseRole.php b/lib/model/om/BaseRole.php new file mode 100644 index 0000000..7936e1e --- /dev/null +++ b/lib/model/om/BaseRole.php @@ -0,0 +1,493 @@ +<?php + + +abstract class BaseRole extends BaseObject implements Persistent { + + + + protected static $peer; + + + + protected $id; + + + + protected $name; + + + + protected $credentials; + + + protected $collUsers; + + + protected $lastUserCriteria = null; + + + protected $alreadyInSave = false; + + + protected $alreadyInValidation = false; + + + public function getId() + { + + return $this->id; + } + + + public function getName() + { + + return $this->name; + } + + + public function getCredentials() + { + + return $this->credentials; + } + + + 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[] = RolePeer::ID; + } + + } + + public function setName($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->name !== $v) { + $this->name = $v; + $this->modifiedColumns[] = RolePeer::NAME; + } + + } + + public function setCredentials($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->credentials !== $v) { + $this->credentials = $v; + $this->modifiedColumns[] = RolePeer::CREDENTIALS; + } + + } + + public function hydrate(ResultSet $rs, $startcol = 1) + { + try { + + $this->id = $rs->getInt($startcol + 0); + + $this->name = $rs->getString($startcol + 1); + + $this->credentials = $rs->getString($startcol + 2); + + $this->resetModified(); + + $this->setNew(false); + + return $startcol + 3; + } catch (Exception $e) { + throw new PropelException("Error populating Role 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(RolePeer::DATABASE_NAME); + } + + try { + $con->begin(); + RolePeer::doDelete($this, $con); + $this->setDeleted(true); + $con->commit(); + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public function save($con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getConnection(RolePeer::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 = RolePeer::doInsert($this, $con); + $affectedRows += 1; + $this->setId($pk); + $this->setNew(false); + } else { + $affectedRows += RolePeer::doUpdate($this, $con); + } + $this->resetModified(); } + + if ($this->collUsers !== null) { + foreach($this->collUsers 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 = RolePeer::doValidate($this, $columns)) !== true) { + $failureMap = array_merge($failureMap, $retval); + } + + + if ($this->collUsers !== null) { + foreach($this->collUsers 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 = RolePeer::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->getName(); + break; + case 2: + return $this->getCredentials(); + break; + default: + return null; + break; + } } + + + public function toArray($keyType = BasePeer::TYPE_PHPNAME) + { + $keys = RolePeer::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getName(), + $keys[2] => $this->getCredentials(), + ); + return $result; + } + + + public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME) + { + $pos = RolePeer::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->setName($value); + break; + case 2: + $this->setCredentials($value); + break; + } } + + + public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) + { + $keys = RolePeer::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); + if (array_key_exists($keys[1], $arr)) $this->setName($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setCredentials($arr[$keys[2]]); + } + + + public function buildCriteria() + { + $criteria = new Criteria(RolePeer::DATABASE_NAME); + + if ($this->isColumnModified(RolePeer::ID)) $criteria->add(RolePeer::ID, $this->id); + if ($this->isColumnModified(RolePeer::NAME)) $criteria->add(RolePeer::NAME, $this->name); + if ($this->isColumnModified(RolePeer::CREDENTIALS)) $criteria->add(RolePeer::CREDENTIALS, $this->credentials); + + return $criteria; + } + + + public function buildPkeyCriteria() + { + $criteria = new Criteria(RolePeer::DATABASE_NAME); + + $criteria->add(RolePeer::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->setName($this->name); + + $copyObj->setCredentials($this->credentials); + + + if ($deepCopy) { + $copyObj->setNew(false); + + foreach($this->getUsers() as $relObj) { + $copyObj->addUser($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 RolePeer(); + } + return self::$peer; + } + + + public function initUsers() + { + if ($this->collUsers === null) { + $this->collUsers = array(); + } + } + + + public function getUsers($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collUsers === null) { + if ($this->isNew()) { + $this->collUsers = array(); + } else { + + $criteria->add(UserPeer::ROLE_ID, $this->getId()); + + UserPeer::addSelectColumns($criteria); + $this->collUsers = UserPeer::doSelect($criteria, $con); + } + } else { + if (!$this->isNew()) { + + + $criteria->add(UserPeer::ROLE_ID, $this->getId()); + + UserPeer::addSelectColumns($criteria); + if (!isset($this->lastUserCriteria) || !$this->lastUserCriteria->equals($criteria)) { + $this->collUsers = UserPeer::doSelect($criteria, $con); + } + } + } + $this->lastUserCriteria = $criteria; + return $this->collUsers; + } + + + public function countUsers($criteria = null, $distinct = false, $con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + $criteria->add(UserPeer::ROLE_ID, $this->getId()); + + return UserPeer::doCount($criteria, $distinct, $con); + } + + + public function addUser(User $l) + { + $this->collUsers[] = $l; + $l->setRole($this); + } + + + + public function getUsersJoinUserRelatedByParentUserId($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collUsers === null) { + if ($this->isNew()) { + $this->collUsers = array(); + } else { + + $criteria->add(UserPeer::ROLE_ID, $this->getId()); + + $this->collUsers = UserPeer::doSelectJoinUserRelatedByParentUserId($criteria, $con); + } + } else { + + $criteria->add(UserPeer::ROLE_ID, $this->getId()); + + if (!isset($this->lastUserCriteria) || !$this->lastUserCriteria->equals($criteria)) { + $this->collUsers = UserPeer::doSelectJoinUserRelatedByParentUserId($criteria, $con); + } + } + $this->lastUserCriteria = $criteria; + + return $this->collUsers; + } + +}
\ No newline at end of file diff --git a/lib/model/om/BaseRolePeer.php b/lib/model/om/BaseRolePeer.php new file mode 100644 index 0000000..85130fb --- /dev/null +++ b/lib/model/om/BaseRolePeer.php @@ -0,0 +1,373 @@ +<?php + + +abstract class BaseRolePeer { + + + const DATABASE_NAME = 'propel'; + + + const TABLE_NAME = 'role'; + + + const CLASS_DEFAULT = 'lib.model.Role'; + + + const NUM_COLUMNS = 3; + + + const NUM_LAZY_LOAD_COLUMNS = 0; + + + + const ID = 'role.ID'; + + + const NAME = 'role.NAME'; + + + const CREDENTIALS = 'role.CREDENTIALS'; + + + private static $phpNameMap = null; + + + + private static $fieldNames = array ( + BasePeer::TYPE_PHPNAME => array ('Id', 'Name', 'Credentials', ), + BasePeer::TYPE_COLNAME => array (RolePeer::ID, RolePeer::NAME, RolePeer::CREDENTIALS, ), + BasePeer::TYPE_FIELDNAME => array ('id', 'name', 'credentials', ), + BasePeer::TYPE_NUM => array (0, 1, 2, ) + ); + + + private static $fieldKeys = array ( + BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'Name' => 1, 'Credentials' => 2, ), + BasePeer::TYPE_COLNAME => array (RolePeer::ID => 0, RolePeer::NAME => 1, RolePeer::CREDENTIALS => 2, ), + BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'name' => 1, 'credentials' => 2, ), + BasePeer::TYPE_NUM => array (0, 1, 2, ) + ); + + + public static function getMapBuilder() + { + include_once 'lib/model/map/RoleMapBuilder.php'; + return BasePeer::getMapBuilder('lib.model.map.RoleMapBuilder'); + } + + public static function getPhpNameMap() + { + if (self::$phpNameMap === null) { + $map = RolePeer::getTableMap(); + $columns = $map->getColumns(); + $nameMap = array(); + foreach ($columns as $column) { + $nameMap[$column->getPhpName()] = $column->getColumnName(); + } + self::$phpNameMap = $nameMap; + } + return self::$phpNameMap; + } + + static public function translateFieldName($name, $fromType, $toType) + { + $toNames = self::getFieldNames($toType); + $key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null; + if ($key === null) { + throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true)); + } + return $toNames[$key]; + } + + + + static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) + { + if (!array_key_exists($type, self::$fieldNames)) { + throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.'); + } + return self::$fieldNames[$type]; + } + + + public static function alias($alias, $column) + { + return str_replace(RolePeer::TABLE_NAME.'.', $alias.'.', $column); + } + + + public static function addSelectColumns(Criteria $criteria) + { + + $criteria->addSelectColumn(RolePeer::ID); + + $criteria->addSelectColumn(RolePeer::NAME); + + $criteria->addSelectColumn(RolePeer::CREDENTIALS); + + } + + const COUNT = 'COUNT(role.ID)'; + const COUNT_DISTINCT = 'COUNT(DISTINCT role.ID)'; + + + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(RolePeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(RolePeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $rs = RolePeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + public static function doSelectOne(Criteria $criteria, $con = null) + { + $critcopy = clone $criteria; + $critcopy->setLimit(1); + $objects = RolePeer::doSelect($critcopy, $con); + if ($objects) { + return $objects[0]; + } + return null; + } + + public static function doSelect(Criteria $criteria, $con = null) + { + return RolePeer::populateObjects(RolePeer::doSelectRS($criteria, $con)); + } + + public static function doSelectRS(Criteria $criteria, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if (!$criteria->getSelectColumns()) { + $criteria = clone $criteria; + RolePeer::addSelectColumns($criteria); + } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doSelect($criteria, $con); + } + + public static function populateObjects(ResultSet $rs) + { + $results = array(); + + $cls = RolePeer::getOMClass(); + $cls = Propel::import($cls); + while($rs->next()) { + + $obj = new $cls(); + $obj->hydrate($rs); + $results[] = $obj; + + } + return $results; + } + + public static function getTableMap() + { + return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); + } + + + public static function getOMClass() + { + return RolePeer::CLASS_DEFAULT; + } + + + public static function doInsert($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } else { + $criteria = $values->buildCriteria(); } + + $criteria->remove(RolePeer::ID); + + $criteria->setDbName(self::DATABASE_NAME); + + try { + $con->begin(); + $pk = BasePeer::doInsert($criteria, $con); + $con->commit(); + } catch(PropelException $e) { + $con->rollback(); + throw $e; + } + + return $pk; + } + + + public static function doUpdate($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $selectCriteria = new Criteria(self::DATABASE_NAME); + + if ($values instanceof Criteria) { + $criteria = clone $values; + $comparison = $criteria->getComparison(RolePeer::ID); + $selectCriteria->add(RolePeer::ID, $criteria->remove(RolePeer::ID), $comparison); + + } else { $criteria = $values->buildCriteria(); $selectCriteria = $values->buildPkeyCriteria(); } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doUpdate($selectCriteria, $criteria, $con); + } + + + public static function doDeleteAll($con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + $affectedRows = 0; try { + $con->begin(); + $affectedRows += BasePeer::doDeleteAll(RolePeer::TABLE_NAME, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doDelete($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(RolePeer::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } elseif ($values instanceof Role) { + + $criteria = $values->buildPkeyCriteria(); + } else { + $criteria = new Criteria(self::DATABASE_NAME); + $criteria->add(RolePeer::ID, (array) $values, Criteria::IN); + } + + $criteria->setDbName(self::DATABASE_NAME); + + $affectedRows = 0; + try { + $con->begin(); + + $affectedRows += BasePeer::doDelete($criteria, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doValidate(Role $obj, $cols = null) + { + $columns = array(); + + if ($cols) { + $dbMap = Propel::getDatabaseMap(RolePeer::DATABASE_NAME); + $tableMap = $dbMap->getTable(RolePeer::TABLE_NAME); + + if (! is_array($cols)) { + $cols = array($cols); + } + + foreach($cols as $colName) { + if ($tableMap->containsColumn($colName)) { + $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); + $columns[$colName] = $obj->$get(); + } + } + } else { + + } + + $res = BasePeer::doValidate(RolePeer::DATABASE_NAME, RolePeer::TABLE_NAME, $columns); + if ($res !== true) { + $request = sfContext::getInstance()->getRequest(); + foreach ($res as $failed) { + $col = RolePeer::translateFieldname($failed->getColumn(), BasePeer::TYPE_COLNAME, BasePeer::TYPE_PHPNAME); + $request->setError($col, $failed->getMessage()); + } + } + + return $res; + } + + + public static function retrieveByPK($pk, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $criteria = new Criteria(RolePeer::DATABASE_NAME); + + $criteria->add(RolePeer::ID, $pk); + + + $v = RolePeer::doSelect($criteria, $con); + + return !empty($v) > 0 ? $v[0] : null; + } + + + public static function retrieveByPKs($pks, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $objs = null; + if (empty($pks)) { + $objs = array(); + } else { + $criteria = new Criteria(); + $criteria->add(RolePeer::ID, $pks, Criteria::IN); + $objs = RolePeer::doSelect($criteria, $con); + } + return $objs; + } + +} +if (Propel::isInit()) { + try { + BaseRolePeer::getMapBuilder(); + } catch (Exception $e) { + Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR); + } +} else { + require_once 'lib/model/map/RoleMapBuilder.php'; + Propel::registerMapBuilder('lib.model.map.RoleMapBuilder'); +} diff --git a/lib/model/om/BaseUser.php b/lib/model/om/BaseUser.php new file mode 100644 index 0000000..c9588be --- /dev/null +++ b/lib/model/om/BaseUser.php @@ -0,0 +1,1261 @@ +<?php + + +abstract class BaseUser extends BaseObject implements Persistent { + + + + protected static $peer; + + + + protected $id; + + + + protected $parent_user_id = -1; + + + + protected $nickname; + + + + protected $first_name; + + + + protected $last_name; + + + + protected $email; + + + + protected $sha1_password; + + + + protected $salt; + + + + protected $role_id; + + + + protected $last_login; + + + + protected $created_at; + + + protected $aUserRelatedByParentUserId; + + + protected $aRole; + + + protected $collUsersRelatedByParentUserId; + + + protected $lastUserRelatedByParentUserIdCriteria = null; + + + protected $collDomainPermissions; + + + protected $lastDomainPermissionCriteria = null; + + + protected $collDomains; + + + protected $lastDomainCriteria = null; + + + protected $collLogEntrys; + + + protected $lastLogEntryCriteria = null; + + + protected $alreadyInSave = false; + + + protected $alreadyInValidation = false; + + + public function getId() + { + + return $this->id; + } + + + public function getParentUserId() + { + + return $this->parent_user_id; + } + + + public function getNickname() + { + + return $this->nickname; + } + + + public function getFirstName() + { + + return $this->first_name; + } + + + public function getLastName() + { + + return $this->last_name; + } + + + public function getEmail() + { + + return $this->email; + } + + + public function getSha1Password() + { + + return $this->sha1_password; + } + + + public function getSalt() + { + + return $this->salt; + } + + + public function getRoleId() + { + + return $this->role_id; + } + + + 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 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 setId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->id !== $v) { + $this->id = $v; + $this->modifiedColumns[] = UserPeer::ID; + } + + } + + public function setParentUserId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->parent_user_id !== $v || $v === -1) { + $this->parent_user_id = $v; + $this->modifiedColumns[] = UserPeer::PARENT_USER_ID; + } + + if ($this->aUserRelatedByParentUserId !== null && $this->aUserRelatedByParentUserId->getId() !== $v) { + $this->aUserRelatedByParentUserId = null; + } + + } + + public function setNickname($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->nickname !== $v) { + $this->nickname = $v; + $this->modifiedColumns[] = UserPeer::NICKNAME; + } + + } + + public function setFirstName($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->first_name !== $v) { + $this->first_name = $v; + $this->modifiedColumns[] = UserPeer::FIRST_NAME; + } + + } + + public function setLastName($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->last_name !== $v) { + $this->last_name = $v; + $this->modifiedColumns[] = UserPeer::LAST_NAME; + } + + } + + public function setEmail($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->email !== $v) { + $this->email = $v; + $this->modifiedColumns[] = UserPeer::EMAIL; + } + + } + + public function setSha1Password($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->sha1_password !== $v) { + $this->sha1_password = $v; + $this->modifiedColumns[] = UserPeer::SHA1_PASSWORD; + } + + } + + public function setSalt($v) + { + + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->salt !== $v) { + $this->salt = $v; + $this->modifiedColumns[] = UserPeer::SALT; + } + + } + + public function setRoleId($v) + { + + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->role_id !== $v) { + $this->role_id = $v; + $this->modifiedColumns[] = UserPeer::ROLE_ID; + } + + if ($this->aRole !== null && $this->aRole->getId() !== $v) { + $this->aRole = null; + } + + } + + 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[] = UserPeer::LAST_LOGIN; + } + + } + + 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[] = UserPeer::CREATED_AT; + } + + } + + public function hydrate(ResultSet $rs, $startcol = 1) + { + try { + + $this->id = $rs->getInt($startcol + 0); + + $this->parent_user_id = $rs->getInt($startcol + 1); + + $this->nickname = $rs->getString($startcol + 2); + + $this->first_name = $rs->getString($startcol + 3); + + $this->last_name = $rs->getString($startcol + 4); + + $this->email = $rs->getString($startcol + 5); + + $this->sha1_password = $rs->getString($startcol + 6); + + $this->salt = $rs->getString($startcol + 7); + + $this->role_id = $rs->getInt($startcol + 8); + + $this->last_login = $rs->getTimestamp($startcol + 9, null); + + $this->created_at = $rs->getTimestamp($startcol + 10, null); + + $this->resetModified(); + + $this->setNew(false); + + return $startcol + 11; + } catch (Exception $e) { + throw new PropelException("Error populating User 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(UserPeer::DATABASE_NAME); + } + + try { + $con->begin(); + UserPeer::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(UserPeer::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(UserPeer::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->aUserRelatedByParentUserId !== null) { + if ($this->aUserRelatedByParentUserId->isModified()) { + $affectedRows += $this->aUserRelatedByParentUserId->save($con); + } + $this->setUserRelatedByParentUserId($this->aUserRelatedByParentUserId); + } + + if ($this->aRole !== null) { + if ($this->aRole->isModified()) { + $affectedRows += $this->aRole->save($con); + } + $this->setRole($this->aRole); + } + + + if ($this->isModified()) { + if ($this->isNew()) { + $pk = UserPeer::doInsert($this, $con); + $affectedRows += 1; + $this->setId($pk); + $this->setNew(false); + } else { + $affectedRows += UserPeer::doUpdate($this, $con); + } + $this->resetModified(); } + + if ($this->collUsersRelatedByParentUserId !== null) { + foreach($this->collUsersRelatedByParentUserId as $referrerFK) { + if (!$referrerFK->isDeleted()) { + $affectedRows += $referrerFK->save($con); + } + } + } + + if ($this->collDomainPermissions !== null) { + foreach($this->collDomainPermissions as $referrerFK) { + if (!$referrerFK->isDeleted()) { + $affectedRows += $referrerFK->save($con); + } + } + } + + if ($this->collDomains !== null) { + foreach($this->collDomains as $referrerFK) { + if (!$referrerFK->isDeleted()) { + $affectedRows += $referrerFK->save($con); + } + } + } + + if ($this->collLogEntrys !== null) { + foreach($this->collLogEntrys 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 ($this->aUserRelatedByParentUserId !== null) { + if (!$this->aUserRelatedByParentUserId->validate($columns)) { + $failureMap = array_merge($failureMap, $this->aUserRelatedByParentUserId->getValidationFailures()); + } + } + + if ($this->aRole !== null) { + if (!$this->aRole->validate($columns)) { + $failureMap = array_merge($failureMap, $this->aRole->getValidationFailures()); + } + } + + + if (($retval = UserPeer::doValidate($this, $columns)) !== true) { + $failureMap = array_merge($failureMap, $retval); + } + + + if ($this->collDomainPermissions !== null) { + foreach($this->collDomainPermissions as $referrerFK) { + if (!$referrerFK->validate($columns)) { + $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); + } + } + } + + if ($this->collDomains !== null) { + foreach($this->collDomains as $referrerFK) { + if (!$referrerFK->validate($columns)) { + $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); + } + } + } + + if ($this->collLogEntrys !== null) { + foreach($this->collLogEntrys 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 = UserPeer::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->getParentUserId(); + break; + case 2: + return $this->getNickname(); + break; + case 3: + return $this->getFirstName(); + break; + case 4: + return $this->getLastName(); + break; + case 5: + return $this->getEmail(); + break; + case 6: + return $this->getSha1Password(); + break; + case 7: + return $this->getSalt(); + break; + case 8: + return $this->getRoleId(); + break; + case 9: + return $this->getLastLogin(); + break; + case 10: + return $this->getCreatedAt(); + break; + default: + return null; + break; + } } + + + public function toArray($keyType = BasePeer::TYPE_PHPNAME) + { + $keys = UserPeer::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getParentUserId(), + $keys[2] => $this->getNickname(), + $keys[3] => $this->getFirstName(), + $keys[4] => $this->getLastName(), + $keys[5] => $this->getEmail(), + $keys[6] => $this->getSha1Password(), + $keys[7] => $this->getSalt(), + $keys[8] => $this->getRoleId(), + $keys[9] => $this->getLastLogin(), + $keys[10] => $this->getCreatedAt(), + ); + return $result; + } + + + public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME) + { + $pos = UserPeer::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->setParentUserId($value); + break; + case 2: + $this->setNickname($value); + break; + case 3: + $this->setFirstName($value); + break; + case 4: + $this->setLastName($value); + break; + case 5: + $this->setEmail($value); + break; + case 6: + $this->setSha1Password($value); + break; + case 7: + $this->setSalt($value); + break; + case 8: + $this->setRoleId($value); + break; + case 9: + $this->setLastLogin($value); + break; + case 10: + $this->setCreatedAt($value); + break; + } } + + + public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) + { + $keys = UserPeer::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); + if (array_key_exists($keys[1], $arr)) $this->setParentUserId($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setNickname($arr[$keys[2]]); + if (array_key_exists($keys[3], $arr)) $this->setFirstName($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setLastName($arr[$keys[4]]); + if (array_key_exists($keys[5], $arr)) $this->setEmail($arr[$keys[5]]); + if (array_key_exists($keys[6], $arr)) $this->setSha1Password($arr[$keys[6]]); + if (array_key_exists($keys[7], $arr)) $this->setSalt($arr[$keys[7]]); + if (array_key_exists($keys[8], $arr)) $this->setRoleId($arr[$keys[8]]); + if (array_key_exists($keys[9], $arr)) $this->setLastLogin($arr[$keys[9]]); + if (array_key_exists($keys[10], $arr)) $this->setCreatedAt($arr[$keys[10]]); + } + + + public function buildCriteria() + { + $criteria = new Criteria(UserPeer::DATABASE_NAME); + + if ($this->isColumnModified(UserPeer::ID)) $criteria->add(UserPeer::ID, $this->id); + if ($this->isColumnModified(UserPeer::PARENT_USER_ID)) $criteria->add(UserPeer::PARENT_USER_ID, $this->parent_user_id); + if ($this->isColumnModified(UserPeer::NICKNAME)) $criteria->add(UserPeer::NICKNAME, $this->nickname); + if ($this->isColumnModified(UserPeer::FIRST_NAME)) $criteria->add(UserPeer::FIRST_NAME, $this->first_name); + if ($this->isColumnModified(UserPeer::LAST_NAME)) $criteria->add(UserPeer::LAST_NAME, $this->last_name); + if ($this->isColumnModified(UserPeer::EMAIL)) $criteria->add(UserPeer::EMAIL, $this->email); + if ($this->isColumnModified(UserPeer::SHA1_PASSWORD)) $criteria->add(UserPeer::SHA1_PASSWORD, $this->sha1_password); + if ($this->isColumnModified(UserPeer::SALT)) $criteria->add(UserPeer::SALT, $this->salt); + if ($this->isColumnModified(UserPeer::ROLE_ID)) $criteria->add(UserPeer::ROLE_ID, $this->role_id); + if ($this->isColumnModified(UserPeer::LAST_LOGIN)) $criteria->add(UserPeer::LAST_LOGIN, $this->last_login); + if ($this->isColumnModified(UserPeer::CREATED_AT)) $criteria->add(UserPeer::CREATED_AT, $this->created_at); + + return $criteria; + } + + + public function buildPkeyCriteria() + { + $criteria = new Criteria(UserPeer::DATABASE_NAME); + + $criteria->add(UserPeer::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->setParentUserId($this->parent_user_id); + + $copyObj->setNickname($this->nickname); + + $copyObj->setFirstName($this->first_name); + + $copyObj->setLastName($this->last_name); + + $copyObj->setEmail($this->email); + + $copyObj->setSha1Password($this->sha1_password); + + $copyObj->setSalt($this->salt); + + $copyObj->setRoleId($this->role_id); + + $copyObj->setLastLogin($this->last_login); + + $copyObj->setCreatedAt($this->created_at); + + + if ($deepCopy) { + $copyObj->setNew(false); + + foreach($this->getUsersRelatedByParentUserId() as $relObj) { + if($this->getPrimaryKey() === $relObj->getPrimaryKey()) { + continue; + } + + $copyObj->addUserRelatedByParentUserId($relObj->copy($deepCopy)); + } + + foreach($this->getDomainPermissions() as $relObj) { + $copyObj->addDomainPermission($relObj->copy($deepCopy)); + } + + foreach($this->getDomains() as $relObj) { + $copyObj->addDomain($relObj->copy($deepCopy)); + } + + foreach($this->getLogEntrys() as $relObj) { + $copyObj->addLogEntry($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 UserPeer(); + } + return self::$peer; + } + + + public function setUserRelatedByParentUserId($v) + { + + + if ($v === null) { + $this->setParentUserId('-1'); + } else { + $this->setParentUserId($v->getId()); + } + + + $this->aUserRelatedByParentUserId = $v; + } + + + + public function getUserRelatedByParentUserId($con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + + if ($this->aUserRelatedByParentUserId === null && ($this->parent_user_id !== null)) { + + $this->aUserRelatedByParentUserId = UserPeer::retrieveByPK($this->parent_user_id, $con); + + + } + return $this->aUserRelatedByParentUserId; + } + + + public function setRole($v) + { + + + if ($v === null) { + $this->setRoleId(NULL); + } else { + $this->setRoleId($v->getId()); + } + + + $this->aRole = $v; + } + + + + public function getRole($con = null) + { + include_once 'lib/model/om/BaseRolePeer.php'; + + if ($this->aRole === null && ($this->role_id !== null)) { + + $this->aRole = RolePeer::retrieveByPK($this->role_id, $con); + + + } + return $this->aRole; + } + + + public function initUsersRelatedByParentUserId() + { + if ($this->collUsersRelatedByParentUserId === null) { + $this->collUsersRelatedByParentUserId = array(); + } + } + + + public function getUsersRelatedByParentUserId($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collUsersRelatedByParentUserId === null) { + if ($this->isNew()) { + $this->collUsersRelatedByParentUserId = array(); + } else { + + $criteria->add(UserPeer::PARENT_USER_ID, $this->getId()); + + UserPeer::addSelectColumns($criteria); + $this->collUsersRelatedByParentUserId = UserPeer::doSelect($criteria, $con); + } + } else { + if (!$this->isNew()) { + + + $criteria->add(UserPeer::PARENT_USER_ID, $this->getId()); + + UserPeer::addSelectColumns($criteria); + if (!isset($this->lastUserRelatedByParentUserIdCriteria) || !$this->lastUserRelatedByParentUserIdCriteria->equals($criteria)) { + $this->collUsersRelatedByParentUserId = UserPeer::doSelect($criteria, $con); + } + } + } + $this->lastUserRelatedByParentUserIdCriteria = $criteria; + return $this->collUsersRelatedByParentUserId; + } + + + public function countUsersRelatedByParentUserId($criteria = null, $distinct = false, $con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + $criteria->add(UserPeer::PARENT_USER_ID, $this->getId()); + + return UserPeer::doCount($criteria, $distinct, $con); + } + + + public function addUserRelatedByParentUserId(User $l) + { + $this->collUsersRelatedByParentUserId[] = $l; + $l->setUserRelatedByParentUserId($this); + } + + + + public function getUsersRelatedByParentUserIdJoinRole($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseUserPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collUsersRelatedByParentUserId === null) { + if ($this->isNew()) { + $this->collUsersRelatedByParentUserId = array(); + } else { + + $criteria->add(UserPeer::PARENT_USER_ID, $this->getId()); + + $this->collUsersRelatedByParentUserId = UserPeer::doSelectJoinRole($criteria, $con); + } + } else { + + $criteria->add(UserPeer::PARENT_USER_ID, $this->getId()); + + if (!isset($this->lastUserRelatedByParentUserIdCriteria) || !$this->lastUserRelatedByParentUserIdCriteria->equals($criteria)) { + $this->collUsersRelatedByParentUserId = UserPeer::doSelectJoinRole($criteria, $con); + } + } + $this->lastUserRelatedByParentUserIdCriteria = $criteria; + + return $this->collUsersRelatedByParentUserId; + } + + + public function initDomainPermissions() + { + if ($this->collDomainPermissions === null) { + $this->collDomainPermissions = array(); + } + } + + + public function getDomainPermissions($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseDomainPermissionPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collDomainPermissions === null) { + if ($this->isNew()) { + $this->collDomainPermissions = array(); + } else { + + $criteria->add(DomainPermissionPeer::USER_ID, $this->getId()); + + DomainPermissionPeer::addSelectColumns($criteria); + $this->collDomainPermissions = DomainPermissionPeer::doSelect($criteria, $con); + } + } else { + if (!$this->isNew()) { + + + $criteria->add(DomainPermissionPeer::USER_ID, $this->getId()); + + DomainPermissionPeer::addSelectColumns($criteria); + if (!isset($this->lastDomainPermissionCriteria) || !$this->lastDomainPermissionCriteria->equals($criteria)) { + $this->collDomainPermissions = DomainPermissionPeer::doSelect($criteria, $con); + } + } + } + $this->lastDomainPermissionCriteria = $criteria; + return $this->collDomainPermissions; + } + + + public function countDomainPermissions($criteria = null, $distinct = false, $con = null) + { + include_once 'lib/model/om/BaseDomainPermissionPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + $criteria->add(DomainPermissionPeer::USER_ID, $this->getId()); + + return DomainPermissionPeer::doCount($criteria, $distinct, $con); + } + + + public function addDomainPermission(DomainPermission $l) + { + $this->collDomainPermissions[] = $l; + $l->setUser($this); + } + + + + public function getDomainPermissionsJoinDomain($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseDomainPermissionPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collDomainPermissions === null) { + if ($this->isNew()) { + $this->collDomainPermissions = array(); + } else { + + $criteria->add(DomainPermissionPeer::USER_ID, $this->getId()); + + $this->collDomainPermissions = DomainPermissionPeer::doSelectJoinDomain($criteria, $con); + } + } else { + + $criteria->add(DomainPermissionPeer::USER_ID, $this->getId()); + + if (!isset($this->lastDomainPermissionCriteria) || !$this->lastDomainPermissionCriteria->equals($criteria)) { + $this->collDomainPermissions = DomainPermissionPeer::doSelectJoinDomain($criteria, $con); + } + } + $this->lastDomainPermissionCriteria = $criteria; + + return $this->collDomainPermissions; + } + + + public function initDomains() + { + if ($this->collDomains === null) { + $this->collDomains = array(); + } + } + + + public function getDomains($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseDomainPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collDomains === null) { + if ($this->isNew()) { + $this->collDomains = array(); + } else { + + $criteria->add(DomainPeer::CREATOR_ID, $this->getId()); + + DomainPeer::addSelectColumns($criteria); + $this->collDomains = DomainPeer::doSelect($criteria, $con); + } + } else { + if (!$this->isNew()) { + + + $criteria->add(DomainPeer::CREATOR_ID, $this->getId()); + + DomainPeer::addSelectColumns($criteria); + if (!isset($this->lastDomainCriteria) || !$this->lastDomainCriteria->equals($criteria)) { + $this->collDomains = DomainPeer::doSelect($criteria, $con); + } + } + } + $this->lastDomainCriteria = $criteria; + return $this->collDomains; + } + + + public function countDomains($criteria = null, $distinct = false, $con = null) + { + include_once 'lib/model/om/BaseDomainPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + $criteria->add(DomainPeer::CREATOR_ID, $this->getId()); + + return DomainPeer::doCount($criteria, $distinct, $con); + } + + + public function addDomain(Domain $l) + { + $this->collDomains[] = $l; + $l->setUser($this); + } + + + public function initLogEntrys() + { + if ($this->collLogEntrys === null) { + $this->collLogEntrys = array(); + } + } + + + public function getLogEntrys($criteria = null, $con = null) + { + include_once 'lib/model/om/BaseLogEntryPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + if ($this->collLogEntrys === null) { + if ($this->isNew()) { + $this->collLogEntrys = array(); + } else { + + $criteria->add(LogEntryPeer::USER_ID, $this->getId()); + + LogEntryPeer::addSelectColumns($criteria); + $this->collLogEntrys = LogEntryPeer::doSelect($criteria, $con); + } + } else { + if (!$this->isNew()) { + + + $criteria->add(LogEntryPeer::USER_ID, $this->getId()); + + LogEntryPeer::addSelectColumns($criteria); + if (!isset($this->lastLogEntryCriteria) || !$this->lastLogEntryCriteria->equals($criteria)) { + $this->collLogEntrys = LogEntryPeer::doSelect($criteria, $con); + } + } + } + $this->lastLogEntryCriteria = $criteria; + return $this->collLogEntrys; + } + + + public function countLogEntrys($criteria = null, $distinct = false, $con = null) + { + include_once 'lib/model/om/BaseLogEntryPeer.php'; + if ($criteria === null) { + $criteria = new Criteria(); + } + elseif ($criteria instanceof Criteria) + { + $criteria = clone $criteria; + } + + $criteria->add(LogEntryPeer::USER_ID, $this->getId()); + + return LogEntryPeer::doCount($criteria, $distinct, $con); + } + + + public function addLogEntry(LogEntry $l) + { + $this->collLogEntrys[] = $l; + $l->setUser($this); + } + +}
\ No newline at end of file diff --git a/lib/model/om/BaseUserPeer.php b/lib/model/om/BaseUserPeer.php new file mode 100644 index 0000000..605ff27 --- /dev/null +++ b/lib/model/om/BaseUserPeer.php @@ -0,0 +1,758 @@ +<?php + + +abstract class BaseUserPeer { + + + const DATABASE_NAME = 'propel'; + + + const TABLE_NAME = 'user'; + + + const CLASS_DEFAULT = 'lib.model.User'; + + + const NUM_COLUMNS = 11; + + + const NUM_LAZY_LOAD_COLUMNS = 0; + + + + const ID = 'user.ID'; + + + const PARENT_USER_ID = 'user.PARENT_USER_ID'; + + + const NICKNAME = 'user.NICKNAME'; + + + const FIRST_NAME = 'user.FIRST_NAME'; + + + const LAST_NAME = 'user.LAST_NAME'; + + + const EMAIL = 'user.EMAIL'; + + + const SHA1_PASSWORD = 'user.SHA1_PASSWORD'; + + + const SALT = 'user.SALT'; + + + const ROLE_ID = 'user.ROLE_ID'; + + + const LAST_LOGIN = 'user.LAST_LOGIN'; + + + const CREATED_AT = 'user.CREATED_AT'; + + + private static $phpNameMap = null; + + + + private static $fieldNames = array ( + BasePeer::TYPE_PHPNAME => array ('Id', 'ParentUserId', 'Nickname', 'FirstName', 'LastName', 'Email', 'Sha1Password', 'Salt', 'RoleId', 'LastLogin', 'CreatedAt', ), + BasePeer::TYPE_COLNAME => array (UserPeer::ID, UserPeer::PARENT_USER_ID, UserPeer::NICKNAME, UserPeer::FIRST_NAME, UserPeer::LAST_NAME, UserPeer::EMAIL, UserPeer::SHA1_PASSWORD, UserPeer::SALT, UserPeer::ROLE_ID, UserPeer::LAST_LOGIN, UserPeer::CREATED_AT, ), + BasePeer::TYPE_FIELDNAME => array ('id', 'parent_user_id', 'nickname', 'first_name', 'last_name', 'email', 'sha1_password', 'salt', 'role_id', 'last_login', 'created_at', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) + ); + + + private static $fieldKeys = array ( + BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'ParentUserId' => 1, 'Nickname' => 2, 'FirstName' => 3, 'LastName' => 4, 'Email' => 5, 'Sha1Password' => 6, 'Salt' => 7, 'RoleId' => 8, 'LastLogin' => 9, 'CreatedAt' => 10, ), + BasePeer::TYPE_COLNAME => array (UserPeer::ID => 0, UserPeer::PARENT_USER_ID => 1, UserPeer::NICKNAME => 2, UserPeer::FIRST_NAME => 3, UserPeer::LAST_NAME => 4, UserPeer::EMAIL => 5, UserPeer::SHA1_PASSWORD => 6, UserPeer::SALT => 7, UserPeer::ROLE_ID => 8, UserPeer::LAST_LOGIN => 9, UserPeer::CREATED_AT => 10, ), + BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'parent_user_id' => 1, 'nickname' => 2, 'first_name' => 3, 'last_name' => 4, 'email' => 5, 'sha1_password' => 6, 'salt' => 7, 'role_id' => 8, 'last_login' => 9, 'created_at' => 10, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) + ); + + + public static function getMapBuilder() + { + include_once 'lib/model/map/UserMapBuilder.php'; + return BasePeer::getMapBuilder('lib.model.map.UserMapBuilder'); + } + + public static function getPhpNameMap() + { + if (self::$phpNameMap === null) { + $map = UserPeer::getTableMap(); + $columns = $map->getColumns(); + $nameMap = array(); + foreach ($columns as $column) { + $nameMap[$column->getPhpName()] = $column->getColumnName(); + } + self::$phpNameMap = $nameMap; + } + return self::$phpNameMap; + } + + static public function translateFieldName($name, $fromType, $toType) + { + $toNames = self::getFieldNames($toType); + $key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null; + if ($key === null) { + throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true)); + } + return $toNames[$key]; + } + + + + static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) + { + if (!array_key_exists($type, self::$fieldNames)) { + throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.'); + } + return self::$fieldNames[$type]; + } + + + public static function alias($alias, $column) + { + return str_replace(UserPeer::TABLE_NAME.'.', $alias.'.', $column); + } + + + public static function addSelectColumns(Criteria $criteria) + { + + $criteria->addSelectColumn(UserPeer::ID); + + $criteria->addSelectColumn(UserPeer::PARENT_USER_ID); + + $criteria->addSelectColumn(UserPeer::NICKNAME); + + $criteria->addSelectColumn(UserPeer::FIRST_NAME); + + $criteria->addSelectColumn(UserPeer::LAST_NAME); + + $criteria->addSelectColumn(UserPeer::EMAIL); + + $criteria->addSelectColumn(UserPeer::SHA1_PASSWORD); + + $criteria->addSelectColumn(UserPeer::SALT); + + $criteria->addSelectColumn(UserPeer::ROLE_ID); + + $criteria->addSelectColumn(UserPeer::LAST_LOGIN); + + $criteria->addSelectColumn(UserPeer::CREATED_AT); + + } + + const COUNT = 'COUNT(user.ID)'; + const COUNT_DISTINCT = 'COUNT(DISTINCT user.ID)'; + + + public static function doCount(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(UserPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(UserPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $rs = UserPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + public static function doSelectOne(Criteria $criteria, $con = null) + { + $critcopy = clone $criteria; + $critcopy->setLimit(1); + $objects = UserPeer::doSelect($critcopy, $con); + if ($objects) { + return $objects[0]; + } + return null; + } + + public static function doSelect(Criteria $criteria, $con = null) + { + return UserPeer::populateObjects(UserPeer::doSelectRS($criteria, $con)); + } + + public static function doSelectRS(Criteria $criteria, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if (!$criteria->getSelectColumns()) { + $criteria = clone $criteria; + UserPeer::addSelectColumns($criteria); + } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doSelect($criteria, $con); + } + + public static function populateObjects(ResultSet $rs) + { + $results = array(); + + $cls = UserPeer::getOMClass(); + $cls = Propel::import($cls); + while($rs->next()) { + + $obj = new $cls(); + $obj->hydrate($rs); + $results[] = $obj; + + } + return $results; + } + + + public static function doCountJoinRole(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(UserPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(UserPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(UserPeer::ROLE_ID, RolePeer::ID); + + $rs = UserPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinRole(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + UserPeer::addSelectColumns($c); + $startcol = (UserPeer::NUM_COLUMNS - UserPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + RolePeer::addSelectColumns($c); + + $c->addJoin(UserPeer::ROLE_ID, RolePeer::ID); + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = UserPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = RolePeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject = true; + foreach($results as $temp_obj1) { + $temp_obj2 = $temp_obj1->getRole(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addUser($obj1); break; + } + } + if ($newObject) { + $obj2->initUsers(); + $obj2->addUser($obj1); } + $results[] = $obj1; + } + return $results; + } + + + + public static function doCountJoinAll(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(UserPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(UserPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(UserPeer::ROLE_ID, RolePeer::ID); + + $rs = UserPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinAll(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + UserPeer::addSelectColumns($c); + $startcol2 = (UserPeer::NUM_COLUMNS - UserPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + RolePeer::addSelectColumns($c); + $startcol3 = $startcol2 + RolePeer::NUM_COLUMNS; + + $c->addJoin(UserPeer::ROLE_ID, RolePeer::ID); + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = UserPeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + + + $omClass = RolePeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getRole(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addUser($obj1); break; + } + } + + if ($newObject) { + $obj2->initUsers(); + $obj2->addUser($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + + public static function doCountJoinAllExceptUserRelatedByParentUserId(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(UserPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(UserPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(UserPeer::ROLE_ID, RolePeer::ID); + + $rs = UserPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doCountJoinAllExceptRole(Criteria $criteria, $distinct = false, $con = null) + { + $criteria = clone $criteria; + + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->addSelectColumn(UserPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(UserPeer::COUNT); + } + + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $rs = UserPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + return 0; + } + } + + + + public static function doSelectJoinAllExceptUserRelatedByParentUserId(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + UserPeer::addSelectColumns($c); + $startcol2 = (UserPeer::NUM_COLUMNS - UserPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + RolePeer::addSelectColumns($c); + $startcol3 = $startcol2 + RolePeer::NUM_COLUMNS; + + $c->addJoin(UserPeer::ROLE_ID, RolePeer::ID); + + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = UserPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $omClass = RolePeer::getOMClass(); + + + $cls = Propel::import($omClass); + $obj2 = new $cls(); + $obj2->hydrate($rs, $startcol2); + + $newObject = true; + for ($j=0, $resCount=count($results); $j < $resCount; $j++) { + $temp_obj1 = $results[$j]; + $temp_obj2 = $temp_obj1->getRole(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { + $newObject = false; + $temp_obj2->addUser($obj1); + break; + } + } + + if ($newObject) { + $obj2->initUsers(); + $obj2->addUser($obj1); + } + + $results[] = $obj1; + } + return $results; + } + + + + public static function doSelectJoinAllExceptRole(Criteria $c, $con = null) + { + $c = clone $c; + + if ($c->getDbName() == Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + UserPeer::addSelectColumns($c); + $startcol2 = (UserPeer::NUM_COLUMNS - UserPeer::NUM_LAZY_LOAD_COLUMNS) + 1; + + + $rs = BasePeer::doSelect($c, $con); + $results = array(); + + while($rs->next()) { + + $omClass = UserPeer::getOMClass(); + + $cls = Propel::import($omClass); + $obj1 = new $cls(); + $obj1->hydrate($rs); + + $results[] = $obj1; + } + return $results; + } + + + public static function getTableMap() + { + return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); + } + + + public static function getOMClass() + { + return UserPeer::CLASS_DEFAULT; + } + + + public static function doInsert($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } else { + $criteria = $values->buildCriteria(); } + + $criteria->remove(UserPeer::ID); + + $criteria->setDbName(self::DATABASE_NAME); + + try { + $con->begin(); + $pk = BasePeer::doInsert($criteria, $con); + $con->commit(); + } catch(PropelException $e) { + $con->rollback(); + throw $e; + } + + return $pk; + } + + + public static function doUpdate($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $selectCriteria = new Criteria(self::DATABASE_NAME); + + if ($values instanceof Criteria) { + $criteria = clone $values; + $comparison = $criteria->getComparison(UserPeer::ID); + $selectCriteria->add(UserPeer::ID, $criteria->remove(UserPeer::ID), $comparison); + + } else { $criteria = $values->buildCriteria(); $selectCriteria = $values->buildPkeyCriteria(); } + + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doUpdate($selectCriteria, $criteria, $con); + } + + + public static function doDeleteAll($con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + $affectedRows = 0; try { + $con->begin(); + $affectedRows += UserPeer::doOnDeleteCascade(new Criteria(), $con); + UserPeer::doOnDeleteSetNull(new Criteria(), $con); + $affectedRows += BasePeer::doDeleteAll(UserPeer::TABLE_NAME, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + public static function doDelete($values, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(UserPeer::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; } elseif ($values instanceof User) { + + $criteria = $values->buildPkeyCriteria(); + } else { + $criteria = new Criteria(self::DATABASE_NAME); + $criteria->add(UserPeer::ID, (array) $values, Criteria::IN); + } + + $criteria->setDbName(self::DATABASE_NAME); + + $affectedRows = 0; + try { + $con->begin(); + $affectedRows += UserPeer::doOnDeleteCascade($criteria, $con);UserPeer::doOnDeleteSetNull($criteria, $con); + $affectedRows += BasePeer::doDelete($criteria, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + + protected static function doOnDeleteCascade(Criteria $criteria, Connection $con) + { + $affectedRows = 0; + + $objects = UserPeer::doSelect($criteria, $con); + foreach($objects as $obj) { + + + include_once 'lib/model/DomainPermission.php'; + + $c = new Criteria(); + + $c->add(DomainPermissionPeer::USER_ID, $obj->getId()); + $affectedRows += DomainPermissionPeer::doDelete($c, $con); + } + return $affectedRows; + } + + + protected static function doOnDeleteSetNull(Criteria $criteria, Connection $con) + { + + $objects = UserPeer::doSelect($criteria, $con); + foreach($objects as $obj) { + + $selectCriteria = new Criteria(UserPeer::DATABASE_NAME); + $updateValues = new Criteria(UserPeer::DATABASE_NAME); + $selectCriteria->add(DomainPeer::CREATOR_ID, $obj->getId()); + $updateValues->add(DomainPeer::CREATOR_ID, null); + + BasePeer::doUpdate($selectCriteria, $updateValues, $con); + $selectCriteria = new Criteria(UserPeer::DATABASE_NAME); + $updateValues = new Criteria(UserPeer::DATABASE_NAME); + $selectCriteria->add(LogEntryPeer::USER_ID, $obj->getId()); + $updateValues->add(LogEntryPeer::USER_ID, null); + + BasePeer::doUpdate($selectCriteria, $updateValues, $con); + } + } + + + public static function doValidate(User $obj, $cols = null) + { + $columns = array(); + + if ($cols) { + $dbMap = Propel::getDatabaseMap(UserPeer::DATABASE_NAME); + $tableMap = $dbMap->getTable(UserPeer::TABLE_NAME); + + if (! is_array($cols)) { + $cols = array($cols); + } + + foreach($cols as $colName) { + if ($tableMap->containsColumn($colName)) { + $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); + $columns[$colName] = $obj->$get(); + } + } + } else { + + } + + $res = BasePeer::doValidate(UserPeer::DATABASE_NAME, UserPeer::TABLE_NAME, $columns); + if ($res !== true) { + $request = sfContext::getInstance()->getRequest(); + foreach ($res as $failed) { + $col = UserPeer::translateFieldname($failed->getColumn(), BasePeer::TYPE_COLNAME, BasePeer::TYPE_PHPNAME); + $request->setError($col, $failed->getMessage()); + } + } + + return $res; + } + + + public static function retrieveByPK($pk, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $criteria = new Criteria(UserPeer::DATABASE_NAME); + + $criteria->add(UserPeer::ID, $pk); + + + $v = UserPeer::doSelect($criteria, $con); + + return !empty($v) > 0 ? $v[0] : null; + } + + + public static function retrieveByPKs($pks, $con = null) + { + if ($con === null) { + $con = Propel::getConnection(self::DATABASE_NAME); + } + + $objs = null; + if (empty($pks)) { + $objs = array(); + } else { + $criteria = new Criteria(); + $criteria->add(UserPeer::ID, $pks, Criteria::IN); + $objs = UserPeer::doSelect($criteria, $con); + } + return $objs; + } + +} +if (Propel::isInit()) { + try { + BaseUserPeer::getMapBuilder(); + } catch (Exception $e) { + Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR); + } +} else { + require_once 'lib/model/map/UserMapBuilder.php'; + Propel::registerMapBuilder('lib.model.map.UserMapBuilder'); +} |