From c587dcf4e4f6eaca4e3af677dd71b2533430b278 Mon Sep 17 00:00:00 2001 From: drigato Date: Thu, 24 Sep 2015 10:32:16 -0400 Subject: [PATCH] Added extra fields to podcast table --- .../application/models/airtime/Podcast.php | 42 +- .../models/airtime/map/PodcastTableMap.php | 8 + .../models/airtime/om/BasePodcast.php | 476 +++++++++++++++++- .../models/airtime/om/BasePodcastPeer.php | 68 ++- .../models/airtime/om/BasePodcastQuery.php | 266 +++++++++- airtime_mvc/build/schema.xml | 8 + airtime_mvc/build/sql/schema.sql | 8 + 7 files changed, 832 insertions(+), 44 deletions(-) diff --git a/airtime_mvc/application/models/airtime/Podcast.php b/airtime_mvc/application/models/airtime/Podcast.php index 8a80ba808..5a52bdcb5 100644 --- a/airtime_mvc/application/models/airtime/Podcast.php +++ b/airtime_mvc/application/models/airtime/Podcast.php @@ -55,8 +55,6 @@ class Podcast extends BasePodcast $podcastArray = array(); $podcastArray["url"] = $data["url"]; - // Kind of a pain; since the rss fields are SimpleXMLElements, - // we need to explicitly cast them to strings $podcastArray["title"] = $rss->get_title(); $podcastArray["description"] = $rss->get_description(); $podcastArray["link"] = $rss->get_link(); @@ -65,18 +63,32 @@ class Podcast extends BasePodcast $podcastArray["creator"] = $rss->get_author()->get_name(); $podcastArray["category"] = $rss->get_categories(); - /*$podcastArray["title"] = (string)$rss->title; - $podcastArray["description"] = (string)$rss->description; - $podcastArray["link"] = (string)$rss->link; - $podcastArray["language"] = (string)$rss->language; - $podcastArray["copyright"] = (string)$rss->copyright; - $podcastArray["itunes_author"] = (string)$rss->{'itunes:author'}; - $podcastArray["itunes_keywords"] = (string)$rss->{'itunes:keywords'}; - $podcastArray["itunes_subtitle"] = (string)$rss->{'itunes:subtitle'}; - $podcastArray["itunes_summary"] = (string)$rss->{'itunes:summary'}; - //TODO: fix itunes_category - $podcastArray["itunes_category"] = (string)$rss->{'itunes:category'}; - $podcastArray["itunes_explicit"] = (string)$rss->{'itunes:explicit'};*/ + $itunesChannel = "http://www.itunes.com/dtds/podcast-1.0.dtd"; + + $itunesSubtitle = $rss->get_channel_tags($itunesChannel, 'subtitle'); + $podcastArray["itunes_subtitle"] = isset($itunesSubtitle[0]["data"]) ? $itunesSubtitle[0]["data"] : ""; + + $itunesCategory = $rss->get_channel_tags($itunesChannel, 'category'); + $categoryArray = array(); + foreach ($itunesCategory as $c => $data) { + foreach ($data["attribs"] as $attrib) { + array_push($categoryArray, $attrib["text"]); + } + } + $podcastArray["itunes_category"] = implode(",", $categoryArray); + + $itunesAuthor = $rss->get_channel_tags($itunesChannel, 'author'); + $podcastArray["itunes_author"] = isset($itunesAuthor[0]["data"]) ? $itunesAuthor[0]["data"] : ""; + + $itunesSummary = $rss->get_channel_tags($itunesChannel, 'summary'); + $podcastArray["itunes_summary"] = isset($itunesSummary[0]["data"]) ? $itunesSummary[0]["data"] : ""; + + $itunesKeywords = $rss->get_channel_tags($itunesChannel, 'keywords'); + $podcastArray["itunes_keywords"] = isset($itunesKeywords[0]["data"]) ? $itunesKeywords[0]["data"] : ""; + + $itunesExplicit = $rss->get_channel_tags($itunesChannel, 'explicit'); + $podcastArray["itunes_explicit"] = isset($itunesExplicit[0]["data"]) ? $itunesExplicit[0]["data"] : ""; + self::validatePodcastMetadata($podcastArray); try { @@ -136,7 +148,7 @@ class Podcast extends BasePodcast "title" => $item->get_title(), "author" => $item->get_author()->get_name(), "description" => $item->get_description(), - "pub_date" => $item->get_date("Y-m-d H:i:s"), + "pubDate" => $item->get_date("Y-m-d H:i:s"), "link" => $item->get_enclosure()->get_link() )); } diff --git a/airtime_mvc/application/models/airtime/map/PodcastTableMap.php b/airtime_mvc/application/models/airtime/map/PodcastTableMap.php index 0fa3822f5..74ea4a29a 100644 --- a/airtime_mvc/application/models/airtime/map/PodcastTableMap.php +++ b/airtime_mvc/application/models/airtime/map/PodcastTableMap.php @@ -44,6 +44,14 @@ class PodcastTableMap extends TableMap $this->addColumn('title', 'DbTitle', 'VARCHAR', true, 4096, null); $this->addColumn('creator', 'DbCreator', 'VARCHAR', false, 4096, null); $this->addColumn('description', 'DbDescription', 'VARCHAR', false, 4096, null); + $this->addColumn('language', 'DbLanguage', 'VARCHAR', false, 4096, null); + $this->addColumn('copyright', 'DbCopyright', 'VARCHAR', false, 4096, null); + $this->addColumn('itunes_author', 'DbItunesAuthor', 'VARCHAR', false, 4096, null); + $this->addColumn('itunes_keywords', 'DbItunesKeywords', 'VARCHAR', false, 4096, null); + $this->addColumn('itunes_summary', 'DbItunesSummary', 'VARCHAR', false, 4096, null); + $this->addColumn('itunes_subtitle', 'DbItunesSubtitle', 'VARCHAR', false, 4096, null); + $this->addColumn('itunes_category', 'DbItunesCategory', 'VARCHAR', false, 4096, null); + $this->addColumn('itunes_explicit', 'DbItunesExplicit', 'VARCHAR', false, 4096, null); $this->addColumn('auto_ingest', 'DbAutoIngest', 'BOOLEAN', true, null, false); $this->addForeignKey('owner', 'DbOwner', 'INTEGER', 'cc_subjs', 'id', false, null, null); $this->addColumn('type', 'DbType', 'INTEGER', true, null, 1); diff --git a/airtime_mvc/application/models/airtime/om/BasePodcast.php b/airtime_mvc/application/models/airtime/om/BasePodcast.php index a2f2f6ba7..e321c762c 100644 --- a/airtime_mvc/application/models/airtime/om/BasePodcast.php +++ b/airtime_mvc/application/models/airtime/om/BasePodcast.php @@ -59,6 +59,54 @@ abstract class BasePodcast extends BaseObject implements Persistent */ protected $description; + /** + * The value for the language field. + * @var string + */ + protected $language; + + /** + * The value for the copyright field. + * @var string + */ + protected $copyright; + + /** + * The value for the itunes_author field. + * @var string + */ + protected $itunes_author; + + /** + * The value for the itunes_keywords field. + * @var string + */ + protected $itunes_keywords; + + /** + * The value for the itunes_summary field. + * @var string + */ + protected $itunes_summary; + + /** + * The value for the itunes_subtitle field. + * @var string + */ + protected $itunes_subtitle; + + /** + * The value for the itunes_category field. + * @var string + */ + protected $itunes_category; + + /** + * The value for the itunes_explicit field. + * @var string + */ + protected $itunes_explicit; + /** * The value for the auto_ingest field. * Note: this column has a database default value of: false @@ -193,6 +241,94 @@ abstract class BasePodcast extends BaseObject implements Persistent return $this->description; } + /** + * Get the [language] column value. + * + * @return string + */ + public function getDbLanguage() + { + + return $this->language; + } + + /** + * Get the [copyright] column value. + * + * @return string + */ + public function getDbCopyright() + { + + return $this->copyright; + } + + /** + * Get the [itunes_author] column value. + * + * @return string + */ + public function getDbItunesAuthor() + { + + return $this->itunes_author; + } + + /** + * Get the [itunes_keywords] column value. + * + * @return string + */ + public function getDbItunesKeywords() + { + + return $this->itunes_keywords; + } + + /** + * Get the [itunes_summary] column value. + * + * @return string + */ + public function getDbItunesSummary() + { + + return $this->itunes_summary; + } + + /** + * Get the [itunes_subtitle] column value. + * + * @return string + */ + public function getDbItunesSubtitle() + { + + return $this->itunes_subtitle; + } + + /** + * Get the [itunes_category] column value. + * + * @return string + */ + public function getDbItunesCategory() + { + + return $this->itunes_category; + } + + /** + * Get the [itunes_explicit] column value. + * + * @return string + */ + public function getDbItunesExplicit() + { + + return $this->itunes_explicit; + } + /** * Get the [auto_ingest] column value. * @@ -331,6 +467,174 @@ abstract class BasePodcast extends BaseObject implements Persistent return $this; } // setDbDescription() + /** + * Set the value of [language] column. + * + * @param string $v new value + * @return Podcast The current object (for fluent API support) + */ + public function setDbLanguage($v) + { + if ($v !== null && is_numeric($v)) { + $v = (string) $v; + } + + if ($this->language !== $v) { + $this->language = $v; + $this->modifiedColumns[] = PodcastPeer::LANGUAGE; + } + + + return $this; + } // setDbLanguage() + + /** + * Set the value of [copyright] column. + * + * @param string $v new value + * @return Podcast The current object (for fluent API support) + */ + public function setDbCopyright($v) + { + if ($v !== null && is_numeric($v)) { + $v = (string) $v; + } + + if ($this->copyright !== $v) { + $this->copyright = $v; + $this->modifiedColumns[] = PodcastPeer::COPYRIGHT; + } + + + return $this; + } // setDbCopyright() + + /** + * Set the value of [itunes_author] column. + * + * @param string $v new value + * @return Podcast The current object (for fluent API support) + */ + public function setDbItunesAuthor($v) + { + if ($v !== null && is_numeric($v)) { + $v = (string) $v; + } + + if ($this->itunes_author !== $v) { + $this->itunes_author = $v; + $this->modifiedColumns[] = PodcastPeer::ITUNES_AUTHOR; + } + + + return $this; + } // setDbItunesAuthor() + + /** + * Set the value of [itunes_keywords] column. + * + * @param string $v new value + * @return Podcast The current object (for fluent API support) + */ + public function setDbItunesKeywords($v) + { + if ($v !== null && is_numeric($v)) { + $v = (string) $v; + } + + if ($this->itunes_keywords !== $v) { + $this->itunes_keywords = $v; + $this->modifiedColumns[] = PodcastPeer::ITUNES_KEYWORDS; + } + + + return $this; + } // setDbItunesKeywords() + + /** + * Set the value of [itunes_summary] column. + * + * @param string $v new value + * @return Podcast The current object (for fluent API support) + */ + public function setDbItunesSummary($v) + { + if ($v !== null && is_numeric($v)) { + $v = (string) $v; + } + + if ($this->itunes_summary !== $v) { + $this->itunes_summary = $v; + $this->modifiedColumns[] = PodcastPeer::ITUNES_SUMMARY; + } + + + return $this; + } // setDbItunesSummary() + + /** + * Set the value of [itunes_subtitle] column. + * + * @param string $v new value + * @return Podcast The current object (for fluent API support) + */ + public function setDbItunesSubtitle($v) + { + if ($v !== null && is_numeric($v)) { + $v = (string) $v; + } + + if ($this->itunes_subtitle !== $v) { + $this->itunes_subtitle = $v; + $this->modifiedColumns[] = PodcastPeer::ITUNES_SUBTITLE; + } + + + return $this; + } // setDbItunesSubtitle() + + /** + * Set the value of [itunes_category] column. + * + * @param string $v new value + * @return Podcast The current object (for fluent API support) + */ + public function setDbItunesCategory($v) + { + if ($v !== null && is_numeric($v)) { + $v = (string) $v; + } + + if ($this->itunes_category !== $v) { + $this->itunes_category = $v; + $this->modifiedColumns[] = PodcastPeer::ITUNES_CATEGORY; + } + + + return $this; + } // setDbItunesCategory() + + /** + * Set the value of [itunes_explicit] column. + * + * @param string $v new value + * @return Podcast The current object (for fluent API support) + */ + public function setDbItunesExplicit($v) + { + if ($v !== null && is_numeric($v)) { + $v = (string) $v; + } + + if ($this->itunes_explicit !== $v) { + $this->itunes_explicit = $v; + $this->modifiedColumns[] = PodcastPeer::ITUNES_EXPLICIT; + } + + + return $this; + } // setDbItunesExplicit() + /** * Sets the value of the [auto_ingest] column. * Non-boolean arguments are converted using the following rules: @@ -451,9 +755,17 @@ abstract class BasePodcast extends BaseObject implements Persistent $this->title = ($row[$startcol + 2] !== null) ? (string) $row[$startcol + 2] : null; $this->creator = ($row[$startcol + 3] !== null) ? (string) $row[$startcol + 3] : null; $this->description = ($row[$startcol + 4] !== null) ? (string) $row[$startcol + 4] : null; - $this->auto_ingest = ($row[$startcol + 5] !== null) ? (boolean) $row[$startcol + 5] : null; - $this->owner = ($row[$startcol + 6] !== null) ? (int) $row[$startcol + 6] : null; - $this->type = ($row[$startcol + 7] !== null) ? (int) $row[$startcol + 7] : null; + $this->language = ($row[$startcol + 5] !== null) ? (string) $row[$startcol + 5] : null; + $this->copyright = ($row[$startcol + 6] !== null) ? (string) $row[$startcol + 6] : null; + $this->itunes_author = ($row[$startcol + 7] !== null) ? (string) $row[$startcol + 7] : null; + $this->itunes_keywords = ($row[$startcol + 8] !== null) ? (string) $row[$startcol + 8] : null; + $this->itunes_summary = ($row[$startcol + 9] !== null) ? (string) $row[$startcol + 9] : null; + $this->itunes_subtitle = ($row[$startcol + 10] !== null) ? (string) $row[$startcol + 10] : null; + $this->itunes_category = ($row[$startcol + 11] !== null) ? (string) $row[$startcol + 11] : null; + $this->itunes_explicit = ($row[$startcol + 12] !== null) ? (string) $row[$startcol + 12] : null; + $this->auto_ingest = ($row[$startcol + 13] !== null) ? (boolean) $row[$startcol + 13] : null; + $this->owner = ($row[$startcol + 14] !== null) ? (int) $row[$startcol + 14] : null; + $this->type = ($row[$startcol + 15] !== null) ? (int) $row[$startcol + 15] : null; $this->resetModified(); $this->setNew(false); @@ -463,7 +775,7 @@ abstract class BasePodcast extends BaseObject implements Persistent } $this->postHydrate($row, $startcol, $rehydrate); - return $startcol + 8; // 8 = PodcastPeer::NUM_HYDRATE_COLUMNS. + return $startcol + 16; // 16 = PodcastPeer::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating Podcast object", $e); @@ -735,6 +1047,30 @@ abstract class BasePodcast extends BaseObject implements Persistent if ($this->isColumnModified(PodcastPeer::DESCRIPTION)) { $modifiedColumns[':p' . $index++] = '"description"'; } + if ($this->isColumnModified(PodcastPeer::LANGUAGE)) { + $modifiedColumns[':p' . $index++] = '"language"'; + } + if ($this->isColumnModified(PodcastPeer::COPYRIGHT)) { + $modifiedColumns[':p' . $index++] = '"copyright"'; + } + if ($this->isColumnModified(PodcastPeer::ITUNES_AUTHOR)) { + $modifiedColumns[':p' . $index++] = '"itunes_author"'; + } + if ($this->isColumnModified(PodcastPeer::ITUNES_KEYWORDS)) { + $modifiedColumns[':p' . $index++] = '"itunes_keywords"'; + } + if ($this->isColumnModified(PodcastPeer::ITUNES_SUMMARY)) { + $modifiedColumns[':p' . $index++] = '"itunes_summary"'; + } + if ($this->isColumnModified(PodcastPeer::ITUNES_SUBTITLE)) { + $modifiedColumns[':p' . $index++] = '"itunes_subtitle"'; + } + if ($this->isColumnModified(PodcastPeer::ITUNES_CATEGORY)) { + $modifiedColumns[':p' . $index++] = '"itunes_category"'; + } + if ($this->isColumnModified(PodcastPeer::ITUNES_EXPLICIT)) { + $modifiedColumns[':p' . $index++] = '"itunes_explicit"'; + } if ($this->isColumnModified(PodcastPeer::AUTO_INGEST)) { $modifiedColumns[':p' . $index++] = '"auto_ingest"'; } @@ -770,6 +1106,30 @@ abstract class BasePodcast extends BaseObject implements Persistent case '"description"': $stmt->bindValue($identifier, $this->description, PDO::PARAM_STR); break; + case '"language"': + $stmt->bindValue($identifier, $this->language, PDO::PARAM_STR); + break; + case '"copyright"': + $stmt->bindValue($identifier, $this->copyright, PDO::PARAM_STR); + break; + case '"itunes_author"': + $stmt->bindValue($identifier, $this->itunes_author, PDO::PARAM_STR); + break; + case '"itunes_keywords"': + $stmt->bindValue($identifier, $this->itunes_keywords, PDO::PARAM_STR); + break; + case '"itunes_summary"': + $stmt->bindValue($identifier, $this->itunes_summary, PDO::PARAM_STR); + break; + case '"itunes_subtitle"': + $stmt->bindValue($identifier, $this->itunes_subtitle, PDO::PARAM_STR); + break; + case '"itunes_category"': + $stmt->bindValue($identifier, $this->itunes_category, PDO::PARAM_STR); + break; + case '"itunes_explicit"': + $stmt->bindValue($identifier, $this->itunes_explicit, PDO::PARAM_STR); + break; case '"auto_ingest"': $stmt->bindValue($identifier, $this->auto_ingest, PDO::PARAM_BOOL); break; @@ -942,12 +1302,36 @@ abstract class BasePodcast extends BaseObject implements Persistent return $this->getDbDescription(); break; case 5: - return $this->getDbAutoIngest(); + return $this->getDbLanguage(); break; case 6: - return $this->getDbOwner(); + return $this->getDbCopyright(); break; case 7: + return $this->getDbItunesAuthor(); + break; + case 8: + return $this->getDbItunesKeywords(); + break; + case 9: + return $this->getDbItunesSummary(); + break; + case 10: + return $this->getDbItunesSubtitle(); + break; + case 11: + return $this->getDbItunesCategory(); + break; + case 12: + return $this->getDbItunesExplicit(); + break; + case 13: + return $this->getDbAutoIngest(); + break; + case 14: + return $this->getDbOwner(); + break; + case 15: return $this->getDbType(); break; default: @@ -984,9 +1368,17 @@ abstract class BasePodcast extends BaseObject implements Persistent $keys[2] => $this->getDbTitle(), $keys[3] => $this->getDbCreator(), $keys[4] => $this->getDbDescription(), - $keys[5] => $this->getDbAutoIngest(), - $keys[6] => $this->getDbOwner(), - $keys[7] => $this->getDbType(), + $keys[5] => $this->getDbLanguage(), + $keys[6] => $this->getDbCopyright(), + $keys[7] => $this->getDbItunesAuthor(), + $keys[8] => $this->getDbItunesKeywords(), + $keys[9] => $this->getDbItunesSummary(), + $keys[10] => $this->getDbItunesSubtitle(), + $keys[11] => $this->getDbItunesCategory(), + $keys[12] => $this->getDbItunesExplicit(), + $keys[13] => $this->getDbAutoIngest(), + $keys[14] => $this->getDbOwner(), + $keys[15] => $this->getDbType(), ); $virtualColumns = $this->virtualColumns; foreach ($virtualColumns as $key => $virtualColumn) { @@ -1050,12 +1442,36 @@ abstract class BasePodcast extends BaseObject implements Persistent $this->setDbDescription($value); break; case 5: - $this->setDbAutoIngest($value); + $this->setDbLanguage($value); break; case 6: - $this->setDbOwner($value); + $this->setDbCopyright($value); break; case 7: + $this->setDbItunesAuthor($value); + break; + case 8: + $this->setDbItunesKeywords($value); + break; + case 9: + $this->setDbItunesSummary($value); + break; + case 10: + $this->setDbItunesSubtitle($value); + break; + case 11: + $this->setDbItunesCategory($value); + break; + case 12: + $this->setDbItunesExplicit($value); + break; + case 13: + $this->setDbAutoIngest($value); + break; + case 14: + $this->setDbOwner($value); + break; + case 15: $this->setDbType($value); break; } // switch() @@ -1087,9 +1503,17 @@ abstract class BasePodcast extends BaseObject implements Persistent if (array_key_exists($keys[2], $arr)) $this->setDbTitle($arr[$keys[2]]); if (array_key_exists($keys[3], $arr)) $this->setDbCreator($arr[$keys[3]]); if (array_key_exists($keys[4], $arr)) $this->setDbDescription($arr[$keys[4]]); - if (array_key_exists($keys[5], $arr)) $this->setDbAutoIngest($arr[$keys[5]]); - if (array_key_exists($keys[6], $arr)) $this->setDbOwner($arr[$keys[6]]); - if (array_key_exists($keys[7], $arr)) $this->setDbType($arr[$keys[7]]); + if (array_key_exists($keys[5], $arr)) $this->setDbLanguage($arr[$keys[5]]); + if (array_key_exists($keys[6], $arr)) $this->setDbCopyright($arr[$keys[6]]); + if (array_key_exists($keys[7], $arr)) $this->setDbItunesAuthor($arr[$keys[7]]); + if (array_key_exists($keys[8], $arr)) $this->setDbItunesKeywords($arr[$keys[8]]); + if (array_key_exists($keys[9], $arr)) $this->setDbItunesSummary($arr[$keys[9]]); + if (array_key_exists($keys[10], $arr)) $this->setDbItunesSubtitle($arr[$keys[10]]); + if (array_key_exists($keys[11], $arr)) $this->setDbItunesCategory($arr[$keys[11]]); + if (array_key_exists($keys[12], $arr)) $this->setDbItunesExplicit($arr[$keys[12]]); + if (array_key_exists($keys[13], $arr)) $this->setDbAutoIngest($arr[$keys[13]]); + if (array_key_exists($keys[14], $arr)) $this->setDbOwner($arr[$keys[14]]); + if (array_key_exists($keys[15], $arr)) $this->setDbType($arr[$keys[15]]); } /** @@ -1106,6 +1530,14 @@ abstract class BasePodcast extends BaseObject implements Persistent if ($this->isColumnModified(PodcastPeer::TITLE)) $criteria->add(PodcastPeer::TITLE, $this->title); if ($this->isColumnModified(PodcastPeer::CREATOR)) $criteria->add(PodcastPeer::CREATOR, $this->creator); if ($this->isColumnModified(PodcastPeer::DESCRIPTION)) $criteria->add(PodcastPeer::DESCRIPTION, $this->description); + if ($this->isColumnModified(PodcastPeer::LANGUAGE)) $criteria->add(PodcastPeer::LANGUAGE, $this->language); + if ($this->isColumnModified(PodcastPeer::COPYRIGHT)) $criteria->add(PodcastPeer::COPYRIGHT, $this->copyright); + if ($this->isColumnModified(PodcastPeer::ITUNES_AUTHOR)) $criteria->add(PodcastPeer::ITUNES_AUTHOR, $this->itunes_author); + if ($this->isColumnModified(PodcastPeer::ITUNES_KEYWORDS)) $criteria->add(PodcastPeer::ITUNES_KEYWORDS, $this->itunes_keywords); + if ($this->isColumnModified(PodcastPeer::ITUNES_SUMMARY)) $criteria->add(PodcastPeer::ITUNES_SUMMARY, $this->itunes_summary); + if ($this->isColumnModified(PodcastPeer::ITUNES_SUBTITLE)) $criteria->add(PodcastPeer::ITUNES_SUBTITLE, $this->itunes_subtitle); + if ($this->isColumnModified(PodcastPeer::ITUNES_CATEGORY)) $criteria->add(PodcastPeer::ITUNES_CATEGORY, $this->itunes_category); + if ($this->isColumnModified(PodcastPeer::ITUNES_EXPLICIT)) $criteria->add(PodcastPeer::ITUNES_EXPLICIT, $this->itunes_explicit); if ($this->isColumnModified(PodcastPeer::AUTO_INGEST)) $criteria->add(PodcastPeer::AUTO_INGEST, $this->auto_ingest); if ($this->isColumnModified(PodcastPeer::OWNER)) $criteria->add(PodcastPeer::OWNER, $this->owner); if ($this->isColumnModified(PodcastPeer::TYPE)) $criteria->add(PodcastPeer::TYPE, $this->type); @@ -1176,6 +1608,14 @@ abstract class BasePodcast extends BaseObject implements Persistent $copyObj->setDbTitle($this->getDbTitle()); $copyObj->setDbCreator($this->getDbCreator()); $copyObj->setDbDescription($this->getDbDescription()); + $copyObj->setDbLanguage($this->getDbLanguage()); + $copyObj->setDbCopyright($this->getDbCopyright()); + $copyObj->setDbItunesAuthor($this->getDbItunesAuthor()); + $copyObj->setDbItunesKeywords($this->getDbItunesKeywords()); + $copyObj->setDbItunesSummary($this->getDbItunesSummary()); + $copyObj->setDbItunesSubtitle($this->getDbItunesSubtitle()); + $copyObj->setDbItunesCategory($this->getDbItunesCategory()); + $copyObj->setDbItunesExplicit($this->getDbItunesExplicit()); $copyObj->setDbAutoIngest($this->getDbAutoIngest()); $copyObj->setDbOwner($this->getDbOwner()); $copyObj->setDbType($this->getDbType()); @@ -1571,6 +2011,14 @@ abstract class BasePodcast extends BaseObject implements Persistent $this->title = null; $this->creator = null; $this->description = null; + $this->language = null; + $this->copyright = null; + $this->itunes_author = null; + $this->itunes_keywords = null; + $this->itunes_summary = null; + $this->itunes_subtitle = null; + $this->itunes_category = null; + $this->itunes_explicit = null; $this->auto_ingest = null; $this->owner = null; $this->type = null; diff --git a/airtime_mvc/application/models/airtime/om/BasePodcastPeer.php b/airtime_mvc/application/models/airtime/om/BasePodcastPeer.php index 25c910177..6782ea04b 100644 --- a/airtime_mvc/application/models/airtime/om/BasePodcastPeer.php +++ b/airtime_mvc/application/models/airtime/om/BasePodcastPeer.php @@ -24,13 +24,13 @@ abstract class BasePodcastPeer const TM_CLASS = 'PodcastTableMap'; /** The total number of columns. */ - const NUM_COLUMNS = 8; + const NUM_COLUMNS = 16; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; /** The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 8; + const NUM_HYDRATE_COLUMNS = 16; /** the column name for the id field */ const ID = 'podcast.id'; @@ -47,6 +47,30 @@ abstract class BasePodcastPeer /** the column name for the description field */ const DESCRIPTION = 'podcast.description'; + /** the column name for the language field */ + const LANGUAGE = 'podcast.language'; + + /** the column name for the copyright field */ + const COPYRIGHT = 'podcast.copyright'; + + /** the column name for the itunes_author field */ + const ITUNES_AUTHOR = 'podcast.itunes_author'; + + /** the column name for the itunes_keywords field */ + const ITUNES_KEYWORDS = 'podcast.itunes_keywords'; + + /** the column name for the itunes_summary field */ + const ITUNES_SUMMARY = 'podcast.itunes_summary'; + + /** the column name for the itunes_subtitle field */ + const ITUNES_SUBTITLE = 'podcast.itunes_subtitle'; + + /** the column name for the itunes_category field */ + const ITUNES_CATEGORY = 'podcast.itunes_category'; + + /** the column name for the itunes_explicit field */ + const ITUNES_EXPLICIT = 'podcast.itunes_explicit'; + /** the column name for the auto_ingest field */ const AUTO_INGEST = 'podcast.auto_ingest'; @@ -75,12 +99,12 @@ abstract class BasePodcastPeer * e.g. PodcastPeer::$fieldNames[PodcastPeer::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('DbId', 'DbUrl', 'DbTitle', 'DbCreator', 'DbDescription', 'DbAutoIngest', 'DbOwner', 'DbType', ), - BasePeer::TYPE_STUDLYPHPNAME => array ('dbId', 'dbUrl', 'dbTitle', 'dbCreator', 'dbDescription', 'dbAutoIngest', 'dbOwner', 'dbType', ), - BasePeer::TYPE_COLNAME => array (PodcastPeer::ID, PodcastPeer::URL, PodcastPeer::TITLE, PodcastPeer::CREATOR, PodcastPeer::DESCRIPTION, PodcastPeer::AUTO_INGEST, PodcastPeer::OWNER, PodcastPeer::TYPE, ), - BasePeer::TYPE_RAW_COLNAME => array ('ID', 'URL', 'TITLE', 'CREATOR', 'DESCRIPTION', 'AUTO_INGEST', 'OWNER', 'TYPE', ), - BasePeer::TYPE_FIELDNAME => array ('id', 'url', 'title', 'creator', 'description', 'auto_ingest', 'owner', 'type', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, ) + BasePeer::TYPE_PHPNAME => array ('DbId', 'DbUrl', 'DbTitle', 'DbCreator', 'DbDescription', 'DbLanguage', 'DbCopyright', 'DbItunesAuthor', 'DbItunesKeywords', 'DbItunesSummary', 'DbItunesSubtitle', 'DbItunesCategory', 'DbItunesExplicit', 'DbAutoIngest', 'DbOwner', 'DbType', ), + BasePeer::TYPE_STUDLYPHPNAME => array ('dbId', 'dbUrl', 'dbTitle', 'dbCreator', 'dbDescription', 'dbLanguage', 'dbCopyright', 'dbItunesAuthor', 'dbItunesKeywords', 'dbItunesSummary', 'dbItunesSubtitle', 'dbItunesCategory', 'dbItunesExplicit', 'dbAutoIngest', 'dbOwner', 'dbType', ), + BasePeer::TYPE_COLNAME => array (PodcastPeer::ID, PodcastPeer::URL, PodcastPeer::TITLE, PodcastPeer::CREATOR, PodcastPeer::DESCRIPTION, PodcastPeer::LANGUAGE, PodcastPeer::COPYRIGHT, PodcastPeer::ITUNES_AUTHOR, PodcastPeer::ITUNES_KEYWORDS, PodcastPeer::ITUNES_SUMMARY, PodcastPeer::ITUNES_SUBTITLE, PodcastPeer::ITUNES_CATEGORY, PodcastPeer::ITUNES_EXPLICIT, PodcastPeer::AUTO_INGEST, PodcastPeer::OWNER, PodcastPeer::TYPE, ), + BasePeer::TYPE_RAW_COLNAME => array ('ID', 'URL', 'TITLE', 'CREATOR', 'DESCRIPTION', 'LANGUAGE', 'COPYRIGHT', 'ITUNES_AUTHOR', 'ITUNES_KEYWORDS', 'ITUNES_SUMMARY', 'ITUNES_SUBTITLE', 'ITUNES_CATEGORY', 'ITUNES_EXPLICIT', 'AUTO_INGEST', 'OWNER', 'TYPE', ), + BasePeer::TYPE_FIELDNAME => array ('id', 'url', 'title', 'creator', 'description', 'language', 'copyright', 'itunes_author', 'itunes_keywords', 'itunes_summary', 'itunes_subtitle', 'itunes_category', 'itunes_explicit', 'auto_ingest', 'owner', 'type', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ) ); /** @@ -90,12 +114,12 @@ abstract class BasePodcastPeer * e.g. PodcastPeer::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('DbId' => 0, 'DbUrl' => 1, 'DbTitle' => 2, 'DbCreator' => 3, 'DbDescription' => 4, 'DbAutoIngest' => 5, 'DbOwner' => 6, 'DbType' => 7, ), - BasePeer::TYPE_STUDLYPHPNAME => array ('dbId' => 0, 'dbUrl' => 1, 'dbTitle' => 2, 'dbCreator' => 3, 'dbDescription' => 4, 'dbAutoIngest' => 5, 'dbOwner' => 6, 'dbType' => 7, ), - BasePeer::TYPE_COLNAME => array (PodcastPeer::ID => 0, PodcastPeer::URL => 1, PodcastPeer::TITLE => 2, PodcastPeer::CREATOR => 3, PodcastPeer::DESCRIPTION => 4, PodcastPeer::AUTO_INGEST => 5, PodcastPeer::OWNER => 6, PodcastPeer::TYPE => 7, ), - BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'URL' => 1, 'TITLE' => 2, 'CREATOR' => 3, 'DESCRIPTION' => 4, 'AUTO_INGEST' => 5, 'OWNER' => 6, 'TYPE' => 7, ), - BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'url' => 1, 'title' => 2, 'creator' => 3, 'description' => 4, 'auto_ingest' => 5, 'owner' => 6, 'type' => 7, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, ) + BasePeer::TYPE_PHPNAME => array ('DbId' => 0, 'DbUrl' => 1, 'DbTitle' => 2, 'DbCreator' => 3, 'DbDescription' => 4, 'DbLanguage' => 5, 'DbCopyright' => 6, 'DbItunesAuthor' => 7, 'DbItunesKeywords' => 8, 'DbItunesSummary' => 9, 'DbItunesSubtitle' => 10, 'DbItunesCategory' => 11, 'DbItunesExplicit' => 12, 'DbAutoIngest' => 13, 'DbOwner' => 14, 'DbType' => 15, ), + BasePeer::TYPE_STUDLYPHPNAME => array ('dbId' => 0, 'dbUrl' => 1, 'dbTitle' => 2, 'dbCreator' => 3, 'dbDescription' => 4, 'dbLanguage' => 5, 'dbCopyright' => 6, 'dbItunesAuthor' => 7, 'dbItunesKeywords' => 8, 'dbItunesSummary' => 9, 'dbItunesSubtitle' => 10, 'dbItunesCategory' => 11, 'dbItunesExplicit' => 12, 'dbAutoIngest' => 13, 'dbOwner' => 14, 'dbType' => 15, ), + BasePeer::TYPE_COLNAME => array (PodcastPeer::ID => 0, PodcastPeer::URL => 1, PodcastPeer::TITLE => 2, PodcastPeer::CREATOR => 3, PodcastPeer::DESCRIPTION => 4, PodcastPeer::LANGUAGE => 5, PodcastPeer::COPYRIGHT => 6, PodcastPeer::ITUNES_AUTHOR => 7, PodcastPeer::ITUNES_KEYWORDS => 8, PodcastPeer::ITUNES_SUMMARY => 9, PodcastPeer::ITUNES_SUBTITLE => 10, PodcastPeer::ITUNES_CATEGORY => 11, PodcastPeer::ITUNES_EXPLICIT => 12, PodcastPeer::AUTO_INGEST => 13, PodcastPeer::OWNER => 14, PodcastPeer::TYPE => 15, ), + BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'URL' => 1, 'TITLE' => 2, 'CREATOR' => 3, 'DESCRIPTION' => 4, 'LANGUAGE' => 5, 'COPYRIGHT' => 6, 'ITUNES_AUTHOR' => 7, 'ITUNES_KEYWORDS' => 8, 'ITUNES_SUMMARY' => 9, 'ITUNES_SUBTITLE' => 10, 'ITUNES_CATEGORY' => 11, 'ITUNES_EXPLICIT' => 12, 'AUTO_INGEST' => 13, 'OWNER' => 14, 'TYPE' => 15, ), + BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'url' => 1, 'title' => 2, 'creator' => 3, 'description' => 4, 'language' => 5, 'copyright' => 6, 'itunes_author' => 7, 'itunes_keywords' => 8, 'itunes_summary' => 9, 'itunes_subtitle' => 10, 'itunes_category' => 11, 'itunes_explicit' => 12, 'auto_ingest' => 13, 'owner' => 14, 'type' => 15, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ) ); /** @@ -174,6 +198,14 @@ abstract class BasePodcastPeer $criteria->addSelectColumn(PodcastPeer::TITLE); $criteria->addSelectColumn(PodcastPeer::CREATOR); $criteria->addSelectColumn(PodcastPeer::DESCRIPTION); + $criteria->addSelectColumn(PodcastPeer::LANGUAGE); + $criteria->addSelectColumn(PodcastPeer::COPYRIGHT); + $criteria->addSelectColumn(PodcastPeer::ITUNES_AUTHOR); + $criteria->addSelectColumn(PodcastPeer::ITUNES_KEYWORDS); + $criteria->addSelectColumn(PodcastPeer::ITUNES_SUMMARY); + $criteria->addSelectColumn(PodcastPeer::ITUNES_SUBTITLE); + $criteria->addSelectColumn(PodcastPeer::ITUNES_CATEGORY); + $criteria->addSelectColumn(PodcastPeer::ITUNES_EXPLICIT); $criteria->addSelectColumn(PodcastPeer::AUTO_INGEST); $criteria->addSelectColumn(PodcastPeer::OWNER); $criteria->addSelectColumn(PodcastPeer::TYPE); @@ -183,6 +215,14 @@ abstract class BasePodcastPeer $criteria->addSelectColumn($alias . '.title'); $criteria->addSelectColumn($alias . '.creator'); $criteria->addSelectColumn($alias . '.description'); + $criteria->addSelectColumn($alias . '.language'); + $criteria->addSelectColumn($alias . '.copyright'); + $criteria->addSelectColumn($alias . '.itunes_author'); + $criteria->addSelectColumn($alias . '.itunes_keywords'); + $criteria->addSelectColumn($alias . '.itunes_summary'); + $criteria->addSelectColumn($alias . '.itunes_subtitle'); + $criteria->addSelectColumn($alias . '.itunes_category'); + $criteria->addSelectColumn($alias . '.itunes_explicit'); $criteria->addSelectColumn($alias . '.auto_ingest'); $criteria->addSelectColumn($alias . '.owner'); $criteria->addSelectColumn($alias . '.type'); diff --git a/airtime_mvc/application/models/airtime/om/BasePodcastQuery.php b/airtime_mvc/application/models/airtime/om/BasePodcastQuery.php index 92453e360..e943e58d8 100644 --- a/airtime_mvc/application/models/airtime/om/BasePodcastQuery.php +++ b/airtime_mvc/application/models/airtime/om/BasePodcastQuery.php @@ -11,6 +11,14 @@ * @method PodcastQuery orderByDbTitle($order = Criteria::ASC) Order by the title column * @method PodcastQuery orderByDbCreator($order = Criteria::ASC) Order by the creator column * @method PodcastQuery orderByDbDescription($order = Criteria::ASC) Order by the description column + * @method PodcastQuery orderByDbLanguage($order = Criteria::ASC) Order by the language column + * @method PodcastQuery orderByDbCopyright($order = Criteria::ASC) Order by the copyright column + * @method PodcastQuery orderByDbItunesAuthor($order = Criteria::ASC) Order by the itunes_author column + * @method PodcastQuery orderByDbItunesKeywords($order = Criteria::ASC) Order by the itunes_keywords column + * @method PodcastQuery orderByDbItunesSummary($order = Criteria::ASC) Order by the itunes_summary column + * @method PodcastQuery orderByDbItunesSubtitle($order = Criteria::ASC) Order by the itunes_subtitle column + * @method PodcastQuery orderByDbItunesCategory($order = Criteria::ASC) Order by the itunes_category column + * @method PodcastQuery orderByDbItunesExplicit($order = Criteria::ASC) Order by the itunes_explicit column * @method PodcastQuery orderByDbAutoIngest($order = Criteria::ASC) Order by the auto_ingest column * @method PodcastQuery orderByDbOwner($order = Criteria::ASC) Order by the owner column * @method PodcastQuery orderByDbType($order = Criteria::ASC) Order by the type column @@ -20,6 +28,14 @@ * @method PodcastQuery groupByDbTitle() Group by the title column * @method PodcastQuery groupByDbCreator() Group by the creator column * @method PodcastQuery groupByDbDescription() Group by the description column + * @method PodcastQuery groupByDbLanguage() Group by the language column + * @method PodcastQuery groupByDbCopyright() Group by the copyright column + * @method PodcastQuery groupByDbItunesAuthor() Group by the itunes_author column + * @method PodcastQuery groupByDbItunesKeywords() Group by the itunes_keywords column + * @method PodcastQuery groupByDbItunesSummary() Group by the itunes_summary column + * @method PodcastQuery groupByDbItunesSubtitle() Group by the itunes_subtitle column + * @method PodcastQuery groupByDbItunesCategory() Group by the itunes_category column + * @method PodcastQuery groupByDbItunesExplicit() Group by the itunes_explicit column * @method PodcastQuery groupByDbAutoIngest() Group by the auto_ingest column * @method PodcastQuery groupByDbOwner() Group by the owner column * @method PodcastQuery groupByDbType() Group by the type column @@ -43,6 +59,14 @@ * @method Podcast findOneByDbTitle(string $title) Return the first Podcast filtered by the title column * @method Podcast findOneByDbCreator(string $creator) Return the first Podcast filtered by the creator column * @method Podcast findOneByDbDescription(string $description) Return the first Podcast filtered by the description column + * @method Podcast findOneByDbLanguage(string $language) Return the first Podcast filtered by the language column + * @method Podcast findOneByDbCopyright(string $copyright) Return the first Podcast filtered by the copyright column + * @method Podcast findOneByDbItunesAuthor(string $itunes_author) Return the first Podcast filtered by the itunes_author column + * @method Podcast findOneByDbItunesKeywords(string $itunes_keywords) Return the first Podcast filtered by the itunes_keywords column + * @method Podcast findOneByDbItunesSummary(string $itunes_summary) Return the first Podcast filtered by the itunes_summary column + * @method Podcast findOneByDbItunesSubtitle(string $itunes_subtitle) Return the first Podcast filtered by the itunes_subtitle column + * @method Podcast findOneByDbItunesCategory(string $itunes_category) Return the first Podcast filtered by the itunes_category column + * @method Podcast findOneByDbItunesExplicit(string $itunes_explicit) Return the first Podcast filtered by the itunes_explicit column * @method Podcast findOneByDbAutoIngest(boolean $auto_ingest) Return the first Podcast filtered by the auto_ingest column * @method Podcast findOneByDbOwner(int $owner) Return the first Podcast filtered by the owner column * @method Podcast findOneByDbType(int $type) Return the first Podcast filtered by the type column @@ -52,6 +76,14 @@ * @method array findByDbTitle(string $title) Return Podcast objects filtered by the title column * @method array findByDbCreator(string $creator) Return Podcast objects filtered by the creator column * @method array findByDbDescription(string $description) Return Podcast objects filtered by the description column + * @method array findByDbLanguage(string $language) Return Podcast objects filtered by the language column + * @method array findByDbCopyright(string $copyright) Return Podcast objects filtered by the copyright column + * @method array findByDbItunesAuthor(string $itunes_author) Return Podcast objects filtered by the itunes_author column + * @method array findByDbItunesKeywords(string $itunes_keywords) Return Podcast objects filtered by the itunes_keywords column + * @method array findByDbItunesSummary(string $itunes_summary) Return Podcast objects filtered by the itunes_summary column + * @method array findByDbItunesSubtitle(string $itunes_subtitle) Return Podcast objects filtered by the itunes_subtitle column + * @method array findByDbItunesCategory(string $itunes_category) Return Podcast objects filtered by the itunes_category column + * @method array findByDbItunesExplicit(string $itunes_explicit) Return Podcast objects filtered by the itunes_explicit column * @method array findByDbAutoIngest(boolean $auto_ingest) Return Podcast objects filtered by the auto_ingest column * @method array findByDbOwner(int $owner) Return Podcast objects filtered by the owner column * @method array findByDbType(int $type) Return Podcast objects filtered by the type column @@ -162,7 +194,7 @@ abstract class BasePodcastQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT "id", "url", "title", "creator", "description", "auto_ingest", "owner", "type" FROM "podcast" WHERE "id" = :p0'; + $sql = 'SELECT "id", "url", "title", "creator", "description", "language", "copyright", "itunes_author", "itunes_keywords", "itunes_summary", "itunes_subtitle", "itunes_category", "itunes_explicit", "auto_ingest", "owner", "type" FROM "podcast" WHERE "id" = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -409,6 +441,238 @@ abstract class BasePodcastQuery extends ModelCriteria return $this->addUsingAlias(PodcastPeer::DESCRIPTION, $dbDescription, $comparison); } + /** + * Filter the query on the language column + * + * Example usage: + * + * $query->filterByDbLanguage('fooValue'); // WHERE language = 'fooValue' + * $query->filterByDbLanguage('%fooValue%'); // WHERE language LIKE '%fooValue%' + * + * + * @param string $dbLanguage The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return PodcastQuery The current query, for fluid interface + */ + public function filterByDbLanguage($dbLanguage = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbLanguage)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbLanguage)) { + $dbLanguage = str_replace('*', '%', $dbLanguage); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(PodcastPeer::LANGUAGE, $dbLanguage, $comparison); + } + + /** + * Filter the query on the copyright column + * + * Example usage: + * + * $query->filterByDbCopyright('fooValue'); // WHERE copyright = 'fooValue' + * $query->filterByDbCopyright('%fooValue%'); // WHERE copyright LIKE '%fooValue%' + * + * + * @param string $dbCopyright The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return PodcastQuery The current query, for fluid interface + */ + public function filterByDbCopyright($dbCopyright = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbCopyright)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbCopyright)) { + $dbCopyright = str_replace('*', '%', $dbCopyright); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(PodcastPeer::COPYRIGHT, $dbCopyright, $comparison); + } + + /** + * Filter the query on the itunes_author column + * + * Example usage: + * + * $query->filterByDbItunesAuthor('fooValue'); // WHERE itunes_author = 'fooValue' + * $query->filterByDbItunesAuthor('%fooValue%'); // WHERE itunes_author LIKE '%fooValue%' + * + * + * @param string $dbItunesAuthor The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return PodcastQuery The current query, for fluid interface + */ + public function filterByDbItunesAuthor($dbItunesAuthor = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbItunesAuthor)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbItunesAuthor)) { + $dbItunesAuthor = str_replace('*', '%', $dbItunesAuthor); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(PodcastPeer::ITUNES_AUTHOR, $dbItunesAuthor, $comparison); + } + + /** + * Filter the query on the itunes_keywords column + * + * Example usage: + * + * $query->filterByDbItunesKeywords('fooValue'); // WHERE itunes_keywords = 'fooValue' + * $query->filterByDbItunesKeywords('%fooValue%'); // WHERE itunes_keywords LIKE '%fooValue%' + * + * + * @param string $dbItunesKeywords The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return PodcastQuery The current query, for fluid interface + */ + public function filterByDbItunesKeywords($dbItunesKeywords = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbItunesKeywords)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbItunesKeywords)) { + $dbItunesKeywords = str_replace('*', '%', $dbItunesKeywords); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(PodcastPeer::ITUNES_KEYWORDS, $dbItunesKeywords, $comparison); + } + + /** + * Filter the query on the itunes_summary column + * + * Example usage: + * + * $query->filterByDbItunesSummary('fooValue'); // WHERE itunes_summary = 'fooValue' + * $query->filterByDbItunesSummary('%fooValue%'); // WHERE itunes_summary LIKE '%fooValue%' + * + * + * @param string $dbItunesSummary The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return PodcastQuery The current query, for fluid interface + */ + public function filterByDbItunesSummary($dbItunesSummary = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbItunesSummary)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbItunesSummary)) { + $dbItunesSummary = str_replace('*', '%', $dbItunesSummary); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(PodcastPeer::ITUNES_SUMMARY, $dbItunesSummary, $comparison); + } + + /** + * Filter the query on the itunes_subtitle column + * + * Example usage: + * + * $query->filterByDbItunesSubtitle('fooValue'); // WHERE itunes_subtitle = 'fooValue' + * $query->filterByDbItunesSubtitle('%fooValue%'); // WHERE itunes_subtitle LIKE '%fooValue%' + * + * + * @param string $dbItunesSubtitle The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return PodcastQuery The current query, for fluid interface + */ + public function filterByDbItunesSubtitle($dbItunesSubtitle = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbItunesSubtitle)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbItunesSubtitle)) { + $dbItunesSubtitle = str_replace('*', '%', $dbItunesSubtitle); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(PodcastPeer::ITUNES_SUBTITLE, $dbItunesSubtitle, $comparison); + } + + /** + * Filter the query on the itunes_category column + * + * Example usage: + * + * $query->filterByDbItunesCategory('fooValue'); // WHERE itunes_category = 'fooValue' + * $query->filterByDbItunesCategory('%fooValue%'); // WHERE itunes_category LIKE '%fooValue%' + * + * + * @param string $dbItunesCategory The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return PodcastQuery The current query, for fluid interface + */ + public function filterByDbItunesCategory($dbItunesCategory = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbItunesCategory)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbItunesCategory)) { + $dbItunesCategory = str_replace('*', '%', $dbItunesCategory); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(PodcastPeer::ITUNES_CATEGORY, $dbItunesCategory, $comparison); + } + + /** + * Filter the query on the itunes_explicit column + * + * Example usage: + * + * $query->filterByDbItunesExplicit('fooValue'); // WHERE itunes_explicit = 'fooValue' + * $query->filterByDbItunesExplicit('%fooValue%'); // WHERE itunes_explicit LIKE '%fooValue%' + * + * + * @param string $dbItunesExplicit The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return PodcastQuery The current query, for fluid interface + */ + public function filterByDbItunesExplicit($dbItunesExplicit = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbItunesExplicit)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbItunesExplicit)) { + $dbItunesExplicit = str_replace('*', '%', $dbItunesExplicit); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(PodcastPeer::ITUNES_EXPLICIT, $dbItunesExplicit, $comparison); + } + /** * Filter the query on the auto_ingest column * diff --git a/airtime_mvc/build/schema.xml b/airtime_mvc/build/schema.xml index c0e701c9e..8bc4d3cab 100644 --- a/airtime_mvc/build/schema.xml +++ b/airtime_mvc/build/schema.xml @@ -569,6 +569,14 @@ + + + + + + + + diff --git a/airtime_mvc/build/sql/schema.sql b/airtime_mvc/build/sql/schema.sql index 64f0a2d4d..058c960d2 100644 --- a/airtime_mvc/build/sql/schema.sql +++ b/airtime_mvc/build/sql/schema.sql @@ -720,6 +720,14 @@ CREATE TABLE "podcast" "title" VARCHAR(4096) NOT NULL, "creator" VARCHAR(4096), "description" VARCHAR(4096), + "language" VARCHAR(4096), + "copyright" VARCHAR(4096), + "itunes_author" VARCHAR(4096), + "itunes_keywords" VARCHAR(4096), + "itunes_summary" VARCHAR(4096), + "itunes_subtitle" VARCHAR(4096), + "itunes_category" VARCHAR(4096), + "itunes_explicit" VARCHAR(4096), "auto_ingest" BOOLEAN DEFAULT 'f' NOT NULL, "owner" INTEGER, "type" INTEGER DEFAULT 1 NOT NULL,