Esempio n. 1
0
void MainObject::Saveas(const QString &logname)
{
  QString sql;
  RDSqlQuery *q;

  RDLog *log=new RDLog(logname);
  if(!log->exists()) {
    sql=QString("insert into LOGS set ")+
      "NAME=\""+RDEscapeString(logname)+"\","+
      "TYPE=0,"+
      "DESCRIPTION=\""+RDEscapeString(edit_description)+"\","+
      "ORIGIN_USER=\""+RDEscapeString(rda->user()->name())+"\","+
      "ORIGIN_DATETIME=now(),"+
      "LINK_DATETIME=now(),"+
      "MODIFIED_DATETIME=now(),"+
      "START_DATE="+RDCheckDateTime(edit_start_date,"yyyy-MM-dd")+","+
      "END_DATE="+RDCheckDateTime(edit_end_date,"yyyy-MM-dd")+","+
      "PURGE_DATE="+RDCheckDateTime(edit_purge_date,"yyyy-MM-dd")+","+
      "AUTO_REFRESH=\""+RDYesNo(edit_auto_refresh)+"\","+
      "SERVICE=\""+RDEscapeString(edit_service)+"\"";
    q=new RDSqlQuery(sql);
    delete q;
    RDCreateLogTable(RDLog::tableName(logname));
    edit_log_event->setLogName(RDLog::tableName(logname));
    edit_log_event->save();
    delete edit_log;
    edit_log=log;
    edit_modified=false;
    edit_new_log=false;
  }
  else {
    fprintf(stderr,"saveas: log already exists\n");
    delete log;
  }
}
Esempio n. 2
0
void RDRecording::SetRow(const QString &param,const QTime &value) const
{
  RDSqlQuery *q;
  QString sql;

  sql=QString("update RECORDINGS set ")+
    param+"="+RDCheckDateTime(value,"hh:mm:ss")+" where "+
    QString().sprintf("ID=%d",rec_id);
  q=new RDSqlQuery(sql);
  delete q;
}
Esempio n. 3
0
void RDLog::SetRow(const QString &param,const QDateTime &value) const
{
  RDSqlQuery *q;
  QString sql;

  sql=QString().sprintf("UPDATE LOGS SET %s=%s WHERE NAME=\"%s\"",
			(const char *)param,
			(const char *)RDCheckDateTime(value,"yyyy-MM-dd hh:mm:ss"),
			(const char *)RDEscapeString(log_name));
  q=new RDSqlQuery(sql);
  delete q;
}
Esempio n. 4
0
void RDFeed::SetRow(const QString &param,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;
}
void RDCartSlot::LogPlayout(RDPlayDeck::State state)
{
  if(state==RDPlayDeck::Playing) {
    RDCut *cut=new RDCut(slot_logline->cutName());
    cut->logPlayout();
    delete cut;
  }
  if((state!=RDPlayDeck::Stopped)&&(state!=RDPlayDeck::Finished)) {
    return;
  }
  RDAirPlayConf::TrafficAction action=RDAirPlayConf::TrafficFinish;
  if(state==RDPlayDeck::Stopped) {
    action=RDAirPlayConf::TrafficStop;
  }
  QString sql;
  RDSqlQuery *q;
  QDateTime datetime=QDateTime(QDate::currentDate(),QTime::currentTime());
  int length=
    slot_logline->startTime(RDLogLine::Actual).msecsTo(datetime.time());
  if(length<0) {  // Event crossed midnight!
    length+=86400000;
    datetime.setDate(datetime.date().addDays(-1));
  }
  if(!slot_svcname.isEmpty()) {
    QDateTime eventDateTime(datetime.date(), 
          slot_logline->startTime(RDLogLine::Actual));
    QString svctablename=slot_svcname;
    svctablename.replace(" ","_");
    sql=QString("insert into `")+svctablename+"_SRT` set "+
      QString().sprintf("LENGTH=%d,LOG_ID=%d,CART_NUMBER=%u,EVENT_TYPE=%d,\
                       EVENT_SOURCE=%d,EXT_LENGTH=%d,PLAY_SOURCE=%d,	\
                       CUT_NUMBER=%d,USAGE_CODE=%d,START_SOURCE=%d,",
			length,
			slot_number+1,
			slot_logline->cartNumber(),
			action,
			slot_logline->source(),
			slot_logline->extLength(),
			RDLogLine::CartSlot,
			slot_logline->cutNumber(),
			slot_logline->usageCode(),
			slot_logline->startSource())+
      "STATION_NAME=\""+RDEscapeString(slot_station->name())+"\","+
      "EVENT_DATETIME="+RDCheckDateTime(eventDateTime,"yyyy-MM-dd hh:mm:ss")+
      ","+
      "EXT_START_TIME="+RDCheckDateTime(
                 slot_logline->extStartTime(),"hh:mm:ss")+","+
      "EXT_DATA=\""+RDEscapeString(slot_logline->extData())+"\","+
      "EXT_EVENT_ID=\""+RDEscapeString(slot_logline->extEventId())+"\","+
      "EXT_ANNC_TYPE=\""+RDEscapeString(slot_logline->extAnncType())+"\","+
      "EXT_CART_NAME=\""+RDEscapeString(slot_logline->extCartName())+"\","+
      "TITLE=\""+RDEscapeString(slot_logline->title())+"\","+
      "ARTIST=\""+RDEscapeString(slot_logline->artist())+"\","+
      "SCHEDULED_TIME="+
      RDCheckDateTime(slot_logline->startTime(RDLogLine::Logged),"hh:mm:ss")+","+
      "ISRC=\""+RDEscapeString(slot_logline->isrc())+"\","+
      "PUBLISHER=\""+RDEscapeString(slot_logline->publisher())+"\","+
      "COMPOSER=\""+RDEscapeString(slot_logline->composer())+"\","+
      "ONAIR_FLAG=\""+RDYesNo(slot_ripc->onairFlag())+"\","+
      "ALBUM=\""+RDEscapeString(slot_logline->album())+"\","+
      "LABEL=\""+RDEscapeString(slot_logline->label())+"\","+
      "CONDUCTOR=\""+RDEscapeString(slot_logline->conductor())+"\","+
      "USER_DEFINED=\""+RDEscapeString(slot_logline->userDefined())+"\","+
      "SONG_ID=\""+RDEscapeString(slot_logline->songId())+"\","+
      "DESCRIPTION=\""+RDEscapeString(slot_logline->description())+"\","+
      "OUTCUE=\""+RDEscapeString(slot_logline->outcue())+"\","+
      "ISCI=\""+RDEscapeString(slot_logline->isci())+"\"";
    q=new RDSqlQuery(sql);
    delete q;
  }