mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-24 09:28:54 +02:00
Merge branch 'waynemerricks-stable' into stable
This commit is contained in:
commit
b4b9b20448
@ -274,7 +274,7 @@ MainObject::MainObject(QObject *parent)
|
|||||||
TITLE=\"%s\",\
|
TITLE=\"%s\",\
|
||||||
ARTIST=\"%s\",\
|
ARTIST=\"%s\",\
|
||||||
ALBUM=\"%s\",\
|
ALBUM=\"%s\",\
|
||||||
YEAR=\"%s\",\
|
YEAR=%s,\
|
||||||
ISRC=\"%s\",\
|
ISRC=\"%s\",\
|
||||||
LABEL=\"%s\",\
|
LABEL=\"%s\",\
|
||||||
CLIENT=\"%s\",\
|
CLIENT=\"%s\",\
|
||||||
@ -304,8 +304,7 @@ MainObject::MainObject(QObject *parent)
|
|||||||
(const char *)RDEscapeString(q->value(3).toString()),
|
(const char *)RDEscapeString(q->value(3).toString()),
|
||||||
(const char *)RDEscapeString(q->value(4).toString()),
|
(const char *)RDEscapeString(q->value(4).toString()),
|
||||||
(const char *)RDEscapeString(q->value(5).toString()),
|
(const char *)RDEscapeString(q->value(5).toString()),
|
||||||
(const char *)q->value(6).toDate().
|
(const char *)RDCheckDateTime(q->value(6).toDate(),"yyyy-MM-dd"),
|
||||||
toString("yyyy-MM-dd"),
|
|
||||||
(const char *)RDEscapeString(q->value(7).toString()),
|
(const char *)RDEscapeString(q->value(7).toString()),
|
||||||
(const char *)RDEscapeString(q->value(8).toString()),
|
(const char *)RDEscapeString(q->value(8).toString()),
|
||||||
(const char *)RDEscapeString(q->value(9).toString()),
|
(const char *)RDEscapeString(q->value(9).toString()),
|
||||||
@ -348,33 +347,33 @@ MainObject::MainObject(QObject *parent)
|
|||||||
start_datetime="null";
|
start_datetime="null";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
start_datetime=QString().sprintf("\"%s\"",
|
start_datetime=QString().sprintf("%s",
|
||||||
(const char *)q1->value(7).
|
(const char *)RDCheckDateTime(q1->value(7).
|
||||||
toDateTime().toString("yyyy-MM-dd hh:mm:ss"));
|
toDateTime(),"yyyy-MM-dd hh:mm:ss"));//Could be invalid (0000-00-00)
|
||||||
}
|
}
|
||||||
if(q1->value(8).isNull()) {
|
if(q1->value(8).isNull()) {
|
||||||
end_datetime="null";
|
end_datetime="null";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
end_datetime=QString().sprintf("\"%s\"",
|
end_datetime=QString().sprintf("%s",
|
||||||
(const char *)q1->value(8).
|
(const char *)RDCheckDateTime(q1->value(8).
|
||||||
toDateTime().toString("yyyy-MM-dd hh:mm:ss"));
|
toDateTime(),"yyyy-MM-dd hh:mm:ss"));//Could be invalid (0000-00-00)
|
||||||
}
|
}
|
||||||
if(q1->value(16).isNull()) {
|
if(q1->value(16).isNull()) {
|
||||||
start_daypart="null";
|
start_daypart="null";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
start_daypart=QString().sprintf("\"%s\"",
|
start_daypart=QString().sprintf("%s",
|
||||||
(const char *)q1->value(16).
|
(const char *)RDCheckDateTime(q1->value(16).
|
||||||
toTime().toString("hh:mm:ss"));
|
toTime(),"hh:mm:ss"));//Invalid possible?
|
||||||
}
|
}
|
||||||
if(q1->value(17).isNull()) {
|
if(q1->value(17).isNull()) {
|
||||||
end_daypart="null";
|
end_daypart="null";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
end_daypart=QString().sprintf("\"%s\"",
|
end_daypart=QString().sprintf("%s",
|
||||||
(const char *)q1->value(17).
|
(const char *)RDCheckDateTime(q1->value(17).
|
||||||
toTime().toString("hh:mm:ss"));
|
toTime(),"hh:mm:ss"));//Invalid possible?
|
||||||
}
|
}
|
||||||
sql=QString().sprintf("insert into CUTS set CART_NUMBER=%u,\
|
sql=QString().sprintf("insert into CUTS set CART_NUMBER=%u,\
|
||||||
CUT_NAME=\"%s\",\
|
CUT_NAME=\"%s\",\
|
||||||
|
@ -1206,15 +1206,15 @@ void RDCart::updateLength(bool enforce_length,unsigned length)
|
|||||||
sql+="START_DATETIME=NULL,";
|
sql+="START_DATETIME=NULL,";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sql+=QString().sprintf("START_DATETIME=\"%s\",",
|
sql+=QString().sprintf("START_DATETIME=%s,",
|
||||||
(const char *)start_datetime.toString("yyyy-MM-dd hh:mm:ss"));
|
(const char *)RDCheckDateTime(start_datetime,"yyyy-MM-dd hh:mm:ss"));
|
||||||
}
|
}
|
||||||
if(end_datetime.isNull()||(!dates_valid)) {
|
if(end_datetime.isNull()||(!dates_valid)) {
|
||||||
sql+="END_DATETIME=NULL,";
|
sql+="END_DATETIME=NULL,";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sql+=QString().sprintf("END_DATETIME=\"%s\",",
|
sql+=QString().sprintf("END_DATETIME=%s,",
|
||||||
(const char *)end_datetime.toString("yyyy-MM-dd hh:mm:ss"));
|
(const char *)RDCheckDateTime(end_datetime,"yyyy-MM-dd hh:mm:ss"));
|
||||||
}
|
}
|
||||||
sql+=QString().sprintf("VALIDITY=%u where NUMBER=%u",
|
sql+=QString().sprintf("VALIDITY=%u where NUMBER=%u",
|
||||||
cart_validity,cart_number);
|
cart_validity,cart_number);
|
||||||
@ -1738,9 +1738,9 @@ void RDCart::SetRow(const QString ¶m,const QDateTime &value) const
|
|||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString sql;
|
QString sql;
|
||||||
|
|
||||||
sql=QString().sprintf("UPDATE CART SET %s=\"%s\" WHERE NUMBER=%u",
|
sql=QString().sprintf("UPDATE CART SET %s=%s WHERE NUMBER=%u",
|
||||||
(const char *)param,
|
(const char *)param,
|
||||||
(const char *)value.toString("yyyy-MM-dd hh:mm:ss"),
|
(const char *)RDCheckDateTime(value,"yyyy-MM-dd hh:mm:ss"),
|
||||||
cart_number);
|
cart_number);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
@ -1752,9 +1752,9 @@ void RDCart::SetRow(const QString ¶m,const QDate &value) const
|
|||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString sql;
|
QString sql;
|
||||||
|
|
||||||
sql=QString().sprintf("UPDATE CART SET %s=\"%s\" WHERE NUMBER=%u",
|
sql=QString().sprintf("UPDATE CART SET %s=%s WHERE NUMBER=%u",
|
||||||
(const char *)param,
|
(const char *)param,
|
||||||
(const char *)value.toString("yyyy-MM-dd"),
|
(const char *)RDCheckDateTime(value,"yyyy-MM-dd"),
|
||||||
cart_number);
|
cart_number);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
|
@ -670,6 +670,8 @@ void RDCartSlot::LogPlayout(RDPlayDeck::State state)
|
|||||||
datetime.setDate(datetime.date().addDays(-1));
|
datetime.setDate(datetime.date().addDays(-1));
|
||||||
}
|
}
|
||||||
if(!slot_svcname.isEmpty()) {
|
if(!slot_svcname.isEmpty()) {
|
||||||
|
QDateTime eventDateTime(datetime.date(),
|
||||||
|
slot_logline->startTime(RDLogLine::Actual));
|
||||||
QString svctablename=slot_svcname;
|
QString svctablename=slot_svcname;
|
||||||
svctablename.replace(" ","_");
|
svctablename.replace(" ","_");
|
||||||
sql=QString("insert into `")+svctablename+"_SRT` set "+
|
sql=QString("insert into `")+svctablename+"_SRT` set "+
|
||||||
@ -687,17 +689,18 @@ void RDCartSlot::LogPlayout(RDPlayDeck::State state)
|
|||||||
slot_logline->usageCode(),
|
slot_logline->usageCode(),
|
||||||
slot_logline->startSource())+
|
slot_logline->startSource())+
|
||||||
"STATION_NAME=\""+RDEscapeString(slot_station->name())+"\","+
|
"STATION_NAME=\""+RDEscapeString(slot_station->name())+"\","+
|
||||||
"EVENT_DATETIME=\""+datetime.toString("yyyy-MM-dd")+
|
"EVENT_DATETIME="+RDCheckDateTime(eventDateTime,"yyyy-MM-dd hh:mm:ss")+
|
||||||
" "+slot_logline->startTime(RDLogLine::Actual).toString("hh:mm:ss")+"\","+
|
","+
|
||||||
"EXT_START_TIME=\""+slot_logline->extStartTime().toString("hh:mm:ss")+"\","+
|
"EXT_START_TIME="+RDCheckDateTime(
|
||||||
|
slot_logline->extStartTime(),"hh:mm:ss")+","+
|
||||||
"EXT_DATA=\""+RDEscapeString(slot_logline->extData())+"\","+
|
"EXT_DATA=\""+RDEscapeString(slot_logline->extData())+"\","+
|
||||||
"EXT_EVENT_ID=\""+RDEscapeString(slot_logline->extEventId())+"\","+
|
"EXT_EVENT_ID=\""+RDEscapeString(slot_logline->extEventId())+"\","+
|
||||||
"EXT_ANNC_TYPE=\""+RDEscapeString(slot_logline->extAnncType())+"\","+
|
"EXT_ANNC_TYPE=\""+RDEscapeString(slot_logline->extAnncType())+"\","+
|
||||||
"EXT_CART_NAME=\""+RDEscapeString(slot_logline->extCartName())+"\","+
|
"EXT_CART_NAME=\""+RDEscapeString(slot_logline->extCartName())+"\","+
|
||||||
"TITLE=\""+RDEscapeString(slot_logline->title())+"\","+
|
"TITLE=\""+RDEscapeString(slot_logline->title())+"\","+
|
||||||
"ARTIST=\""+RDEscapeString(slot_logline->artist())+"\","+
|
"ARTIST=\""+RDEscapeString(slot_logline->artist())+"\","+
|
||||||
"SCHEDULED_TIME=\""+slot_logline->startTime(RDLogLine::Logged).
|
"SCHEDULED_TIME="+
|
||||||
toString("hh:mm:ss")+"\","+
|
RDCheckDateTime(slot_logline->startTime(RDLogLine::Logged),"hh:mm:ss")+","+
|
||||||
"ISRC=\""+RDEscapeString(slot_logline->isrc())+"\","+
|
"ISRC=\""+RDEscapeString(slot_logline->isrc())+"\","+
|
||||||
"PUBLISHER=\""+RDEscapeString(slot_logline->publisher())+"\","+
|
"PUBLISHER=\""+RDEscapeString(slot_logline->publisher())+"\","+
|
||||||
"COMPOSER=\""+RDEscapeString(slot_logline->composer())+"\","+
|
"COMPOSER=\""+RDEscapeString(slot_logline->composer())+"\","+
|
||||||
|
@ -1060,8 +1060,9 @@ void RDCut::setMetadata(RDWaveData *data) const
|
|||||||
}
|
}
|
||||||
if(data->daypartStartTime().isValid()&&data->daypartEndTime().isValid()&&
|
if(data->daypartStartTime().isValid()&&data->daypartEndTime().isValid()&&
|
||||||
(data->daypartStartTime()<data->daypartEndTime())) {
|
(data->daypartStartTime()<data->daypartEndTime())) {
|
||||||
sql+="START_DAYPART=\""+data->daypartStartTime().toString("hh:mm:ss")+"\","+
|
sql+="START_DAYPART="+
|
||||||
"END_DAYPART=\""+data->daypartEndTime().toString("hh:mm:ss")+"\",";
|
RDCheckDateTime(data->daypartStartTime(),"hh:mm:ss")+","+
|
||||||
|
"END_DAYPART="+RDCheckDateTime(data->daypartEndTime(),"hh:mm:ss")+",";
|
||||||
}
|
}
|
||||||
if((data->hookStartPos()>=data->startPos())&&
|
if((data->hookStartPos()>=data->startPos())&&
|
||||||
(data->hookStartPos()<=data->endPos())&&
|
(data->hookStartPos()<=data->endPos())&&
|
||||||
@ -1079,32 +1080,36 @@ void RDCut::setMetadata(RDWaveData *data) const
|
|||||||
(data->fadeDownPos()<=data->endPos())) {
|
(data->fadeDownPos()<=data->endPos())) {
|
||||||
sql+=QString().sprintf("FADEDOWN_POINT=%d,",data->fadeDownPos());
|
sql+=QString().sprintf("FADEDOWN_POINT=%d,",data->fadeDownPos());
|
||||||
}
|
}
|
||||||
if((data->startDate()>QDate(1900,1,1))&&(data->endDate().year()<8000)) {
|
if(data->startDate().isValid() &&
|
||||||
if(data->startTime().isValid()) {
|
(data->startDate()>QDate(1900,1,1))&&(data->endDate().year()<8000)) {
|
||||||
sql+=QString().sprintf("START_DATETIME=\"%s %s\",",
|
|
||||||
(const char *)data->startDate().
|
/* Reworked,
|
||||||
toString("yyyy-MM-dd"),
|
* if date not valid, do nothing
|
||||||
(const char *)data->startTime().
|
* if time valid use date + time
|
||||||
toString("hh:mm:ss"));
|
* else use date + 00:00:00
|
||||||
}
|
*/
|
||||||
else {
|
QDateTime startDateTime(data->startDate());
|
||||||
sql+=QString().sprintf("START_DATETIME=\"%s 00:00:00\",",
|
|
||||||
(const char *)data->startDate().
|
if(data->startTime().isValid())
|
||||||
toString("yyyy-MM-dd"));
|
startDateTime.setTime(data->startTime());
|
||||||
}
|
else
|
||||||
|
startDateTime.setTime(QTime(0,0,0));
|
||||||
|
|
||||||
|
sql+=QString().sprintf("START_DATETIME=%s,",
|
||||||
|
(const char *)RDCheckDateTime(startDateTime,"yyyy-MM-dd hh:mm:ss"));
|
||||||
|
|
||||||
if(data->endDate().isValid()&&(data->endDate().year()<8000)) {
|
if(data->endDate().isValid()&&(data->endDate().year()<8000)) {
|
||||||
if(data->endTime().isValid()) {
|
|
||||||
sql+=QString().sprintf("END_DATETIME=\"%s %s\",",
|
// Reworked as START_DATETIME
|
||||||
(const char *)data->endDate().
|
QDateTime endDateTime(data->endDate());
|
||||||
toString("yyyy-MM-dd"),
|
|
||||||
(const char *)data->endTime().
|
if(data->endTime().isValid())
|
||||||
toString("hh:mm:ss"));
|
endDateTime.setTime(data->endTime());
|
||||||
}
|
else
|
||||||
else {
|
endDateTime.setTime(QTime(23,59,59));
|
||||||
sql+=QString().sprintf("END_DATETIME=\"%s 23:59:59\",",
|
|
||||||
(const char *)data->endDate().
|
sql+=QString().sprintf("END_DATETIME=%s,",
|
||||||
toString("yyyy-MM-dd"));
|
(const char *)RDCheckDateTime(endDateTime,"yyyy-MM-dd hh:mm:ss"));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(sql.right(1)==",") {
|
if(sql.right(1)==",") {
|
||||||
@ -1603,9 +1608,9 @@ void RDCut::SetRow(const QString ¶m,const QDateTime &value) const
|
|||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString sql;
|
QString sql;
|
||||||
|
|
||||||
sql=QString().sprintf("UPDATE CUTS SET %s=\"%s\" WHERE CUT_NAME=\"%s\"",
|
sql=QString().sprintf("UPDATE CUTS SET %s=%s WHERE CUT_NAME=\"%s\"",
|
||||||
(const char *)param,
|
(const char *)param,
|
||||||
(const char *)value.toString("yyyy-MM-dd hh:mm:ss"),
|
(const char *)RDCheckDateTime(value,"yyyy-MM-dd hh:mm:ss"),
|
||||||
(const char *)cut_name);
|
(const char *)cut_name);
|
||||||
q=new RDSqlQuery(sql,cut_db);
|
q=new RDSqlQuery(sql,cut_db);
|
||||||
delete q;
|
delete q;
|
||||||
@ -1617,9 +1622,9 @@ void RDCut::SetRow(const QString ¶m,const QDate &value) const
|
|||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString sql;
|
QString sql;
|
||||||
|
|
||||||
sql=QString().sprintf("UPDATE CUTS SET %s=\"%s\" WHERE CUT_NAME=\"%s\"",
|
sql=QString().sprintf("UPDATE CUTS SET %s=%s WHERE CUT_NAME=\"%s\"",
|
||||||
(const char *)param,
|
(const char *)param,
|
||||||
(const char *)value.toString("yyyy-MM-dd"),
|
(const char *)RDCheckDateTime(value,"yyyy-MM-dd"),
|
||||||
(const char *)cut_name);
|
(const char *)cut_name);
|
||||||
q=new RDSqlQuery(sql,cut_db);
|
q=new RDSqlQuery(sql,cut_db);
|
||||||
delete q;
|
delete q;
|
||||||
@ -1630,9 +1635,9 @@ void RDCut::SetRow(const QString ¶m,const QTime &value) const
|
|||||||
{
|
{
|
||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString sql;
|
QString sql;
|
||||||
sql=QString().sprintf("UPDATE CUTS SET %s=\"%s\" WHERE CUT_NAME=\"%s\"",
|
sql=QString().sprintf("UPDATE CUTS SET %s=%s WHERE CUT_NAME=\"%s\"",
|
||||||
(const char *)param,
|
(const char *)param,
|
||||||
(const char *)value.toString("hh:mm:ss"),
|
(const char *)RDCheckDateTime(value,"hh:mm:ss"),
|
||||||
(const char *)cut_name);
|
(const char *)cut_name);
|
||||||
q=new RDSqlQuery(sql,cut_db);
|
q=new RDSqlQuery(sql,cut_db);
|
||||||
delete q;
|
delete q;
|
||||||
|
@ -21,6 +21,58 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <rdescape_string.h>
|
#include <rdescape_string.h>
|
||||||
|
#include <qdatetime.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RDCheckDateTime - Checks for QTime.isValid
|
||||||
|
* @param time - QTime object
|
||||||
|
* @param format - QString representing time format e.g. HH:MM
|
||||||
|
* @return QString, "NULL" if not Valid else formatted Time String
|
||||||
|
*/
|
||||||
|
QString RDCheckDateTime(QTime const &time, QString const &format)
|
||||||
|
{
|
||||||
|
QString checkedValue = "NULL";
|
||||||
|
|
||||||
|
if(time.isValid())
|
||||||
|
checkedValue = "\"" + time.toString(format) + "\"";
|
||||||
|
|
||||||
|
return checkedValue;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RDCheckDateTime - Checks for QDateTime.isValid
|
||||||
|
* @param datetime - QDateTime object
|
||||||
|
* @param format - QString representing date time format e.g. yyyy-mm-dd HH:MM
|
||||||
|
* @return QString, "NULL" if not Valid else formatted DateTime String
|
||||||
|
*/
|
||||||
|
QString RDCheckDateTime(QDateTime const &datetime, QString const &format)
|
||||||
|
{
|
||||||
|
QString checkedValue = "NULL";
|
||||||
|
|
||||||
|
if(datetime.isValid())
|
||||||
|
checkedValue = "\"" + datetime.toString(format) + "\"";
|
||||||
|
|
||||||
|
return checkedValue;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RDCheckDateTime - Checks for QDate.isValid
|
||||||
|
* @param date - QDate object
|
||||||
|
* @param format - QString representing date format e.g. yyyy-mm-dd
|
||||||
|
* @return QString, "NULL" if not Valid else formatted Date String
|
||||||
|
*/
|
||||||
|
QString RDCheckDateTime(QDate const &date, QString const &format)
|
||||||
|
{
|
||||||
|
QString checkedValue = "NULL";
|
||||||
|
|
||||||
|
if(date.isValid())
|
||||||
|
checkedValue = "\"" + date.toString(format) + "\"";
|
||||||
|
|
||||||
|
return checkedValue;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
QString RDEscapeString(QString const &str)
|
QString RDEscapeString(QString const &str)
|
||||||
{
|
{
|
||||||
|
@ -19,11 +19,16 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include <qstring.h>
|
#include <qstring.h>
|
||||||
|
#include <qdatetime.h>
|
||||||
|
|
||||||
#ifndef RDESCAPE_STRING_H
|
#ifndef RDESCAPE_STRING_H
|
||||||
#define RDESCAPE_STRING_H
|
#define RDESCAPE_STRING_H
|
||||||
|
|
||||||
|
QString RDCheckDateTime(const QTime &time, const QString &format);
|
||||||
|
QString RDCheckDateTime(const QDateTime &datetime, const QString &format);
|
||||||
|
QString RDCheckDateTime(const QDate &date, const QString &format);
|
||||||
QString RDEscapeString(const QString &str);
|
QString RDEscapeString(const QString &str);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // RDESCAPE_STRING_H
|
#endif // RDESCAPE_STRING_H
|
||||||
|
@ -814,7 +814,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
sql=QString().sprintf("insert into `%s_LOG` set ID=%d,COUNT=%d,TYPE=%d,\
|
sql=QString().sprintf("insert into `%s_LOG` set ID=%d,COUNT=%d,TYPE=%d,\
|
||||||
SOURCE=%d,START_TIME=%d,GRACE_TIME=%d, \
|
SOURCE=%d,START_TIME=%d,GRACE_TIME=%d, \
|
||||||
CART_NUMBER=%u,TIME_TYPE=%d,POST_POINT=\"%s\", \
|
CART_NUMBER=%u,TIME_TYPE=%d,POST_POINT=\"%s\", \
|
||||||
TRANS_TYPE=%d,EXT_START_TIME=\"%s\",\
|
TRANS_TYPE=%d,EXT_START_TIME=%s,\
|
||||||
EVENT_LENGTH=%d",
|
EVENT_LENGTH=%d",
|
||||||
(const char *)logname,count,count,
|
(const char *)logname,count,count,
|
||||||
RDLogLine::Cart,source,
|
RDLogLine::Cart,source,
|
||||||
@ -824,7 +824,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
time_type,
|
time_type,
|
||||||
(const char *)RDYesNo(post_point),
|
(const char *)RDYesNo(post_point),
|
||||||
trans_type,
|
trans_type,
|
||||||
(const char *)time.toString("hh:mm:ss"),
|
(const char *)RDCheckDateTime(time,"hh:mm:ss"),
|
||||||
event_length);
|
event_length);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
|
@ -320,7 +320,7 @@ QDateTime RDFeed::lastBuildDateTime() const
|
|||||||
|
|
||||||
void RDFeed::setLastBuildDateTime(const QDateTime &datetime) const
|
void RDFeed::setLastBuildDateTime(const QDateTime &datetime) const
|
||||||
{
|
{
|
||||||
SetRow("LAST_BUILD_DATETIME",datetime.toString("yyyy-MM-dd hh:mm:ss"));
|
SetRow("LAST_BUILD_DATETIME",datetime,"yyyy-MM-dd hh:mm:ss");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -333,7 +333,7 @@ QDateTime RDFeed::originDateTime() const
|
|||||||
|
|
||||||
void RDFeed::setOriginDateTime(const QDateTime &datetime) const
|
void RDFeed::setOriginDateTime(const QDateTime &datetime) const
|
||||||
{
|
{
|
||||||
SetRow("ORIGIN_DATETIME",datetime.toString("yyyy-MM-dd hh:mm:ss"));
|
SetRow("ORIGIN_DATETIME",datetime,"yyyy-MM-dd hh:mm:ss");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -896,3 +896,17 @@ void RDFeed::SetRow(const QString ¶m,const QString &value) const
|
|||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RDFeed::SetRow(const QString ¶m,const QDateTime &value,
|
||||||
|
const QString &format) const
|
||||||
|
{
|
||||||
|
RDSqlQuery *q;
|
||||||
|
QString sql;
|
||||||
|
|
||||||
|
sql=QString().sprintf("UPDATE FEEDS SET %s=%s WHERE KEY_NAME=\"%s\"",
|
||||||
|
(const char *)param,
|
||||||
|
(const char *)RDCheckDateTime(value, format),
|
||||||
|
(const char *)feed_keyname);
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
delete q;
|
||||||
|
}
|
@ -123,6 +123,8 @@ class RDFeed : public QObject
|
|||||||
QString GetTempFilename() const;
|
QString GetTempFilename() const;
|
||||||
void SetRow(const QString ¶m,int value) const;
|
void SetRow(const QString ¶m,int value) const;
|
||||||
void SetRow(const QString ¶m,const QString &value) const;
|
void SetRow(const QString ¶m,const QString &value) const;
|
||||||
|
void SetRow(const QString ¶m,const QDateTime &value,
|
||||||
|
const QString &format) const;
|
||||||
QString feed_keyname;
|
QString feed_keyname;
|
||||||
unsigned feed_id;
|
unsigned feed_id;
|
||||||
};
|
};
|
||||||
|
@ -661,9 +661,9 @@ void RDLog::SetRow(const QString ¶m,const QDate &value) const
|
|||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString sql;
|
QString sql;
|
||||||
|
|
||||||
sql=QString().sprintf("UPDATE LOGS SET %s=\"%s\" WHERE NAME=\"%s\"",
|
sql=QString().sprintf("UPDATE LOGS SET %s=%s WHERE NAME=\"%s\"",
|
||||||
(const char *)param,
|
(const char *)param,
|
||||||
(const char *)value.toString("yyyy/MM/dd"),
|
(const char *)RDCheckDateTime(value,"yyyy/MM/dd"),
|
||||||
(const char *)RDEscapeString(log_name));
|
(const char *)RDEscapeString(log_name));
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
@ -675,9 +675,9 @@ void RDLog::SetRow(const QString ¶m,const QDateTime &value) const
|
|||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString sql;
|
QString sql;
|
||||||
|
|
||||||
sql=QString().sprintf("UPDATE LOGS SET %s=\"%s\" WHERE NAME=\"%s\"",
|
sql=QString().sprintf("UPDATE LOGS SET %s=%s WHERE NAME=\"%s\"",
|
||||||
(const char *)param,
|
(const char *)param,
|
||||||
(const char *)value.toString("yyyy-MM-dd hh:mm:ss"),
|
(const char *)RDCheckDateTime(value,"yyyy-MM-dd hh:mm:ss"),
|
||||||
(const char *)RDEscapeString(log_name));
|
(const char *)RDEscapeString(log_name));
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
|
@ -244,6 +244,7 @@ int RDLogEvent::validate(QString *report,const QDate &date)
|
|||||||
//
|
//
|
||||||
// Handle events with no logged start time (e.g. manual inserts)
|
// Handle events with no logged start time (e.g. manual inserts)
|
||||||
//
|
//
|
||||||
|
//TODO do we need to verify date here?
|
||||||
sql=QString().
|
sql=QString().
|
||||||
sprintf("select CUT_NAME from CUTS where \
|
sprintf("select CUT_NAME from CUTS where \
|
||||||
(CART_NUMBER=%u)&& \
|
(CART_NUMBER=%u)&& \
|
||||||
@ -258,6 +259,7 @@ int RDLogEvent::validate(QString *report,const QDate &date)
|
|||||||
(const char *)RDDowCode(date.dayOfWeek()));
|
(const char *)RDDowCode(date.dayOfWeek()));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
//TODO Do we need to verify date and logLine(i)->startTime?
|
||||||
sql=QString().
|
sql=QString().
|
||||||
sprintf("select CUT_NAME from CUTS where \
|
sprintf("select CUT_NAME from CUTS where \
|
||||||
(CART_NUMBER=%u)&& \
|
(CART_NUMBER=%u)&& \
|
||||||
@ -1184,7 +1186,7 @@ void RDLogEvent::InsertLines(QString values) {
|
|||||||
void RDLogEvent::InsertLineValues(QString *query, int line)
|
void RDLogEvent::InsertLineValues(QString *query, int line)
|
||||||
{
|
{
|
||||||
// one line to save query space
|
// one line to save query space
|
||||||
QString sql=QString().sprintf("(%d,%d,%u,%d,%d,%d,%d,%d,%d,%d,%d,\"%s\",\"%s\",%d,%d,\"%s\",%d,\"%s\",\"%s\",\"%s\",\"%s\",%d,%d,%d,%d,%d,\"%s\",%d,%d,%d,\"%s\",\"%s\",\"%s\",%d,%d,%d,%d,%d)",
|
QString sql=QString().sprintf("(%d,%d,%u,%d,%d,%d,%d,%d,%d,%d,%d,\"%s\",\"%s\",%d,%d,%s,%d,\"%s\",\"%s\",\"%s\",\"%s\",%d,%d,%d,%d,%d,\"%s\",%d,%d,%d,\"%s\",\"%s\",%s,%d,%d,%d,%d,%d)",
|
||||||
log_line[line]->id(),
|
log_line[line]->id(),
|
||||||
line,
|
line,
|
||||||
log_line[line]->cartNumber(),
|
log_line[line]->cartNumber(),
|
||||||
@ -1203,8 +1205,8 @@ void RDLogEvent::InsertLineValues(QString *query, int line)
|
|||||||
RDEscapeString(log_line[line]->markerLabel()),
|
RDEscapeString(log_line[line]->markerLabel()),
|
||||||
log_line[line]->graceTime(),
|
log_line[line]->graceTime(),
|
||||||
log_line[line]->source(),
|
log_line[line]->source(),
|
||||||
(const char *)log_line[line]->extStartTime().
|
(const char *)RDCheckDateTime(
|
||||||
toString("hh:mm:ss"),
|
log_line[line]->extStartTime(),"hh:mm:ss"),
|
||||||
log_line[line]->extLength(),
|
log_line[line]->extLength(),
|
||||||
(const char *)RDEscapeString(log_line[line]->extData()),
|
(const char *)RDEscapeString(log_line[line]->extData()),
|
||||||
(const char *)
|
(const char *)
|
||||||
@ -1226,8 +1228,8 @@ void RDLogEvent::InsertLineValues(QString *query, int line)
|
|||||||
(const char *)RDYesNo(log_line[line]->linkEmbedded()),
|
(const char *)RDYesNo(log_line[line]->linkEmbedded()),
|
||||||
(const char *)
|
(const char *)
|
||||||
RDEscapeString(log_line[line]->originUser()),
|
RDEscapeString(log_line[line]->originUser()),
|
||||||
(const char *)log_line[line]->originDateTime().
|
(const char *)RDCheckDateTime(
|
||||||
toString("yyyy-MM-dd hh:mm:ss"),
|
log_line[line]->originDateTime(),"yyyy-MM-dd hh:mm:ss"),
|
||||||
log_line[line]->linkStartSlop(),
|
log_line[line]->linkStartSlop(),
|
||||||
log_line[line]->linkEndSlop(),
|
log_line[line]->linkEndSlop(),
|
||||||
log_line[line]->duckUpGain(),
|
log_line[line]->duckUpGain(),
|
||||||
|
@ -209,7 +209,7 @@ QDateTime RDPodcast::originDateTime() const
|
|||||||
|
|
||||||
void RDPodcast::setOriginDateTime(const QDateTime &datetime) const
|
void RDPodcast::setOriginDateTime(const QDateTime &datetime) const
|
||||||
{
|
{
|
||||||
SetRow("ORIGIN_DATETIME",datetime.toString("yyyy-MM-dd hh:mm:ss"));
|
SetRow("ORIGIN_DATETIME",datetime,"yyyy-MM-dd hh:mm:ss");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -222,7 +222,7 @@ QDateTime RDPodcast::effectiveDateTime() const
|
|||||||
|
|
||||||
void RDPodcast::setEffectiveDateTime(const QDateTime &datetime) const
|
void RDPodcast::setEffectiveDateTime(const QDateTime &datetime) const
|
||||||
{
|
{
|
||||||
SetRow("EFFECTIVE_DATETIME",datetime.toString("yyyy-MM-dd hh:mm:ss"));
|
SetRow("EFFECTIVE_DATETIME",datetime,"yyyy-MM-dd hh:mm:ss");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -398,3 +398,18 @@ void RDPodcast::SetRow(const QString ¶m,const QString &value) const
|
|||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RDPodcast::SetRow(const QString ¶m,const QDateTime &value,
|
||||||
|
const QString &format) const
|
||||||
|
{
|
||||||
|
RDSqlQuery *q;
|
||||||
|
QString sql;
|
||||||
|
|
||||||
|
sql=QString().sprintf("UPDATE PODCASTS SET %s=%s WHERE ID=%u",
|
||||||
|
(const char *)param,
|
||||||
|
(const char *)RDCheckDateTime(value, format),
|
||||||
|
podcast_id);
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
delete q;
|
||||||
|
}
|
@ -76,6 +76,7 @@ class RDPodcast
|
|||||||
private:
|
private:
|
||||||
void SetRow(const QString ¶m,int value) const;
|
void SetRow(const QString ¶m,int value) const;
|
||||||
void SetRow(const QString ¶m,const QString &value) const;
|
void SetRow(const QString ¶m,const QString &value) const;
|
||||||
|
void SetRow(const QString ¶m,const QDateTime &datetime,const QString &value) const;
|
||||||
QString podcast_keyname;
|
QString podcast_keyname;
|
||||||
unsigned podcast_id;
|
unsigned podcast_id;
|
||||||
};
|
};
|
||||||
|
@ -945,9 +945,9 @@ void RDRecording::SetRow(const QString ¶m,const QTime &value) const
|
|||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString sql;
|
QString sql;
|
||||||
|
|
||||||
sql=QString().sprintf("update RECORDINGS set %s=\"%s\" where ID=%d",
|
sql=QString().sprintf("update RECORDINGS set %s=%s where ID=%d",
|
||||||
(const char *)param,
|
(const char *)param,
|
||||||
(const char *)value.toString("hh:mm:ss"),rec_id);
|
(const char *)RDCheckDateTime(value,"hh:mm:ss"),rec_id);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
|
@ -346,6 +346,7 @@ bool RDReport::generateReport(const QDate &startdate,const QDate &enddate,
|
|||||||
for(int i=0;i<(startdate.daysTo(enddate)+1);i++) {
|
for(int i=0;i<(startdate.daysTo(enddate)+1);i++) {
|
||||||
QDate date=startdate.addDays(i);
|
QDate date=startdate.addDays(i);
|
||||||
if(startTime()<endTime()) {
|
if(startTime()<endTime()) {
|
||||||
|
//TODO Do we need to escape on Select Statement?
|
||||||
daypart_sql+=QString("((EVENT_DATETIME>=\"")+
|
daypart_sql+=QString("((EVENT_DATETIME>=\"")+
|
||||||
date.toString("yyyy-MM-dd")+
|
date.toString("yyyy-MM-dd")+
|
||||||
" "+startTime().toString("hh:mm:ss")+"\")&&"+
|
" "+startTime().toString("hh:mm:ss")+"\")&&"+
|
||||||
@ -534,6 +535,7 @@ bool RDReport::generateReport(const QDate &startdate,const QDate &enddate,
|
|||||||
// Daypart Filter
|
// Daypart Filter
|
||||||
//
|
//
|
||||||
if(daypart_sql.isEmpty()) {
|
if(daypart_sql.isEmpty()) {
|
||||||
|
//TODO Do we need to escape on Select statement?
|
||||||
sql+=QString("(EVENT_DATETIME>=\"")+startdate.toString("yyyy-MM-dd")+
|
sql+=QString("(EVENT_DATETIME>=\"")+startdate.toString("yyyy-MM-dd")+
|
||||||
" 00:00:00\")&&"+
|
" 00:00:00\")&&"+
|
||||||
"(EVENT_DATETIME<=\""+enddate.toString("yyyy-MM-dd")+
|
"(EVENT_DATETIME<=\""+enddate.toString("yyyy-MM-dd")+
|
||||||
@ -555,8 +557,8 @@ bool RDReport::generateReport(const QDate &startdate,const QDate &enddate,
|
|||||||
q1->value(1).toUInt(),
|
q1->value(1).toUInt(),
|
||||||
q1->value(2).toInt())+
|
q1->value(2).toInt())+
|
||||||
"STATION_NAME=\""+RDEscapeString(q1->value(3).toString())+"\","+
|
"STATION_NAME=\""+RDEscapeString(q1->value(3).toString())+"\","+
|
||||||
"EVENT_DATETIME=\""+RDEscapeString(q1->value(4).toDateTime().
|
"EVENT_DATETIME="+RDCheckDateTime(q1->value(4).toDateTime(),
|
||||||
toString("yyyy-MM-dd hh:mm:ss"))+"\","+
|
"yyyy-MM-dd hh:mm:ss")+","+
|
||||||
QString().sprintf("EVENT_TYPE=%d,",q1->value(5).toInt())+
|
QString().sprintf("EVENT_TYPE=%d,",q1->value(5).toInt())+
|
||||||
"EXT_START_TIME=\""+RDEscapeString(q1->value(6).toString())+"\","+
|
"EXT_START_TIME=\""+RDEscapeString(q1->value(6).toString())+"\","+
|
||||||
QString().sprintf("EXT_LENGTH=%d,",q1->value(7).toInt())+
|
QString().sprintf("EXT_LENGTH=%d,",q1->value(7).toInt())+
|
||||||
@ -571,8 +573,8 @@ bool RDReport::generateReport(const QDate &startdate,const QDate &enddate,
|
|||||||
"LOG_NAME=\""+RDEscapeString(q1->value(15).toString())+"\","+
|
"LOG_NAME=\""+RDEscapeString(q1->value(15).toString())+"\","+
|
||||||
"TITLE=\""+RDEscapeString(q1->value(16).toString())+"\","+
|
"TITLE=\""+RDEscapeString(q1->value(16).toString())+"\","+
|
||||||
"ARTIST=\""+RDEscapeString(q1->value(17).toString())+"\","+
|
"ARTIST=\""+RDEscapeString(q1->value(17).toString())+"\","+
|
||||||
"SCHEDULED_TIME=\""+
|
"SCHEDULED_TIME="+
|
||||||
q1->value(18).toDate().toString("yyyy-MM-dd hh:mm:ss")+"\","+
|
RDCheckDateTime(q1->value(18).toDate(),"yyyy-MM-dd hh:mm:ss")+","+
|
||||||
QString().sprintf("START_SOURCE=%d,",q1->value(19).toInt())+
|
QString().sprintf("START_SOURCE=%d,",q1->value(19).toInt())+
|
||||||
"PUBLISHER=\""+RDEscapeString(q1->value(20).toString())+"\","+
|
"PUBLISHER=\""+RDEscapeString(q1->value(20).toString())+"\","+
|
||||||
"COMPOSER=\""+RDEscapeString(q1->value(21).toString())+"\","+
|
"COMPOSER=\""+RDEscapeString(q1->value(21).toString())+"\","+
|
||||||
@ -921,9 +923,9 @@ void RDReport::SetRow(const QString ¶m,const QTime &value) const
|
|||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString sql;
|
QString sql;
|
||||||
|
|
||||||
sql=QString().sprintf("UPDATE REPORTS SET %s=\"%s\" WHERE NAME=\"%s\"",
|
sql=QString().sprintf("UPDATE REPORTS SET %s=%s WHERE NAME=\"%s\"",
|
||||||
(const char *)param,
|
(const char *)param,
|
||||||
(const char *)value.toString("hh:mm:ss"),
|
(const char *)RDCheckDateTime(value, "hh:mm:ss"),
|
||||||
(const char *)report_name);
|
(const char *)report_name);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
|
@ -1485,13 +1485,19 @@ void RDSoundPanel::LogTraffic(RDPanelButton *button)
|
|||||||
"CUTS.CUT_NAME=\""+RDEscapeString(button->cutName())+"\"";
|
"CUTS.CUT_NAME=\""+RDEscapeString(button->cutName())+"\"";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
if(q->first()) {
|
if(q->first()) {
|
||||||
|
|
||||||
|
QString eventDateTimeSQL = "NULL";
|
||||||
|
|
||||||
|
if(datetime.isValid() && button->startTime().isValid())
|
||||||
|
eventDateTimeSQL = RDCheckDateTime(QDateTime(datetime.date(),
|
||||||
|
button->startTime()), "yyyy-MM-dd hh:mm:ss");
|
||||||
|
|
||||||
sql=QString("insert into `")+panel_svcname+"_SRT` set "+
|
sql=QString("insert into `")+panel_svcname+"_SRT` set "+
|
||||||
QString().sprintf("LENGTH=%d,",button->startTime().
|
QString().sprintf("LENGTH=%d,",button->startTime().
|
||||||
msecsTo(datetime.time()))+
|
msecsTo(datetime.time()))+
|
||||||
QString().sprintf("CART_NUMBER=%u,",button->cart())+
|
QString().sprintf("CART_NUMBER=%u,",button->cart())+
|
||||||
"STATION_NAME=\""+RDEscapeString(panel_station->name().utf8())+"\","+
|
"STATION_NAME=\""+RDEscapeString(panel_station->name().utf8())+"\","+
|
||||||
"EVENT_DATETIME=\""+datetime.toString("yyyy-MM-dd")+" "+
|
"EVENT_DATETIME="+eventDateTimeSQL+","+
|
||||||
button->startTime().toString("hh:mm:ss")+"\","+
|
|
||||||
QString().sprintf("EVENT_TYPE=%d,",RDAirPlayConf::TrafficStop)+
|
QString().sprintf("EVENT_TYPE=%d,",RDAirPlayConf::TrafficStop)+
|
||||||
QString().sprintf("EVENT_SOURCE=%d,",RDLogLine::SoundPanel)+
|
QString().sprintf("EVENT_SOURCE=%d,",RDLogLine::SoundPanel)+
|
||||||
QString().sprintf("PLAY_SOURCE=%d,",RDLogLine::SoundPanel)+
|
QString().sprintf("PLAY_SOURCE=%d,",RDLogLine::SoundPanel)+
|
||||||
|
@ -731,9 +731,9 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
|
|||||||
//
|
//
|
||||||
// Generate Log Structure
|
// Generate Log Structure
|
||||||
//
|
//
|
||||||
QString purge_date;
|
QDate purge_date;
|
||||||
if(defaultLogShelflife()>=0) {
|
if(defaultLogShelflife()>=0) {
|
||||||
purge_date=date.addDays(defaultLogShelflife()).toString("yyyy-MM-dd");
|
purge_date=date.addDays(defaultLogShelflife());
|
||||||
}
|
}
|
||||||
sql=QString().sprintf("select NAME from LOGS where NAME=\"%s\"",
|
sql=QString().sprintf("select NAME from LOGS where NAME=\"%s\"",
|
||||||
(const char *)RDEscapeString(logname));
|
(const char *)RDEscapeString(logname));
|
||||||
@ -748,8 +748,8 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
|
|||||||
(const char *)RDEscapeString(svc_name),
|
(const char *)RDEscapeString(svc_name),
|
||||||
(const char *)RDEscapeString(RDDateDecode(descriptionTemplate(),date)),
|
(const char *)RDEscapeString(RDDateDecode(descriptionTemplate(),date)),
|
||||||
"RDLogManager");
|
"RDLogManager");
|
||||||
if(!purge_date.isEmpty()) {
|
if(!purge_date.isValid()) {
|
||||||
sql+=(",PURGE_DATE=\""+purge_date+"\"");
|
sql+=(",PURGE_DATE=\""+purge_date.toString("yyyy-MM-dd")+"\"");
|
||||||
}
|
}
|
||||||
sql+=(" where NAME=\""+RDEscapeString(logname)+"\"");
|
sql+=(" where NAME=\""+RDEscapeString(logname)+"\"");
|
||||||
|
|
||||||
@ -765,12 +765,12 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
|
|||||||
SERVICE=\"%s\",DESCRIPTION=\"%s\",\
|
SERVICE=\"%s\",DESCRIPTION=\"%s\",\
|
||||||
ORIGIN_USER=\"%s\",ORIGIN_DATETIME=now(),\
|
ORIGIN_USER=\"%s\",ORIGIN_DATETIME=now(),\
|
||||||
LINK_DATETIME=now(),MODIFIED_DATETIME=now(),\
|
LINK_DATETIME=now(),MODIFIED_DATETIME=now(),\
|
||||||
PURGE_DATE=\"%s\"",
|
PURGE_DATE=%s",
|
||||||
(const char *)RDEscapeString(logname),
|
(const char *)RDEscapeString(logname),
|
||||||
(const char *)RDEscapeString(svc_name),
|
(const char *)RDEscapeString(svc_name),
|
||||||
(const char *)RDEscapeString(RDDateDecode(descriptionTemplate(),date)),
|
(const char *)RDEscapeString(RDDateDecode(descriptionTemplate(),date)),
|
||||||
"RDLogManager",
|
"RDLogManager",
|
||||||
(const char *)purge_date);
|
(const char *)RDCheckDateTime(purge_date,"yyyy-MM-dd"));
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
|
@ -44,17 +44,23 @@ void LogTraffic(const QString &svcname,const QString &logname,
|
|||||||
if((logline==NULL)||(svcname.isEmpty())) {
|
if((logline==NULL)||(svcname.isEmpty())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString eventDateTimeSQL = "NULL";
|
||||||
|
|
||||||
|
if(datetime.isValid() && logline->startTime(RDLogLine::Actual).isValid())
|
||||||
|
eventDateTimeSQL = RDCheckDateTime(QDateTime(datetime.date(),
|
||||||
|
logline->startTime(RDLogLine::Actual)), "yyyy-MM-dd hh:mm:ss");
|
||||||
|
|
||||||
sql=QString("insert into `")+RDSvc::svcTableName(svcname)+"` set "+
|
sql=QString("insert into `")+RDSvc::svcTableName(svcname)+"` set "+
|
||||||
QString().sprintf("LENGTH=%d,",length)+
|
QString().sprintf("LENGTH=%d,",length)+
|
||||||
"LOG_NAME=\""+RDEscapeString(logname.utf8())+"\","+
|
"LOG_NAME=\""+RDEscapeString(logname.utf8())+"\","+
|
||||||
QString().sprintf("LOG_ID=%d,",logline->id())+
|
QString().sprintf("LOG_ID=%d,",logline->id())+
|
||||||
QString().sprintf("CART_NUMBER=%u,",logline->cartNumber())+
|
QString().sprintf("CART_NUMBER=%u,",logline->cartNumber())+
|
||||||
"STATION_NAME=\""+RDEscapeString(rdstation_conf->name().utf8())+"\","+
|
"STATION_NAME=\""+RDEscapeString(rdstation_conf->name().utf8())+"\","+
|
||||||
"EVENT_DATETIME=\""+datetime.toString("yyyy-MM-dd")+" "+
|
"EVENT_DATETIME="+eventDateTimeSQL+","+
|
||||||
logline->startTime(RDLogLine::Actual).toString("hh:mm:ss")+"\","+
|
|
||||||
QString().sprintf("EVENT_TYPE=%d,",action)+
|
QString().sprintf("EVENT_TYPE=%d,",action)+
|
||||||
QString().sprintf("EVENT_SOURCE=%d,",logline->source())+
|
QString().sprintf("EVENT_SOURCE=%d,",logline->source())+
|
||||||
"EXT_START_TIME=\""+logline->extStartTime().toString("hh:mm:ss")+"\","+
|
"EXT_START_TIME=\""+RDCheckDateTime(logline->extStartTime(),"hh:mm:ss")+"\","+
|
||||||
QString().sprintf("EXT_LENGTH=%d,",logline->extLength())+
|
QString().sprintf("EXT_LENGTH=%d,",logline->extLength())+
|
||||||
"EXT_DATA=\""+RDEscapeString(logline->extData())+"\","+
|
"EXT_DATA=\""+RDEscapeString(logline->extData())+"\","+
|
||||||
"EXT_EVENT_ID=\""+RDEscapeString(logline->extEventId())+"\","+
|
"EXT_EVENT_ID=\""+RDEscapeString(logline->extEventId())+"\","+
|
||||||
@ -64,8 +70,8 @@ void LogTraffic(const QString &svcname,const QString &logname,
|
|||||||
"EXT_CART_NAME=\""+RDEscapeString(logline->extCartName().utf8())+"\","+
|
"EXT_CART_NAME=\""+RDEscapeString(logline->extCartName().utf8())+"\","+
|
||||||
"TITLE=\""+RDEscapeString(logline->title().utf8())+"\","+
|
"TITLE=\""+RDEscapeString(logline->title().utf8())+"\","+
|
||||||
"ARTIST=\""+RDEscapeString(logline->artist().utf8())+"\","+
|
"ARTIST=\""+RDEscapeString(logline->artist().utf8())+"\","+
|
||||||
"SCHEDULED_TIME=\""+RDEscapeString(logline->startTime(RDLogLine::Logged).
|
"SCHEDULED_TIME="+RDCheckDateTime(logline->startTime(RDLogLine::Logged),
|
||||||
toString("hh:mm:ss"))+"\","+
|
"hh:mm:ss")+","+
|
||||||
"ISRC=\""+RDEscapeString(logline->isrc().utf8())+"\","+
|
"ISRC=\""+RDEscapeString(logline->isrc().utf8())+"\","+
|
||||||
"PUBLISHER=\""+RDEscapeString(logline->publisher().utf8())+"\","+
|
"PUBLISHER=\""+RDEscapeString(logline->publisher().utf8())+"\","+
|
||||||
"COMPOSER=\""+RDEscapeString(logline->composer().utf8())+"\","+
|
"COMPOSER=\""+RDEscapeString(logline->composer().utf8())+"\","+
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include <rd.h>
|
#include <rd.h>
|
||||||
#include <rddb.h>
|
#include <rddb.h>
|
||||||
#include <sas_switch_torture.h>
|
#include <sas_switch_torture.h>
|
||||||
|
#include <rdescape_string.h>
|
||||||
|
|
||||||
MainWidget::MainWidget(QWidget *parent)
|
MainWidget::MainWidget(QWidget *parent)
|
||||||
:QWidget(parent)
|
:QWidget(parent)
|
||||||
@ -123,13 +124,13 @@ void MainWidget::generateData()
|
|||||||
SUN=\'Y\',MON=\'Y\',TUE=\'Y\',WED=\'Y\',THU=\'Y\',\
|
SUN=\'Y\',MON=\'Y\',TUE=\'Y\',WED=\'Y\',THU=\'Y\',\
|
||||||
FRI=\'Y\',SAT=\'Y\',DESCRIPTION=\"%s\",\
|
FRI=\'Y\',SAT=\'Y\',DESCRIPTION=\"%s\",\
|
||||||
CUT_NAME=\"SAS_SWITCH_TORTURE\",\
|
CUT_NAME=\"SAS_SWITCH_TORTURE\",\
|
||||||
START_TIME=\"%s\",TYPE=1",
|
START_TIME=%s,TYPE=1",
|
||||||
SAS_STATION,
|
SAS_STATION,
|
||||||
SAS_MATRIX,
|
SAS_MATRIX,
|
||||||
j+1,
|
j+1,
|
||||||
k+1,
|
k+1,
|
||||||
(const char *)desc,
|
(const char *)desc,
|
||||||
(const char *)time.toString("hh:mm:ss"));
|
(const char *)RDCheckDateTime(time,"hh:mm:ss"));
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include <rd.h>
|
#include <rd.h>
|
||||||
#include <rddb.h>
|
#include <rddb.h>
|
||||||
#include <sas_torture.h>
|
#include <sas_torture.h>
|
||||||
|
#include <rdescape_string.h>
|
||||||
|
|
||||||
MainWidget::MainWidget(QWidget *parent)
|
MainWidget::MainWidget(QWidget *parent)
|
||||||
:QWidget(parent)
|
:QWidget(parent)
|
||||||
@ -137,11 +138,11 @@ void MainWidget::generateData()
|
|||||||
SUN=\'Y\',MON=\'Y\',TUE=\'Y\',WED=\'Y\',THU=\'Y\',\
|
SUN=\'Y\',MON=\'Y\',TUE=\'Y\',WED=\'Y\',THU=\'Y\',\
|
||||||
FRI=\'Y\',SAT=\'Y\',DESCRIPTION=\"%s\",\
|
FRI=\'Y\',SAT=\'Y\',DESCRIPTION=\"%s\",\
|
||||||
CUT_NAME=\"SAS_TORTURE\",MACRO_CART=%d,\
|
CUT_NAME=\"SAS_TORTURE\",MACRO_CART=%d,\
|
||||||
START_TIME=\"%s\",TYPE=1",
|
START_TIME=%s,TYPE=1",
|
||||||
SAS_STATION,
|
SAS_STATION,
|
||||||
(const char *)desc,
|
(const char *)desc,
|
||||||
CART_START+j,
|
CART_START+j,
|
||||||
(const char *)time.toString("hh:mm:ss"));
|
(const char *)RDCheckDateTime(time,"hh:mm:ss"));
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
|
@ -431,6 +431,12 @@ bool MainWidget::CheckSpot(const QString &isci)
|
|||||||
QDate today=QDate::currentDate();
|
QDate today=QDate::currentDate();
|
||||||
QDate killdate=dg_date_edit->date().addDays(RDDGIMPORT_KILLDATE_OFFSET);
|
QDate killdate=dg_date_edit->date().addDays(RDDGIMPORT_KILLDATE_OFFSET);
|
||||||
|
|
||||||
|
QString endDateTimeSQL = "NULL";
|
||||||
|
|
||||||
|
if(killdate.isValid())
|
||||||
|
endDateTimeSQL = RDCheckDateTime(QDateTime(killdate,QTime(23,59,59)),
|
||||||
|
"yyyy-MM-dd hh:mm:ss");
|
||||||
|
|
||||||
sql=QString("select CUT_NAME,CUTS.START_DATETIME,CUTS.END_DATETIME ")+
|
sql=QString("select CUT_NAME,CUTS.START_DATETIME,CUTS.END_DATETIME ")+
|
||||||
"from CART left join CUTS on CART.NUMBER=CUTS.CART_NUMBER "+
|
"from CART left join CUTS on CART.NUMBER=CUTS.CART_NUMBER "+
|
||||||
"where (CART.GROUP_NAME=\""+RDEscapeString(dg_svc->autospotGroup())+"\")&&"
|
"where (CART.GROUP_NAME=\""+RDEscapeString(dg_svc->autospotGroup())+"\")&&"
|
||||||
@ -443,7 +449,7 @@ bool MainWidget::CheckSpot(const QString &isci)
|
|||||||
if(q->value(1).isNull()) {
|
if(q->value(1).isNull()) {
|
||||||
sql+="START_DATETIME=\""+today.toString("yyyy-MM-dd")+" 00:00:00\",";
|
sql+="START_DATETIME=\""+today.toString("yyyy-MM-dd")+" 00:00:00\",";
|
||||||
}
|
}
|
||||||
sql+="END_DATETIME=\""+killdate.toString("yyyy-MM-dd")+" 23:59:59\" ";
|
sql+="END_DATETIME="+endDateTimeSQL+" ";
|
||||||
sql+="where CUT_NAME=\""+q->value(0).toString()+"\"";
|
sql+="where CUT_NAME=\""+q->value(0).toString()+"\"";
|
||||||
q1=new RDSqlQuery(sql);
|
q1=new RDSqlQuery(sql);
|
||||||
delete q1;
|
delete q1;
|
||||||
|
@ -1864,15 +1864,15 @@ void MainObject::WriteTimestampCache(const QString &filename,
|
|||||||
sql=QString().sprintf("insert into DROPBOX_PATHS set \
|
sql=QString().sprintf("insert into DROPBOX_PATHS set \
|
||||||
DROPBOX_ID=%d,\
|
DROPBOX_ID=%d,\
|
||||||
FILE_PATH=\"%s\",\
|
FILE_PATH=\"%s\",\
|
||||||
FILE_DATETIME=\"%s\"",
|
FILE_DATETIME=%s",
|
||||||
import_persistent_dropbox_id,
|
import_persistent_dropbox_id,
|
||||||
(const char *)RDEscapeString(filename),
|
(const char *)RDEscapeString(filename),
|
||||||
(const char *)dt.toString("yyyy-MM-dd hh:mm:ss"));
|
(const char *)RDCheckDateTime(dt,"yyyy-MM-dd hh:mm:ss"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sql=QString().sprintf("update DROPBOX_PATHS set FILE_DATETIME=\"%s\" \
|
sql=QString().sprintf("update DROPBOX_PATHS set FILE_DATETIME=%s \
|
||||||
where (DROPBOX_ID=%d)&&(FILE_PATH=\"%s\")",
|
where (DROPBOX_ID=%d)&&(FILE_PATH=\"%s\")",
|
||||||
(const char *)dt.toString("yyyy-MM-dd hh:mm:ss"),
|
(const char *)RDCheckDateTime(dt,"yyyy-MM-dd hh:mm:ss"),
|
||||||
import_persistent_dropbox_id,
|
import_persistent_dropbox_id,
|
||||||
(const char *)RDEscapeString(filename));
|
(const char *)RDEscapeString(filename));
|
||||||
}
|
}
|
||||||
|
@ -1310,7 +1310,7 @@ void MainObject::CommitCast()
|
|||||||
ITEM_SOURCE_TEXT=\"%s\",\
|
ITEM_SOURCE_TEXT=\"%s\",\
|
||||||
ITEM_SOURCE_URL=\"%s\",\
|
ITEM_SOURCE_URL=\"%s\",\
|
||||||
SHELF_LIFE=%d,\
|
SHELF_LIFE=%d,\
|
||||||
EFFECTIVE_DATETIME=\"%s\" \
|
EFFECTIVE_DATETIME=%s \
|
||||||
where ID=%d",
|
where ID=%d",
|
||||||
status,
|
status,
|
||||||
(const char *)RDEscapeString(item_title),
|
(const char *)RDEscapeString(item_title),
|
||||||
@ -1322,8 +1322,8 @@ void MainObject::CommitCast()
|
|||||||
(const char *)RDEscapeString(item_source_text),
|
(const char *)RDEscapeString(item_source_text),
|
||||||
(const char *)RDEscapeString(item_source_url),
|
(const char *)RDEscapeString(item_source_url),
|
||||||
shelf_life,
|
shelf_life,
|
||||||
(const char *)RDLocalToUtc(effective_datetime).
|
(const char *)RDCheckDateTime(RDLocalToUtc(effective_datetime),
|
||||||
toString("yyyy-MM-dd hh:mm:ss"),
|
"yyyy-MM-dd hh:mm:ss"),
|
||||||
cast_cast_id);
|
cast_cast_id);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user