mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-29 15:09:35 +02:00
2020-05-20 Fred Gleason <fredg@paravelsystems.com>
* Added 'FEEDS.CHANNEL_AUTHOR', 'FEEDS.CHANNEL_OWNER_NAME', 'FEEDS.CHANNEL_OWNER_EMAIL', 'FEEDS.CHANNEL_EXPLICIT' and 'PODCASTS.ITEM_EXPLICIT' fields to the database. * Incremented the database version to 326. * Added 'RDFeed::channelAuthor()', 'RDFeed::setChannelAuthor()', 'RDFeed::channelOwnerName()', 'RDFeed::setChannelOwnerName()', 'RDFeed::channelOwnerEmail(), 'RDFeed::setChannelOwnerEmail()', 'RDFeed::channelExplicit()', 'RDFeed::setChannelExplicit()', 'RDPodcast::itemExplicit()' and 'RDPodcast::setItemExplicit()' methods. * Added 'Author', Owner Name' and 'Owner E-Mail controls to the 'Edit Feed' dialog box in rdadmin(1). * Added a 'Channel contains explicit content' checkbox to the 'Edit Feed' dialog box in rdadmin(1). Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
e5c465fb57
commit
b326c2d24f
15
ChangeLog
15
ChangeLog
@ -19946,3 +19946,18 @@
|
||||
* Added 'RDRssSchemas' class.
|
||||
2020-05-18 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added code to remove remote imaging when deleting an RSS feed.
|
||||
2020-05-20 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added 'FEEDS.CHANNEL_AUTHOR', 'FEEDS.CHANNEL_OWNER_NAME',
|
||||
'FEEDS.CHANNEL_OWNER_EMAIL', 'FEEDS.CHANNEL_EXPLICIT' and
|
||||
'PODCASTS.ITEM_EXPLICIT' fields to the database.
|
||||
* Incremented the database version to 326.
|
||||
* Added 'RDFeed::channelAuthor()', 'RDFeed::setChannelAuthor()',
|
||||
'RDFeed::channelOwnerName()', 'RDFeed::setChannelOwnerName()',
|
||||
'RDFeed::channelOwnerEmail(), 'RDFeed::setChannelOwnerEmail()',
|
||||
'RDFeed::channelExplicit()', 'RDFeed::setChannelExplicit()',
|
||||
'RDPodcast::itemExplicit()' and 'RDPodcast::setItemExplicit()'
|
||||
methods.
|
||||
* Added 'Author', Owner Name' and 'Owner E-Mail controls to the
|
||||
'Edit Feed' dialog box in rdadmin(1).
|
||||
* Added a 'Channel contains explicit content' checkbox to the
|
||||
'Edit Feed' dialog box in rdadmin(1).
|
||||
|
@ -4,18 +4,22 @@ The FEEDS table holds data concerning which defines RSS feeds.
|
||||
|
||||
FIELD NAME TYPE REMARKS
|
||||
---------------------------------------------------------------
|
||||
ID int(10) unsigned Primary key, auto increment
|
||||
KEY_NAME varchar(8) Unique
|
||||
IS_SUPERFEED enum('N','Y')
|
||||
AUDIENCE_METRICS enum('N','Y')
|
||||
CHANNEL_TITLE varchar(191)
|
||||
CHANNEL_DESCRIPTION text
|
||||
CHANNEL_CATEGORY varchar(64)
|
||||
ID int(10) unsigned Primary key, auto increment
|
||||
KEY_NAME varchar(8) Unique
|
||||
IS_SUPERFEED enum('N','Y')
|
||||
AUDIENCE_METRICS enum('N','Y')
|
||||
CHANNEL_TITLE varchar(191)
|
||||
CHANNEL_DESCRIPTION text
|
||||
CHANNEL_CATEGORY varchar(64)
|
||||
CHANNEL_LINK varchar(191)
|
||||
CHANNEL_COPYRIGHT varchar(64)
|
||||
CHANNEL_EDITOR varchar(64)
|
||||
CHANNEL_AUTHOR varchar(64)
|
||||
CHANNEL_OWNER_NAME varchar(64)
|
||||
CHANNEL_OWNER_EMAIL varchar(64)
|
||||
CHANNEL_WEBMASTER varchar(64)
|
||||
CHANNEL_LANGUAGE varchar(5)
|
||||
CHANNEL_EXPLICIT enum('N','Y')
|
||||
CHANNEL_IMAGE_ID int(11) From FEED_IMAGES.ID
|
||||
BASE_URL varchar(191)
|
||||
BASE_PREAMBLE varchar(191)
|
||||
|
@ -15,6 +15,7 @@ ITEM_COMMENTS varchar(191)
|
||||
ITEM_AUTHOR varchar(191)
|
||||
ITEM_SOURCE_TEXT varchar(64)
|
||||
ITEM_SOURCE_URL varchar(191)
|
||||
ITEM_EXPLICIT enum('N','Y')
|
||||
ITEM_IMAGE_ID int(11) From FEED_IMAGES.ID
|
||||
AUDIO_FILENAME varchar(191)
|
||||
AUDIO_LENGTH int(10) unsigned
|
||||
|
@ -24,7 +24,7 @@
|
||||
/*
|
||||
* Current Database Version
|
||||
*/
|
||||
#define RD_VERSION_DATABASE 325
|
||||
#define RD_VERSION_DATABASE 326
|
||||
|
||||
|
||||
#endif // DBVERSION_H
|
||||
|
197
lib/rdfeed.cpp
197
lib/rdfeed.cpp
@ -279,6 +279,45 @@ void RDFeed::setChannelEditor(const QString &str) const
|
||||
}
|
||||
|
||||
|
||||
QString RDFeed::channelAuthor() const
|
||||
{
|
||||
return RDGetSqlValue("FEEDS","KEY_NAME",feed_keyname,"CHANNEL_AUTHOR").
|
||||
toString();
|
||||
}
|
||||
|
||||
|
||||
void RDFeed::setChannelAuthor(const QString &str) const
|
||||
{
|
||||
SetRow("CHANNEL_AUTHOR",str);
|
||||
}
|
||||
|
||||
|
||||
QString RDFeed::channelOwnerName() const
|
||||
{
|
||||
return RDGetSqlValue("FEEDS","KEY_NAME",feed_keyname,"CHANNEL_OWNER_NAME").
|
||||
toString();
|
||||
}
|
||||
|
||||
|
||||
void RDFeed::setChannelOwnerName(const QString &str) const
|
||||
{
|
||||
SetRow("CHANNEL_OWNER_NAME",str);
|
||||
}
|
||||
|
||||
|
||||
QString RDFeed::channelOwnerEmail() const
|
||||
{
|
||||
return RDGetSqlValue("FEEDS","KEY_NAME",feed_keyname,"CHANNEL_OWNER_EMAIL").
|
||||
toString();
|
||||
}
|
||||
|
||||
|
||||
void RDFeed::setChannelOwnerEmail(const QString &str) const
|
||||
{
|
||||
SetRow("CHANNEL_OWNER_EMAIL",str);
|
||||
}
|
||||
|
||||
|
||||
QString RDFeed::channelLanguage() const
|
||||
{
|
||||
return RDGetSqlValue("FEEDS","KEY_NAME",feed_keyname,"CHANNEL_LANGUAGE").
|
||||
@ -292,6 +331,19 @@ void RDFeed::setChannelLanguage(const QString &str)
|
||||
}
|
||||
|
||||
|
||||
bool RDFeed::channelExplicit() const
|
||||
{
|
||||
return RDBool(RDGetSqlValue("FEEDS","KEY_NAME",feed_keyname,
|
||||
"CHANNEL_EXPLICIT").toString());
|
||||
}
|
||||
|
||||
|
||||
void RDFeed::setChannelExplicit(bool state) const
|
||||
{
|
||||
SetRow("CHANNEL_EXPLICIT",RDYesNo(state));
|
||||
}
|
||||
|
||||
|
||||
int RDFeed::channelImageId() const
|
||||
{
|
||||
return RDGetSqlValue("FEEDS","KEY_NAME",feed_keyname,"CHANNEL_IMAGE_ID").
|
||||
@ -1192,26 +1244,30 @@ QString RDFeed::rssXml(QString *err_msg,bool *ok)
|
||||
"FEEDS.CHANNEL_LINK,"+ // 03
|
||||
"FEEDS.CHANNEL_COPYRIGHT,"+ // 04
|
||||
"FEEDS.CHANNEL_EDITOR,"+ // 05
|
||||
"FEEDS.CHANNEL_WEBMASTER,"+ // 06
|
||||
"FEEDS.CHANNEL_LANGUAGE,"+ // 07
|
||||
"FEEDS.LAST_BUILD_DATETIME,"+ // 08
|
||||
"FEEDS.ORIGIN_DATETIME,"+ // 09
|
||||
"FEEDS.HEADER_XML,"+ // 10
|
||||
"FEEDS.CHANNEL_XML,"+ // 11
|
||||
"FEEDS.ITEM_XML,"+ // 12
|
||||
"FEEDS.BASE_URL,"+ // 13
|
||||
"FEEDS.ID,"+ // 14
|
||||
"FEEDS.UPLOAD_EXTENSION,"+ // 15
|
||||
"FEEDS.CAST_ORDER,"+ // 16
|
||||
"FEEDS.REDIRECT_PATH,"+ // 17
|
||||
"FEEDS.BASE_PREAMBLE,"+ // 18
|
||||
"FEEDS.AUDIENCE_METRICS,"+ // 19
|
||||
"FEEDS.IS_SUPERFEED,"+ // 20
|
||||
"FEED_IMAGES.ID,"+ // 21
|
||||
"FEED_IMAGES.WIDTH,"+ // 22
|
||||
"FEED_IMAGES.HEIGHT,"+ // 23
|
||||
"FEED_IMAGES.DESCRIPTION,"+ // 24
|
||||
"FEED_IMAGES.FILE_EXTENSION "+ // 25
|
||||
"FEEDS.CHANNEL_AUTHOR,"+ // 06
|
||||
"FEEDS.CHANNEL_OWNER_NAME,"+ // 07
|
||||
"FEEDS.CHANNEL_OWNER_EMAIL,"+ // 08
|
||||
"FEEDS.CHANNEL_WEBMASTER,"+ // 09
|
||||
"FEEDS.CHANNEL_LANGUAGE,"+ // 10
|
||||
"FEEDS.CHANNEL_EXPLICIT,"+ // 11
|
||||
"FEEDS.LAST_BUILD_DATETIME,"+ // 12
|
||||
"FEEDS.ORIGIN_DATETIME,"+ // 13
|
||||
"FEEDS.HEADER_XML,"+ // 14
|
||||
"FEEDS.CHANNEL_XML,"+ // 15
|
||||
"FEEDS.ITEM_XML,"+ // 16
|
||||
"FEEDS.BASE_URL,"+ // 17
|
||||
"FEEDS.ID,"+ // 18
|
||||
"FEEDS.UPLOAD_EXTENSION,"+ // 19
|
||||
"FEEDS.CAST_ORDER,"+ // 20
|
||||
"FEEDS.REDIRECT_PATH,"+ // 21
|
||||
"FEEDS.BASE_PREAMBLE,"+ // 22
|
||||
"FEEDS.AUDIENCE_METRICS,"+ // 23
|
||||
"FEEDS.IS_SUPERFEED,"+ // 24
|
||||
"FEED_IMAGES.ID,"+ // 25
|
||||
"FEED_IMAGES.WIDTH,"+ // 26
|
||||
"FEED_IMAGES.HEIGHT,"+ // 27
|
||||
"FEED_IMAGES.DESCRIPTION,"+ // 28
|
||||
"FEED_IMAGES.FILE_EXTENSION "+ // 29
|
||||
"from FEEDS ";
|
||||
sql+="left join FEED_IMAGES ";
|
||||
sql+="on FEEDS.CHANNEL_IMAGE_ID=FEED_IMAGES.ID ";
|
||||
@ -1230,9 +1286,9 @@ QString RDFeed::rssXml(QString *err_msg,bool *ok)
|
||||
QString channel_template=rssSchemas()->channelTemplate(rssSchema());
|
||||
QString item_template=rssSchemas()->itemTemplate(rssSchema());
|
||||
if(rssSchema()==RDRssSchemas::CustomSchema) {
|
||||
header_template=q->value(10).toString();
|
||||
channel_template=q->value(11).toString();
|
||||
item_template=q->value(12).toString();
|
||||
header_template=q->value(14).toString();
|
||||
channel_template=q->value(15).toString();
|
||||
item_template=q->value(16).toString();
|
||||
}
|
||||
|
||||
//
|
||||
@ -1250,20 +1306,20 @@ QString RDFeed::rssXml(QString *err_msg,bool *ok)
|
||||
// Render Item XML
|
||||
//
|
||||
QString where;
|
||||
if(q->value(20).toString()=="Y") {
|
||||
if(q->value(24).toString()=="Y") {
|
||||
sql=QString("select ")+
|
||||
"MEMBER_FEED_ID "+ // 00
|
||||
"from SUPERFEED_MAPS where "+
|
||||
QString().sprintf("FEED_ID=%d",q->value(14).toUInt());
|
||||
QString().sprintf("FEED_ID=%d",q->value(18).toUInt());
|
||||
q1=new RDSqlQuery(sql);
|
||||
while(q1->next()) {
|
||||
where+=QString().sprintf("(FEED_ID=%u) || ",q1->value(0).toUInt());
|
||||
where+=QString().sprintf("(PODCASTS.FEED_ID=%u) || ",q1->value(0).toUInt());
|
||||
}
|
||||
delete q1;
|
||||
where=("("+where.left(where.length()-4)+") && ");
|
||||
}
|
||||
else {
|
||||
where =QString().sprintf("(FEED_ID=%u)&&",q->value(14).toUInt());
|
||||
where =QString().sprintf("(PODCASTS.FEED_ID=%u)&&",q->value(18).toUInt());
|
||||
}
|
||||
sql=QString("select ")+
|
||||
"PODCASTS.ITEM_TITLE,"+ // 00
|
||||
@ -1274,18 +1330,26 @@ QString RDFeed::rssXml(QString *err_msg,bool *ok)
|
||||
"PODCASTS.ITEM_SOURCE_TEXT,"+ // 05
|
||||
"PODCASTS.ITEM_SOURCE_URL,"+ // 06
|
||||
"PODCASTS.ITEM_COMMENTS,"+ // 07
|
||||
"PODCASTS.AUDIO_FILENAME,"+ // 08
|
||||
"PODCASTS.AUDIO_LENGTH,"+ // 09
|
||||
"PODCASTS.AUDIO_TIME,"+ // 10
|
||||
"PODCASTS.EFFECTIVE_DATETIME,"+ // 11
|
||||
"PODCASTS.ID,"+ // 12
|
||||
"FEEDS.BASE_URL "+ // 13
|
||||
"PODCASTS.ITEM_EXPLICIT,"+ // 08
|
||||
"PODCASTS.AUDIO_FILENAME,"+ // 09
|
||||
"PODCASTS.AUDIO_LENGTH,"+ // 10
|
||||
"PODCASTS.AUDIO_TIME,"+ // 11
|
||||
"PODCASTS.EFFECTIVE_DATETIME,"+ // 12
|
||||
"PODCASTS.ID,"+ // 13
|
||||
"FEEDS.BASE_URL,"+ // 14
|
||||
"FEED_IMAGES.ID,"+ // 15
|
||||
"FEED_IMAGES.WIDTH,"+ // 16
|
||||
"FEED_IMAGES.HEIGHT,"+ // 17
|
||||
"FEED_IMAGES.DESCRIPTION,"+ // 18
|
||||
"FEED_IMAGES.FILE_EXTENSION "+ // 19
|
||||
"from PODCASTS left join FEEDS "+
|
||||
"on PODCASTS.FEED_ID=FEEDS.ID where "+
|
||||
"on PODCASTS.FEED_ID=FEEDS.ID "+
|
||||
"left join FEED_IMAGES "+
|
||||
"on PODCASTS.ITEM_IMAGE_ID=FEED_IMAGES.ID where "+
|
||||
where+
|
||||
QString().sprintf("(PODCASTS.STATUS=%d) ",RDPodcast::StatusActive)+
|
||||
"order by PODCASTS.ORIGIN_DATETIME";
|
||||
if(q->value(16).toString()=="N") {
|
||||
if(q->value(20).toString()=="N") {
|
||||
sql+=" desc";
|
||||
}
|
||||
q1=new RDSqlQuery(sql);
|
||||
@ -1635,23 +1699,31 @@ QString RDFeed::ResolveChannelWildcards(const QString &tmplt,RDSqlQuery *chan_q)
|
||||
ret.replace("%LINK%",RDXmlEscape(chan_q->value(3).toString()));
|
||||
ret.replace("%COPYRIGHT%",RDXmlEscape(chan_q->value(4).toString()));
|
||||
ret.replace("%EDITOR%",RDXmlEscape(chan_q->value(5).toString()));
|
||||
ret.replace("%WEBMASTER%",RDXmlEscape(chan_q->value(6).toString()));
|
||||
ret.replace("%LANGUAGE%",RDXmlEscape(chan_q->value(7).toString()));
|
||||
ret.replace("%BUILD_DATE%",chan_q->value(8).toDateTime().
|
||||
ret.replace("%AUTHOR%",RDXmlEscape(chan_q->value(6).toString()));
|
||||
ret.replace("%OWNER_NAME%",RDXmlEscape(chan_q->value(7).toString()));
|
||||
ret.replace("%OWNER_EMAIL%",RDXmlEscape(chan_q->value(8).toString()));
|
||||
ret.replace("%WEBMASTER%",RDXmlEscape(chan_q->value(9).toString()));
|
||||
ret.replace("%LANGUAGE%",RDXmlEscape(chan_q->value(10).toString()));
|
||||
QString explicit_str="false";
|
||||
if(chan_q->value(11).toString()=="Y") {
|
||||
explicit_str="true";
|
||||
}
|
||||
ret.replace("%EXPLICIT%",RDXmlEscape(explicit_str));
|
||||
ret.replace("%BUILD_DATE%",chan_q->value(12).toDateTime().
|
||||
toString("ddd, d MMM yyyy hh:mm:ss ")+"GMT");
|
||||
ret.replace("%PUBLISH_DATE%",chan_q->value(9).toDateTime().
|
||||
ret.replace("%PUBLISH_DATE%",chan_q->value(13).toDateTime().
|
||||
toString("ddd, d MMM yyyy hh:mm:ss ")+"GMT");
|
||||
ret.replace("%GENERATOR%",QString("Rivendell ")+VERSION);
|
||||
ret.replace("%FEED_URL%",RDXmlEscape(chan_q->value(13).toString())+"/"+
|
||||
ret.replace("%FEED_URL%",RDXmlEscape(chan_q->value(17).toString())+"/"+
|
||||
RDXmlEscape(keyName()+"."+RD_RSS_XML_FILE_EXTENSION));
|
||||
ret.replace("%IMAGE_URL%",chan_q->value(13).toString()+"/"+
|
||||
RDFeed::imageFilename(id(),chan_q->value(21).toInt(),
|
||||
chan_q->value(25).toString()));
|
||||
ret.replace("%IMAGE_URL%",chan_q->value(17).toString()+"/"+
|
||||
RDFeed::imageFilename(id(),chan_q->value(25).toInt(),
|
||||
chan_q->value(29).toString()));
|
||||
ret.replace("%IMAGE_WIDTH%",
|
||||
QString().sprintf("%d",chan_q->value(22).toInt()));
|
||||
QString().sprintf("%d",chan_q->value(26).toInt()));
|
||||
ret.replace("%IMAGE_HEIGHT%",
|
||||
QString().sprintf("%d",chan_q->value(23).toInt()));
|
||||
ret.replace("%IMAGE_DESCRIPTION%",chan_q->value(24).toString());
|
||||
QString().sprintf("%d",chan_q->value(26).toInt()));
|
||||
ret.replace("%IMAGE_DESCRIPTION%",chan_q->value(28).toString());
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -1680,29 +1752,40 @@ QString RDFeed::ResolveItemWildcards(const QString &tmplt,RDSqlQuery *item_q,
|
||||
ret.replace("%ITEM_SOURCE_TEXT%",
|
||||
RDXmlEscape(chan_q->value(0).toString()));
|
||||
ret.replace("%ITEM_SOURCE_URL%",
|
||||
RDXmlEscape(item_q->value(13).toString()+"/"+keyName()));
|
||||
RDXmlEscape(item_q->value(14).toString()+"/"+keyName()));
|
||||
}
|
||||
ret.replace("%ITEM_COMMENTS%",
|
||||
RDXmlEscape(item_q->value(7).toString()));
|
||||
if(chan_q->value(19).toString()=="Y") {
|
||||
QString explicit_str="false";
|
||||
if(item_q->value(8).toString()=="Y") {
|
||||
explicit_str="true";
|
||||
}
|
||||
ret.replace("%ITEM_EXPLICIT%",explicit_str);
|
||||
if(chan_q->value(23).toString()=="Y") {
|
||||
ret.replace("%ITEM_AUDIO_URL%",
|
||||
RDXmlEscape(audioUrl(RDFeed::LinkCounted,feed_cgi_hostname,
|
||||
item_q->value(12).toUInt())));
|
||||
item_q->value(13).toUInt())));
|
||||
}
|
||||
else {
|
||||
ret.replace("%ITEM_AUDIO_URL%",
|
||||
RDXmlEscape(audioUrl(RDFeed::LinkDirect,feed_cgi_hostname,
|
||||
item_q->value(12).toUInt())));
|
||||
item_q->value(13).toUInt())));
|
||||
}
|
||||
ret.replace("%ITEM_AUDIO_LENGTH%",item_q->value(9).toString());
|
||||
ret.replace("%ITEM_AUDIO_LENGTH%",item_q->value(10).toString());
|
||||
ret.replace("%ITEM_AUDIO_TIME%",
|
||||
RDGetTimeLength(item_q->value(10).toInt(),false,false));
|
||||
ret.replace("%ITEM_PUBLISH_DATE%",item_q->value(11).toDateTime().
|
||||
RDGetTimeLength(item_q->value(11).toInt(),false,false));
|
||||
ret.replace("%ITEM_AUDIO_SECONDS%",
|
||||
QString().sprintf("%d",item_q->value(11).toInt()/1000));
|
||||
ret.replace("%ITEM_PUBLISH_DATE%",item_q->value(12).toDateTime().
|
||||
toString("ddd, d MMM yyyy hh:mm:ss ")+"GMT");
|
||||
ret.replace("%ITEM_GUID%",RDPodcast::guid(chan_q->value(13).toString(),
|
||||
item_q->value(8).toString(),
|
||||
chan_q->value(12).toUInt(),
|
||||
item_q->value(12).toUInt()));
|
||||
ret.replace("%ITEM_GUID%",RDPodcast::guid(chan_q->value(17).toString(),
|
||||
item_q->value(9).toString(),
|
||||
chan_q->value(16).toUInt(),
|
||||
item_q->value(13).toUInt()));
|
||||
ret.replace("%ITEM_IMAGE_URL%",chan_q->value(17).toString()+"/"+
|
||||
RDFeed::imageFilename(chan_q->value(18).toInt(),
|
||||
item_q->value(15).toInt(),
|
||||
item_q->value(19).toString()));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -63,10 +63,18 @@ class RDFeed : public QObject
|
||||
void setChannelCopyright(const QString &str) const;
|
||||
QString channelEditor() const;
|
||||
void setChannelEditor(const QString &str) const;
|
||||
QString channelAuthor() const;
|
||||
void setChannelAuthor(const QString &str) const;
|
||||
QString channelOwnerName() const;
|
||||
void setChannelOwnerName(const QString &str) const;
|
||||
QString channelOwnerEmail() const;
|
||||
void setChannelOwnerEmail(const QString &str) const;
|
||||
QString channelWebmaster() const;
|
||||
void setChannelWebmaster(const QString &str) const;
|
||||
QString channelLanguage() const;
|
||||
void setChannelLanguage(const QString &str);
|
||||
bool channelExplicit() const;
|
||||
void setChannelExplicit(bool state) const;
|
||||
int channelImageId() const;
|
||||
void setChannelImageId(int img_id) const;
|
||||
int defaultItemImageId() const;
|
||||
|
@ -27,20 +27,23 @@ RDRssSchemas::RDRssSchemas()
|
||||
//
|
||||
c_names.push_back("Custom"); // CustomSchema
|
||||
c_names.push_back("RSS 2.0.2"); // Rss202Schema
|
||||
c_names.push_back("Apple"); // AppleSchema
|
||||
|
||||
|
||||
//
|
||||
// Minimum Images Sizes
|
||||
//
|
||||
c_minimum_image_sizes.push_back(QSize(0,0)); // CustomSchema
|
||||
c_minimum_image_sizes.push_back(QSize(88,31)); // Rss202Schema
|
||||
c_minimum_image_sizes.push_back(QSize(0,0)); // CustomSchema
|
||||
c_minimum_image_sizes.push_back(QSize(88,31)); // Rss202Schema
|
||||
c_minimum_image_sizes.push_back(QSize(1400,1400)); // AppleSchema
|
||||
|
||||
|
||||
//
|
||||
// Maximum Image Sizes
|
||||
//
|
||||
c_maximum_image_sizes.push_back(QSize(0,0)); // CustomSchema
|
||||
c_maximum_image_sizes.push_back(QSize(144,400)); // Rss202Schema
|
||||
c_maximum_image_sizes.push_back(QSize(0,0)); // CustomSchema
|
||||
c_maximum_image_sizes.push_back(QSize(144,400)); // Rss202Schema
|
||||
c_maximum_image_sizes.push_back(QSize(3000,3000)); // AppleSchema
|
||||
|
||||
|
||||
//
|
||||
@ -52,6 +55,8 @@ RDRssSchemas::RDRssSchemas()
|
||||
// Rss202Schema
|
||||
c_header_templates.push_back("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">");
|
||||
|
||||
// AppleSchema
|
||||
c_header_templates.push_back("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\" xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\">");
|
||||
|
||||
//
|
||||
// Channel Templates
|
||||
@ -62,6 +67,22 @@ RDRssSchemas::RDRssSchemas()
|
||||
// Rs202Schema
|
||||
c_channel_templates.push_back("<title>%TITLE%</title>\n<description>%DESCRIPTION%</description>\n<category>%CATEGORY%</category>\n<link>%LINK%</link>\n<language>%LANGUAGE%</language>\n<copyright>%COPYRIGHT%</copyright>\n<lastBuildDate>%BUILD_DATE%</lastBuildDate>\n<pubDate>%PUBLISH_DATE%</pubDate>\n<managingEditor>%EDITOR%</managingEditor>\n<webMaster>%WEBMASTER%</webMaster>\n<generator>%GENERATOR%</generator>\n<image>\n <url>%IMAGE_URL%</url>\n <title>%TITLE%</title>\n <link>%LINK%</link>\n <width>%IMAGE_WIDTH%</width>\n <height>%IMAGE_HEIGHT%</height>\n <description>%IMAGE_DESCRIPTION%</description>\n</image>\n<atom:link href=\"%FEED_URL%\" rel=\"self\" type=\"application/rss+xml\" />");
|
||||
|
||||
// AppleSchema
|
||||
c_channel_templates.push_back("<title>%TITLE%</title>\n<description>%DESCRIPTION%</description>\n<category>%CATEGORY%</category>\n<link>%LINK%</link>\n<language>%LANGUAGE%</language>\n<copyright>%COPYRIGHT%</copyright>\n<itunes:author>%AUTHOR%</itunes:author>\n<lastBuildDate>%BUILD_DATE%</lastBuildDate>\n<pubDate>%PUBLISH_DATE%</pubDate>\n<managingEditor>%EDITOR%</managingEditor>\n<webMaster>%WEBMASTER%</webMaster>\n<generator>%GENERATOR%</generator>\n<image>\n <url>%IMAGE_URL%</url>\n <title>%TITLE%</title>\n <link>%LINK%</link>\n <width>%IMAGE_WIDTH%</width>\n <height>%IMAGE_HEIGHT%</height>\n <description>%IMAGE_DESCRIPTION%</description>\n</image>\n<atom:link href=\"%FEED_URL%\" rel=\"self\" type=\"application/rss+xml\" />");
|
||||
|
||||
|
||||
//
|
||||
// Item Image Support
|
||||
//
|
||||
// CustomSchema
|
||||
c_supports_item_images.push_back(true);
|
||||
|
||||
// Rss202Schema
|
||||
c_supports_item_images.push_back(false);
|
||||
|
||||
// AppleSchema
|
||||
c_supports_item_images.push_back(true);
|
||||
|
||||
|
||||
//
|
||||
// Item Templates
|
||||
@ -108,3 +129,9 @@ QString RDRssSchemas::itemTemplate(RssSchema schema) const
|
||||
{
|
||||
return c_item_templates.at(schema);
|
||||
}
|
||||
|
||||
|
||||
bool RDRssSchemas::supportsItemImages(RssSchema schema) const
|
||||
{
|
||||
return c_supports_item_images.at(schema);
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
class RDRssSchemas
|
||||
{
|
||||
public:
|
||||
enum RssSchema {CustomSchema=0,Rss202Schema=1,LastSchema=2};
|
||||
enum RssSchema {CustomSchema=0,Rss202Schema=1,AppleSchema=2,LastSchema=3};
|
||||
RDRssSchemas();
|
||||
QString name(RssSchema schema) const;
|
||||
QSize minimumImageSize(RssSchema schema) const;
|
||||
@ -37,6 +37,7 @@ class RDRssSchemas
|
||||
QString headerTemplate(RssSchema schema) const;
|
||||
QString channelTemplate(RssSchema schema) const;
|
||||
QString itemTemplate(RssSchema schema) const;
|
||||
bool supportsItemImages(RssSchema schema) const;
|
||||
|
||||
private:
|
||||
QStringList c_names;
|
||||
@ -45,6 +46,7 @@ class RDRssSchemas
|
||||
QStringList c_header_templates;
|
||||
QStringList c_channel_templates;
|
||||
QStringList c_item_templates;
|
||||
QList<bool> c_supports_item_images;
|
||||
};
|
||||
|
||||
|
||||
|
@ -57,15 +57,8 @@ EditFeed::EditFeed(const QString &feed,QWidget *parent)
|
||||
feed_images_dialog=new ListImages(feed_image_model,this);
|
||||
|
||||
//
|
||||
// Feed Name
|
||||
// Superfeed Settings
|
||||
//
|
||||
feed_keyname_edit=new QLineEdit(this);
|
||||
feed_keyname_edit->setMaxLength(8);
|
||||
feed_keyname_edit->setReadOnly(true);
|
||||
feed_keyname_label=new QLabel(feed_keyname_edit,tr("Key Name:"),this);
|
||||
feed_keyname_label->setFont(labelFont());
|
||||
feed_keyname_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
feed_is_superfeed_box=new QComboBox(this);
|
||||
feed_is_superfeed_box->insertItem(0,tr("No"));
|
||||
feed_is_superfeed_box->insertItem(1,tr("Yes"));
|
||||
@ -154,6 +147,39 @@ EditFeed::EditFeed(const QString &feed,QWidget *parent)
|
||||
feed_channel_editor_label->
|
||||
setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Channel Author
|
||||
//
|
||||
feed_channel_author_edit=new QLineEdit(this);
|
||||
feed_channel_author_edit->setMaxLength(64);
|
||||
feed_channel_author_label=
|
||||
new QLabel(feed_channel_author_edit,tr("Author:"),this);
|
||||
feed_channel_author_label->setFont(labelFont());
|
||||
feed_channel_author_label->
|
||||
setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Channel Owner Name
|
||||
//
|
||||
feed_channel_owner_name_edit=new QLineEdit(this);
|
||||
feed_channel_owner_name_edit->setMaxLength(64);
|
||||
feed_channel_owner_name_label=
|
||||
new QLabel(feed_channel_owner_name_edit,tr("Owner Name:"),this);
|
||||
feed_channel_owner_name_label->setFont(labelFont());
|
||||
feed_channel_owner_name_label->
|
||||
setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Channel Owner Email
|
||||
//
|
||||
feed_channel_owner_email_edit=new QLineEdit(this);
|
||||
feed_channel_owner_email_edit->setMaxLength(64);
|
||||
feed_channel_owner_email_label=
|
||||
new QLabel(feed_channel_owner_email_edit,tr("Owner E-Mail:"),this);
|
||||
feed_channel_owner_email_label->setFont(labelFont());
|
||||
feed_channel_owner_email_label->
|
||||
setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Channel Webmaster
|
||||
//
|
||||
@ -175,6 +201,15 @@ EditFeed::EditFeed(const QString &feed,QWidget *parent)
|
||||
feed_channel_language_label->setFont(labelFont());
|
||||
feed_channel_language_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Channel is Explicit
|
||||
//
|
||||
feed_channel_explicit_check=new QCheckBox(this);
|
||||
feed_channel_explicit_label=new QLabel(feed_channel_explicit_check,
|
||||
tr("Channel contains explicit content"),this);
|
||||
feed_channel_explicit_label->setFont(labelFont());
|
||||
feed_channel_explicit_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Channel Image
|
||||
//
|
||||
@ -364,20 +399,6 @@ EditFeed::EditFeed(const QString &feed,QWidget *parent)
|
||||
feed_item_image_label->setFont(labelFont());
|
||||
feed_item_image_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Feed Redirection
|
||||
//
|
||||
feed_redirect_check=new QCheckBox(this);
|
||||
feed_redirect_label=
|
||||
new QLabel(feed_redirect_check,tr("Enable Feed Redirection"),this);
|
||||
feed_redirect_label->setFont(labelFont());
|
||||
feed_redirect_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
||||
|
||||
feed_redirect_url_edit=new QLineEdit(this);
|
||||
feed_redirect_url_label=new QLabel(feed_redirect_url_edit,tr("URL:"),this);
|
||||
feed_redirect_url_label->setFont(labelFont());
|
||||
feed_redirect_url_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// RSS Schema
|
||||
//
|
||||
@ -421,6 +442,24 @@ EditFeed::EditFeed(const QString &feed,QWidget *parent)
|
||||
feed_item_xml_label->setFont(labelFont());
|
||||
feed_item_xml_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Feed Redirection
|
||||
//
|
||||
feed_redirect_check=new QCheckBox(this);
|
||||
connect(feed_audience_metrics_check,SIGNAL(toggled(bool)),
|
||||
feed_redirect_check,SLOT(setEnabled(bool)));
|
||||
feed_redirect_label=
|
||||
new QLabel(feed_redirect_check,tr("Enable Feed Redirection"),this);
|
||||
connect(feed_audience_metrics_check,SIGNAL(toggled(bool)),
|
||||
feed_redirect_label,SLOT(setEnabled(bool)));
|
||||
feed_redirect_label->setFont(labelFont());
|
||||
feed_redirect_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
||||
|
||||
feed_redirect_url_edit=new QLineEdit(this);
|
||||
feed_redirect_url_label=new QLabel(feed_redirect_url_edit,tr("URL:"),this);
|
||||
feed_redirect_url_label->setFont(labelFont());
|
||||
feed_redirect_url_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Ok Button
|
||||
//
|
||||
@ -441,18 +480,23 @@ EditFeed::EditFeed(const QString &feed,QWidget *parent)
|
||||
//
|
||||
// Populate Values
|
||||
//
|
||||
feed_keyname_edit->setText(feed_feed->keyName());
|
||||
feed_is_superfeed_box->setCurrentIndex(feed_feed->isSuperfeed());
|
||||
feed_audience_metrics_check->setChecked(feed_feed->audienceMetrics());
|
||||
feed_redirect_check->setEnabled(feed_audience_metrics_check->isChecked());
|
||||
feed_redirect_label->setEnabled(feed_audience_metrics_check->isChecked());
|
||||
feed_channel_title_edit->setText(feed_feed->channelTitle());
|
||||
feed_channel_category_edit->setText(feed_feed->channelCategory());
|
||||
feed_channel_link_edit->setText(feed_feed->channelLink());
|
||||
feed_channel_copyright_edit->setText(feed_feed->channelCopyright());
|
||||
feed_channel_editor_edit->setText(feed_feed->channelEditor());
|
||||
feed_channel_author_edit->setText(feed_feed->channelAuthor());
|
||||
feed_channel_owner_name_edit->setText(feed_feed->channelOwnerName());
|
||||
feed_channel_owner_email_edit->setText(feed_feed->channelOwnerEmail());
|
||||
feed_channel_webmaster_edit->setText(feed_feed->channelWebmaster());
|
||||
feed_channel_description_edit->setPlainText(feed_feed->channelDescription());
|
||||
feed_channel_image_box->setCurrentImageId(feed_feed->channelImageId());
|
||||
feed_channel_language_edit->setText(feed_feed->channelLanguage());
|
||||
feed_channel_explicit_check->setChecked(feed_feed->channelExplicit());
|
||||
feed_base_url_edit->setText(feed_feed->baseUrl(""));
|
||||
feed_base_preamble_edit->setText(feed_feed->basePreamble());
|
||||
feed_purge_url_edit->setText(feed_feed->purgeUrl());
|
||||
@ -614,9 +658,13 @@ void EditFeed::okData()
|
||||
feed_feed->setChannelLink(feed_channel_link_edit->text());
|
||||
feed_feed->setChannelCopyright(feed_channel_copyright_edit->text());
|
||||
feed_feed->setChannelEditor(feed_channel_editor_edit->text());
|
||||
feed_feed->setChannelAuthor(feed_channel_author_edit->text());
|
||||
feed_feed->setChannelOwnerName(feed_channel_owner_name_edit->text());
|
||||
feed_feed->setChannelOwnerEmail(feed_channel_owner_email_edit->text());
|
||||
feed_feed->setChannelWebmaster(feed_channel_webmaster_edit->text());
|
||||
feed_feed->setChannelDescription(feed_channel_description_edit->text());
|
||||
feed_feed->setChannelLanguage(feed_channel_language_edit->text());
|
||||
feed_feed->setChannelExplicit(feed_channel_explicit_check->isChecked());
|
||||
feed_feed->setChannelImageId(feed_channel_image_box->currentImageId());
|
||||
feed_feed->setDefaultItemImageId(feed_item_image_box->currentImageId());
|
||||
feed_feed->setBaseUrl(feed_base_url_edit->text());
|
||||
@ -669,88 +717,98 @@ void EditFeed::resizeEvent(QResizeEvent *e)
|
||||
{
|
||||
feed_image_model->rescaleImages(QSize(36,36));
|
||||
|
||||
feed_keyname_edit->setGeometry(115,11,100,19);
|
||||
feed_keyname_label->setGeometry(10,11,100,19);
|
||||
//
|
||||
// Left-hand Side
|
||||
//
|
||||
feed_is_superfeed_box->setGeometry(115,13,60,19);
|
||||
feed_is_superfeed_label->setGeometry(10,13,100,19);
|
||||
feed_is_superfeed_button->setGeometry(185,13,140,38);
|
||||
|
||||
feed_is_superfeed_box->setGeometry(115,33,60,19);
|
||||
feed_is_superfeed_label->setGeometry(10,33,100,19);
|
||||
feed_is_superfeed_button->setGeometry(185,33,140,38);
|
||||
feed_list_images_button->setGeometry(345,13,100,38);
|
||||
|
||||
feed_list_images_button->setGeometry(345,33,100,38);
|
||||
feed_audience_metrics_check->setGeometry(20,54,15,15);
|
||||
feed_audience_metrics_label->setGeometry(40,52,375,19);
|
||||
|
||||
feed_audience_metrics_check->setGeometry(20,74,15,15);
|
||||
feed_audience_metrics_label->setGeometry(40,72,375,19);
|
||||
feed_channel_section_groupbox->setGeometry(10,77,sizeHint().width()/2-10,355);
|
||||
feed_channel_title_edit->setGeometry(115,92,375,19);
|
||||
feed_channel_title_label->setGeometry(20,92,90,19);
|
||||
feed_channel_category_edit->setGeometry(115,114,375,19);
|
||||
feed_channel_category_label->setGeometry(20,114,90,19);
|
||||
feed_channel_link_edit->setGeometry(115,136,375,19);
|
||||
feed_channel_link_label->setGeometry(20,136,90,19);
|
||||
feed_channel_copyright_edit->setGeometry(115,158,375,19);
|
||||
feed_channel_copyright_label->setGeometry(20,158,90,19);
|
||||
feed_channel_editor_edit->setGeometry(115,180,375,19);
|
||||
feed_channel_editor_label->setGeometry(20,180,90,19);
|
||||
|
||||
feed_channel_section_groupbox->setGeometry(10,97,sizeHint().width()/2-10,289);
|
||||
feed_channel_title_edit->setGeometry(115,112,375,19);
|
||||
feed_channel_title_label->setGeometry(20,112,90,19);
|
||||
feed_channel_category_edit->setGeometry(115,134,375,19);
|
||||
feed_channel_category_label->setGeometry(20,134,90,19);
|
||||
feed_channel_link_edit->setGeometry(115,156,375,19);
|
||||
feed_channel_link_label->setGeometry(20,156,90,19);
|
||||
feed_channel_copyright_edit->setGeometry(115,178,375,19);
|
||||
feed_channel_copyright_label->setGeometry(20,178,90,19);
|
||||
feed_channel_editor_edit->setGeometry(115,200,375,19);
|
||||
feed_channel_editor_label->setGeometry(20,200,90,19);
|
||||
feed_channel_webmaster_edit->setGeometry(115,222,375,19);
|
||||
feed_channel_webmaster_label->setGeometry(20,222,90,19);
|
||||
feed_channel_language_edit->setGeometry(115,244,60,19);
|
||||
feed_channel_language_label->setGeometry(20,244,90,19);
|
||||
feed_channel_description_edit->setGeometry(115,266,375,76);
|
||||
feed_channel_description_label->setGeometry(20,266,90,19);
|
||||
feed_channel_image_box->setGeometry(115,344,375,38);
|
||||
feed_channel_author_edit->setGeometry(115,201,375,19);
|
||||
feed_channel_author_label->setGeometry(20,201,90,19);
|
||||
|
||||
feed_channel_owner_name_edit->setGeometry(115,223,375,19);
|
||||
feed_channel_owner_name_label->setGeometry(20,223,90,19);
|
||||
|
||||
feed_channel_owner_email_edit->setGeometry(115,245,375,19);
|
||||
feed_channel_owner_email_label->setGeometry(20,245,90,19);
|
||||
|
||||
feed_channel_webmaster_edit->setGeometry(115,267,375,19);
|
||||
feed_channel_webmaster_label->setGeometry(20,267,90,19);
|
||||
feed_channel_language_edit->setGeometry(115,289,60,19);
|
||||
feed_channel_language_label->setGeometry(20,289,90,19);
|
||||
feed_channel_explicit_check->setGeometry(205,291,15,15);
|
||||
feed_channel_explicit_label->setGeometry(225,289,260,19);
|
||||
feed_channel_description_edit->setGeometry(115,311,375,76);
|
||||
feed_channel_description_label->setGeometry(20,311,90,19);
|
||||
feed_channel_image_box->setGeometry(115,389,375,38);
|
||||
feed_channel_image_box->setIconSize(QSize(36,36));
|
||||
feed_channel_image_label->setGeometry(20,344,90,19);
|
||||
feed_channel_image_label->setGeometry(20,389,90,19);
|
||||
|
||||
feed_purge_url_edit->setGeometry(155,394,335,19);
|
||||
feed_purge_url_label->setGeometry(20,394,130,19);
|
||||
feed_purge_username_edit->setGeometry(225,416,95,19);
|
||||
feed_purge_username_label->setGeometry(40,416,180,19);
|
||||
feed_purge_password_edit->setGeometry(395,416,95,19);
|
||||
feed_purge_password_label->setGeometry(320,416,70,19);
|
||||
feed_purge_url_edit->setGeometry(155,439,335,19);
|
||||
feed_purge_url_label->setGeometry(20,439,130,19);
|
||||
feed_purge_username_edit->setGeometry(225,461,95,19);
|
||||
feed_purge_username_label->setGeometry(40,461,180,19);
|
||||
feed_purge_password_edit->setGeometry(395,461,95,19);
|
||||
feed_purge_password_label->setGeometry(320,461,70,19);
|
||||
|
||||
feed_format_edit->setGeometry(155,438,285,20);
|
||||
feed_format_label->setGeometry(5,438,145,20);
|
||||
feed_format_button->setGeometry(450,438,40,24);
|
||||
feed_format_edit->setGeometry(155,483,285,20);
|
||||
feed_format_label->setGeometry(5,483,145,20);
|
||||
feed_format_button->setGeometry(450,483,40,24);
|
||||
|
||||
feed_normalize_check->setGeometry(155,462,15,15);
|
||||
feed_normalize_check_label->setGeometry(175,460,83,20);
|
||||
feed_normalize_spin->setGeometry(295,458,40,20);
|
||||
feed_normalize_label->setGeometry(245,458,45,20);
|
||||
feed_normalize_unit_label->setGeometry(340,458,40,20);
|
||||
feed_normalize_check->setGeometry(155,507,15,15);
|
||||
feed_normalize_check_label->setGeometry(175,505,83,20);
|
||||
feed_normalize_spin->setGeometry(295,503,40,20);
|
||||
feed_normalize_label->setGeometry(245,503,45,20);
|
||||
feed_normalize_unit_label->setGeometry(340,503,40,20);
|
||||
|
||||
feed_base_url_edit->setGeometry(155,482,335,19);
|
||||
feed_base_url_label->setGeometry(5,482,145,19);
|
||||
feed_keep_metadata_box->setGeometry(155,504,15,15);
|
||||
feed_keep_metadata_label->setGeometry(175,502,180,19);
|
||||
feed_autopost_box->setGeometry(365,504,15,15);
|
||||
feed_autopost_label->setGeometry(385,502,200,19);
|
||||
feed_base_url_edit->setGeometry(155,527,335,19);
|
||||
feed_base_url_label->setGeometry(5,527,145,19);
|
||||
feed_keep_metadata_box->setGeometry(155,549,15,15);
|
||||
feed_keep_metadata_label->setGeometry(175,547,180,19);
|
||||
feed_autopost_box->setGeometry(365,549,15,15);
|
||||
feed_autopost_label->setGeometry(385,547,200,19);
|
||||
|
||||
feed_base_preamble_edit->setGeometry(155,526,335,19);
|
||||
feed_base_preamble_label->setGeometry(20,526,130,19);
|
||||
feed_base_preamble_edit->setGeometry(155,571,335,19);
|
||||
feed_base_preamble_label->setGeometry(20,571,130,19);
|
||||
|
||||
feed_extension_edit->setGeometry(155,548,70,19);
|
||||
feed_extension_label->setGeometry(20,548,130,19);
|
||||
feed_extension_edit->setGeometry(155,593,70,19);
|
||||
feed_extension_label->setGeometry(20,593,130,19);
|
||||
|
||||
feed_max_shelf_life_spin->setGeometry(155,570,60,19);
|
||||
feed_max_shelf_life_label->setGeometry(20,570,130,19);
|
||||
feed_max_shelf_life_unit_label->setGeometry(220,570,50,19);
|
||||
feed_max_shelf_life_spin->setGeometry(155,615,60,19);
|
||||
feed_max_shelf_life_label->setGeometry(20,615,130,19);
|
||||
feed_max_shelf_life_unit_label->setGeometry(220,615,50,19);
|
||||
|
||||
feed_castorder_box->setGeometry(155,592,100,19);
|
||||
feed_castorder_label->setGeometry(20,592,130,19);
|
||||
feed_castorder_box->setGeometry(155,637,100,19);
|
||||
feed_castorder_label->setGeometry(20,637,130,19);
|
||||
|
||||
feed_media_link_mode_box->setGeometry(155,614,100,19);
|
||||
feed_media_link_mode_label->setGeometry(20,614,130,19);
|
||||
feed_media_link_mode_box->setGeometry(155,659,100,19);
|
||||
feed_media_link_mode_label->setGeometry(20,659,130,19);
|
||||
|
||||
feed_item_image_box->setGeometry(155,636,335,38);
|
||||
feed_item_image_box->setGeometry(155,681,335,38);
|
||||
feed_item_image_box->setIconSize(QSize(36,36));
|
||||
feed_item_image_label->setGeometry(20,636,130,19);
|
||||
|
||||
feed_redirect_check->setGeometry(20,686,15,15);
|
||||
feed_redirect_label->setGeometry(40,686,200,19);
|
||||
feed_redirect_url_edit->setGeometry(85,706,405,20);
|
||||
feed_redirect_url_label->setGeometry(40,706,40,19);
|
||||
feed_item_image_label->setGeometry(20,681,130,19);
|
||||
|
||||
//
|
||||
// Right-hand Side
|
||||
//
|
||||
feed_rss_schema_label->setGeometry(520,10,90,19);
|
||||
feed_rss_schema_box->setGeometry(615,10,200,19);
|
||||
|
||||
@ -758,10 +816,15 @@ void EditFeed::resizeEvent(QResizeEvent *e)
|
||||
feed_header_xml_edit->setGeometry(615,32,size().width()-625,76);
|
||||
|
||||
feed_channel_xml_label->setGeometry(520,110,90,19);
|
||||
feed_channel_xml_edit->setGeometry(615,110,size().width()-625,216);
|
||||
feed_channel_xml_edit->setGeometry(615,110,size().width()-625,256);
|
||||
|
||||
feed_item_xml_label->setGeometry(520,332,90,19);
|
||||
feed_item_xml_edit->setGeometry(615,332,size().width()-625,240);
|
||||
feed_item_xml_label->setGeometry(520,368,90,19);
|
||||
feed_item_xml_edit->setGeometry(615,368,size().width()-625,240);
|
||||
|
||||
feed_redirect_check->setGeometry(550,615,15,15);
|
||||
feed_redirect_label->setGeometry(570,615,200,19);
|
||||
feed_redirect_url_edit->setGeometry(615,637,375,20);
|
||||
feed_redirect_url_label->setGeometry(570,637,40,19);
|
||||
|
||||
feed_ok_button->setGeometry(size().width()-180,size().height()-60,80,50);
|
||||
feed_cancel_button->setGeometry(size().width()-90,size().height()-60,80,50);
|
||||
@ -775,7 +838,9 @@ void EditFeed::UpdateControlState()
|
||||
bool custom_schema=
|
||||
feed_rss_schema_box->itemData(feed_rss_schema_box->currentIndex()).toInt()==
|
||||
RDRssSchemas::CustomSchema;
|
||||
bool item_image=feed_rss_schema_box->itemData(feed_rss_schema_box->currentIndex()).toInt()!=RDRssSchemas::Rss202Schema;
|
||||
bool item_image=feed_feed->rssSchemas()->
|
||||
supportsItemImages((RDRssSchemas::RssSchema)feed_rss_schema_box->
|
||||
itemData(feed_rss_schema_box->currentIndex()).toInt());
|
||||
|
||||
feed_is_superfeed_label->setDisabled(redirected);
|
||||
feed_is_superfeed_box->setDisabled(redirected);
|
||||
@ -793,9 +858,17 @@ void EditFeed::UpdateControlState()
|
||||
feed_channel_copyright_edit->setDisabled(redirected);
|
||||
feed_channel_editor_label->setDisabled(redirected);
|
||||
feed_channel_editor_edit->setDisabled(redirected);
|
||||
feed_channel_author_label->setDisabled(redirected);
|
||||
feed_channel_author_edit->setDisabled(redirected);
|
||||
feed_channel_owner_name_label->setDisabled(redirected);
|
||||
feed_channel_owner_name_edit->setDisabled(redirected);
|
||||
feed_channel_owner_email_label->setDisabled(redirected);
|
||||
feed_channel_owner_email_edit->setDisabled(redirected);
|
||||
feed_channel_webmaster_label->setDisabled(redirected);
|
||||
feed_channel_webmaster_edit->setDisabled(redirected);
|
||||
feed_channel_language_edit->setDisabled(redirected);
|
||||
feed_channel_explicit_check->setDisabled(redirected);
|
||||
feed_channel_explicit_label->setDisabled(redirected);
|
||||
feed_channel_title_label->setDisabled(redirected);
|
||||
feed_channel_category_label->setDisabled(redirected);
|
||||
feed_channel_link_label->setDisabled(redirected);
|
||||
|
@ -65,8 +65,6 @@ class EditFeed : public RDDialog
|
||||
void UpdateControlState();
|
||||
RDFeed *feed_feed;
|
||||
RDImagePickerModel *feed_image_model;
|
||||
QLabel *feed_keyname_label;
|
||||
QLineEdit *feed_keyname_edit;
|
||||
QLabel *feed_is_superfeed_label;
|
||||
QPushButton *feed_is_superfeed_button;
|
||||
QPushButton *feed_list_images_button;
|
||||
@ -80,9 +78,17 @@ class EditFeed : public RDDialog
|
||||
QLineEdit *feed_channel_copyright_edit;
|
||||
QLabel *feed_channel_editor_label;
|
||||
QLineEdit *feed_channel_editor_edit;
|
||||
QLabel *feed_channel_author_label;
|
||||
QLineEdit *feed_channel_author_edit;
|
||||
QLabel *feed_channel_owner_name_label;
|
||||
QLineEdit *feed_channel_owner_name_edit;
|
||||
QLabel *feed_channel_owner_email_label;
|
||||
QLineEdit *feed_channel_owner_email_edit;
|
||||
QLabel *feed_channel_webmaster_label;
|
||||
QLineEdit *feed_channel_webmaster_edit;
|
||||
QLineEdit *feed_channel_language_edit;
|
||||
QCheckBox *feed_channel_explicit_check;
|
||||
QLabel *feed_channel_explicit_label;
|
||||
QLineEdit *feed_base_url_edit;
|
||||
QLineEdit *feed_base_preamble_edit;
|
||||
QLineEdit *feed_purge_url_edit;
|
||||
|
@ -1445,7 +1445,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key Name:</source>
|
||||
<translation>Název klíče:</translation>
|
||||
<translation type="obsolete">Název klíče:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CHANNEL VALUES</source>
|
||||
@ -1689,6 +1689,22 @@ Feeds</source>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Author:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner E-Mail:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channel contains explicit content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditFeedPerms</name>
|
||||
@ -5121,11 +5137,11 @@ Stále ještě jej chcete smazat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting Audio...</source>
|
||||
<translation>Mazání zvuku...</translation>
|
||||
<translation type="obsolete">Mazání zvuku...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation>Zrušit</translation>
|
||||
<translation type="obsolete">Zrušit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting</source>
|
||||
@ -5147,6 +5163,10 @@ Stále ještě jej chcete smazat?</translation>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished">Varování</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -1351,10 +1351,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Feed: </source>
|
||||
<translation type="unfinished">Feed:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title:</source>
|
||||
<translation type="unfinished">Titel:</translation>
|
||||
@ -1572,6 +1568,22 @@ Feeds</source>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Author:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner E-Mail:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channel contains explicit content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditFeedPerms</name>
|
||||
@ -4949,14 +4961,6 @@ Wollen Sie ihn immernoch löschen?</translation>
|
||||
<source>Delete Feed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting Audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -4973,6 +4977,10 @@ Wollen Sie ihn immernoch löschen?</translation>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -1447,7 +1447,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key Name:</source>
|
||||
<translation>Nombre:</translation>
|
||||
<translation type="obsolete">Nombre:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title:</source>
|
||||
@ -1692,6 +1692,22 @@ Feeds</source>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Author:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner E-Mail:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channel contains explicit content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditFeedPerms</name>
|
||||
@ -5088,11 +5104,11 @@ Do you still want to delete it?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting Audio...</source>
|
||||
<translation>Eliminando Audio...</translation>
|
||||
<translation type="obsolete">Eliminando Audio...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation>Cancelar</translation>
|
||||
<translation type="obsolete">Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting</source>
|
||||
@ -5114,6 +5130,10 @@ Do you still want to delete it?</source>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished">Advertencia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -1023,10 +1023,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Feed: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -1244,6 +1240,22 @@ Feeds</source>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Author:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner E-Mail:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channel contains explicit content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditFeedPerms</name>
|
||||
@ -4099,14 +4111,6 @@ Permissions</source>
|
||||
<source>Delete Feed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting Audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -4123,6 +4127,10 @@ Permissions</source>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -1313,10 +1313,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Feed: </source>
|
||||
<translation type="unfinished">Straum:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title:</source>
|
||||
<translation type="unfinished">Tittel:</translation>
|
||||
@ -1534,6 +1530,22 @@ Feeds</source>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Author:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner E-Mail:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channel contains explicit content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditFeedPerms</name>
|
||||
@ -4806,14 +4818,6 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
<source>Delete Feed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting Audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -4830,6 +4834,10 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -1313,10 +1313,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Feed: </source>
|
||||
<translation type="unfinished">Straum:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title:</source>
|
||||
<translation type="unfinished">Tittel:</translation>
|
||||
@ -1534,6 +1530,22 @@ Feeds</source>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Author:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner E-Mail:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channel contains explicit content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditFeedPerms</name>
|
||||
@ -4806,14 +4818,6 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
<source>Delete Feed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting Audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -4830,6 +4834,10 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -1323,10 +1323,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Feed: </source>
|
||||
<translation type="unfinished">Feed: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title:</source>
|
||||
<translation type="unfinished">Título:</translation>
|
||||
@ -1544,6 +1540,22 @@ Feeds</source>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Author:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner E-Mail:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channel contains explicit content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditFeedPerms</name>
|
||||
@ -4929,14 +4941,6 @@ Você ainda quer Deletar?</translation>
|
||||
<source>Delete Feed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting Audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -4953,6 +4957,10 @@ Você ainda quer Deletar?</translation>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -41,6 +41,19 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg)
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Revert 326
|
||||
//
|
||||
if((cur_schema==326)&&(set_schema<cur_schema)) {
|
||||
DropColumn("PODCASTS","ITEM_EXPLICIT");
|
||||
DropColumn("FEEDS","CHANNEL_EXPLICIT");
|
||||
DropColumn("FEEDS","CHANNEL_OWNER_EMAIL");
|
||||
DropColumn("FEEDS","CHANNEL_OWNER_NAME");
|
||||
DropColumn("FEEDS","CHANNEL_AUTHOR");
|
||||
|
||||
WriteSchemaVersion(--cur_schema);
|
||||
}
|
||||
|
||||
//
|
||||
// Revert 325
|
||||
//
|
||||
|
@ -160,7 +160,8 @@ void MainObject::InitializeSchemaMap() {
|
||||
global_version_map["3.1"]=310;
|
||||
global_version_map["3.2"]=311;
|
||||
global_version_map["3.3"]=314;
|
||||
global_version_map["3.4"]=325;
|
||||
global_version_map["3.4"]=317;
|
||||
global_version_map["3.5"]=326;
|
||||
}
|
||||
|
||||
|
||||
|
@ -10063,6 +10063,36 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)
|
||||
WriteSchemaVersion(++cur_schema);
|
||||
}
|
||||
|
||||
if((cur_schema<326)&&(set_schema>cur_schema)) {
|
||||
sql=QString("alter table FEEDS add column CHANNEL_AUTHOR varchar(64) ")+
|
||||
"after CHANNEL_EDITOR";
|
||||
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||
return false;
|
||||
}
|
||||
sql=QString("alter table FEEDS add column CHANNEL_OWNER_NAME varchar(64) ")+
|
||||
"after CHANNEL_AUTHOR";
|
||||
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||
return false;
|
||||
}
|
||||
sql=QString("alter table FEEDS add column ")+
|
||||
"CHANNEL_OWNER_EMAIL varchar(64) after CHANNEL_OWNER_NAME";
|
||||
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||
return false;
|
||||
}
|
||||
sql=QString("alter table FEEDS add column CHANNEL_EXPLICIT enum('N','Y') ")+
|
||||
"not null default 'N' after CHANNEL_LANGUAGE";
|
||||
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||
return false;
|
||||
}
|
||||
sql=QString("alter table PODCASTS add column ITEM_EXPLICIT enum('N','Y') ")+
|
||||
"not null default 'N' after ITEM_SOURCE_URL";
|
||||
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
WriteSchemaVersion(++cur_schema);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// NEW SCHEMA UPDATES GO HERE...
|
||||
|
Loading…
x
Reference in New Issue
Block a user