array ('Id', 'Slug', ), BasePeer::TYPE_COLNAME => array (CoursePeer::ID, CoursePeer::SLUG, ), BasePeer::TYPE_FIELDNAME => array ('id', 'slug', ), BasePeer::TYPE_NUM => array (0, 1, ) ); private static $fieldKeys = array ( BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'Slug' => 1, ), BasePeer::TYPE_COLNAME => array (CoursePeer::ID => 0, CoursePeer::SLUG => 1, ), BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'slug' => 1, ), BasePeer::TYPE_NUM => array (0, 1, ) ); public static function getMapBuilder() { include_once 'lib/model/map/CourseMapBuilder.php'; return BasePeer::getMapBuilder('lib.model.map.CourseMapBuilder'); } public static function getPhpNameMap() { if (self::$phpNameMap === null) { $map = CoursePeer::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(CoursePeer::TABLE_NAME.'.', $alias.'.', $column); } public static function addSelectColumns(Criteria $criteria) { $criteria->addSelectColumn(CoursePeer::ID); $criteria->addSelectColumn(CoursePeer::SLUG); } const COUNT = 'COUNT(Course.ID)'; const COUNT_DISTINCT = 'COUNT(DISTINCT Course.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(CoursePeer::COUNT_DISTINCT); } else { $criteria->addSelectColumn(CoursePeer::COUNT); } foreach($criteria->getGroupByColumns() as $column) { $criteria->addSelectColumn($column); } $rs = CoursePeer::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 = CoursePeer::doSelect($critcopy, $con); if ($objects) { return $objects[0]; } return null; } public static function doSelect(Criteria $criteria, $con = null) { return CoursePeer::populateObjects(CoursePeer::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; CoursePeer::addSelectColumns($criteria); } $criteria->setDbName(self::DATABASE_NAME); return BasePeer::doSelect($criteria, $con); } public static function populateObjects(ResultSet $rs) { $results = array(); $cls = CoursePeer::getOMClass(); $cls = Propel::import($cls); while($rs->next()) { $obj = new $cls(); $obj->hydrate($rs); $results[] = $obj; } return $results; } public static function doSelectWithI18n(Criteria $c, $culture = null, $con = null) { if ($culture === null) { $culture = sfContext::getInstance()->getUser()->getCulture(); } if ($c->getDbName() == Propel::getDefaultDB()) { $c->setDbName(self::DATABASE_NAME); } CoursePeer::addSelectColumns($c); $startcol = (CoursePeer::NUM_COLUMNS - CoursePeer::NUM_LAZY_LOAD_COLUMNS) + 1; CourseI18nPeer::addSelectColumns($c); $c->addJoin(CoursePeer::ID, CourseI18nPeer::ID); $c->add(CourseI18nPeer::CULTURE, $culture); $rs = BasePeer::doSelect($c, $con); $results = array(); while($rs->next()) { $omClass = CoursePeer::getOMClass(); $cls = Propel::import($omClass); $obj1 = new $cls(); $obj1->hydrate($rs); $obj1->setCulture($culture); $omClass = CourseI18nPeer::getOMClass($rs, $startcol); $cls = Propel::import($omClass); $obj2 = new $cls(); $obj2->hydrate($rs, $startcol); $obj1->setCourseI18nForCulture($obj2, $culture); $obj2->setCourse($obj1); $results[] = $obj1; } return $results; } public static function getTableMap() { return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); } public static function getOMClass() { return CoursePeer::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(CoursePeer::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(CoursePeer::ID); $selectCriteria->add(CoursePeer::ID, $criteria->remove(CoursePeer::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 += CoursePeer::doOnDeleteCascade(new Criteria(), $con); $affectedRows += BasePeer::doDeleteAll(CoursePeer::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(CoursePeer::DATABASE_NAME); } if ($values instanceof Criteria) { $criteria = clone $values; } elseif ($values instanceof Course) { $criteria = $values->buildPkeyCriteria(); } else { $criteria = new Criteria(self::DATABASE_NAME); $criteria->add(CoursePeer::ID, (array) $values, Criteria::IN); } $criteria->setDbName(self::DATABASE_NAME); $affectedRows = 0; try { $con->begin(); $affectedRows += CoursePeer::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 = CoursePeer::doSelect($criteria, $con); foreach($objects as $obj) { include_once 'lib/model/CourseI18n.php'; $c = new Criteria(); $c->add(CourseI18nPeer::ID, $obj->getId()); $affectedRows += CourseI18nPeer::doDelete($c, $con); } return $affectedRows; } public static function doValidate(Course $obj, $cols = null) { $columns = array(); if ($cols) { $dbMap = Propel::getDatabaseMap(CoursePeer::DATABASE_NAME); $tableMap = $dbMap->getTable(CoursePeer::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(CoursePeer::DATABASE_NAME, CoursePeer::TABLE_NAME, $columns); if ($res !== true) { $request = sfContext::getInstance()->getRequest(); foreach ($res as $failed) { $col = CoursePeer::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(CoursePeer::DATABASE_NAME); $criteria->add(CoursePeer::ID, $pk); $v = CoursePeer::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(CoursePeer::ID, $pks, Criteria::IN); $objs = CoursePeer::doSelect($criteria, $con); } return $objs; } } if (Propel::isInit()) { try { BaseCoursePeer::getMapBuilder(); } catch (Exception $e) { Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR); } } else { require_once 'lib/model/map/CourseMapBuilder.php'; Propel::registerMapBuilder('lib.model.map.CourseMapBuilder'); }