void ListReplicatorCarts::refreshTimeoutData() { QString sql; RDSqlQuery *q; RDListViewItem *item; sql=QString("select ")+ "ID,"+ "ITEM_DATETIME "+ "from REPL_CART_STATE where "+ "REPLICATOR_NAME=\""+RDEscapeString(list_replicator_name)+"\""; q=new RDSqlQuery(sql); while(q->next()) { item=(RDListViewItem *)list_view->firstChild(); while(item!=NULL) { if(item->id()==q->value(0).toInt()) { item->setText(3,q->value(1). toDateTime().toString("hh:mm:ss dd/MM/yyyy")); break; } item=(RDListViewItem *)item->nextSibling(); } } delete q; list_refresh_timer->start(5000,true); }
void ListNodes::RefreshList() { QString sql; RDSqlQuery *q; RDListViewItem *item; list_list_view->clear(); sql=QString().sprintf("select ID,HOSTNAME,DESCRIPTION,BASE_OUTPUT,TCP_PORT \ from SWITCHER_NODES \ where (STATION_NAME=\"%s\")&&(MATRIX=%d)", (const char *)list_matrix->station(), list_matrix->matrix()); q=new RDSqlQuery(sql); while(q->next()) { item=new RDListViewItem(list_list_view); item->setId(q->value(0).toInt()); item->setText(0,q->value(1).toString()); item->setText(1,q->value(2).toString()); if(q->value(3).toInt()==0) { item->setText(2,tr("[none]")); } else { item->setText(2,QString().sprintf("%d",q->value(3).toInt())); } item->setText(3,q->value(4).toString()); } delete q; }
RDLogLine::RDLogLine(unsigned cartnum) { QString sql; RDSqlQuery *q; clear(); log_cart_number=cartnum; sql=QString().sprintf("select GROUP_NAME,TITLE,ARTIST,ALBUM,YEAR,LABEL,\ CLIENT,AGENCY,COMPOSER,PUBLISHER,USER_DEFINED \ from CART where NUMBER=%u",log_cart_number); q=new RDSqlQuery(sql); if(q->first()) { log_group_name=q->value(0).toString(); log_title=q->value(1).toString(); log_artist=q->value(2).toString(); log_album=q->value(3).toString(); log_year=QDate(q->value(4).toInt(),1,1); log_label=q->value(5).toString(); log_client=q->value(6).toString(); log_agency=q->value(7).toString(); log_composer=q->value(8).toString(); log_publisher=q->value(9).toString(); log_user_defined=q->value(10).toString(); } delete q; }
unsigned RDCartSlot::SelectCart(const QString &svcname,unsigned msecs) { QString sql; RDSqlQuery *q; unsigned cartnum=0; int diff=1000000; sql=QString("select AUTOFILLS.CART_NUMBER,CART.FORCED_LENGTH from ")+ "AUTOFILLS left join CART on AUTOFILLS.CART_NUMBER=CART.NUMBER"+ QString(). sprintf(" where (CART.FORCED_LENGTH>%u)&&(CART.FORCED_LENGTH<%u)&&", (unsigned)((double)msecs*RD_TIMESCALE_MIN), (unsigned)((double)msecs*RD_TIMESCALE_MAX))+ "(SERVICE=\""+RDEscapeString(svcname)+"\")"; q=new RDSqlQuery(sql); while(q->next()) { int cur_diff = msecs-q->value(1).toInt(); if(::abs(cur_diff)<diff) { cartnum=q->value(0).toUInt(); diff=::abs(cur_diff); } } delete q; return cartnum; }
void ListEncoders::addData() { QString name; QString sql; RDSqlQuery *q; RDSqlQuery *q1; AddEncoder *ad=new AddEncoder(&name,list_stationname,this); if(ad->exec()==0) { sql=QString().sprintf("select ID from ENCODERS \ where (NAME=\"%s\")&&(STATION_NAME=\"%s\")", (const char *)RDEscapeString(name), (const char *)RDEscapeString(list_stationname)); q=new RDSqlQuery(sql); if(q->first()) { EditEncoder *ee=new EditEncoder(q->value(0).toInt()); if(ee->exec()==0) { RDListViewItem *item=new RDListViewItem(list_list_view); item->setId(q->value(0).toInt()); item->setText(0,name); RefreshItem(item); list_list_view->ensureItemVisible(item); } else { sql=QString().sprintf("delete from ENCODERS \ where (NAME=\"%s\")&&(STATION_NAME=\"%s\")", (const char *)RDEscapeString(name), (const char *)RDEscapeString(list_stationname)); q1=new RDSqlQuery(sql); delete q1; } delete ee; }
void RDLogLine::refreshPointers() { if(log_cut_name.isEmpty()) { return; } QString sql; RDSqlQuery *q; sql=QString().sprintf("select START_POINT,END_POINT,\ SEGUE_START_POINT,SEGUE_END_POINT,\ TALK_START_POINT,TALK_END_POINT,\ FADEUP_POINT,FADEDOWN_POINT,\ HOOK_START_POINT,HOOK_END_POINT from CUTS\ where CUT_NAME=\"%s\"", (const char *)log_cut_name); q=new RDSqlQuery(sql); if(q->first()) { log_start_point[RDLogLine::CartPointer]=q->value(0).toInt(); log_end_point[RDLogLine::CartPointer]=q->value(1).toInt(); log_segue_start_point[RDLogLine::CartPointer]=q->value(2).toInt(); log_segue_end_point[RDLogLine::CartPointer]=q->value(3).toInt(); log_talk_start=q->value(4).toInt(); log_talk_end=q->value(5).toInt(); log_talk_length=log_talk_end-log_talk_start; log_fadeup_point[RDLogLine::CartPointer]=q->value(6).toInt(); log_fadedown_point[RDLogLine::CartPointer]=q->value(7).toInt(); log_hook_start=q->value(8).toInt(); log_hook_end=q->value(9).toInt(); } delete q; }
void ListCasts::GetEncoderId() { QString sql; RDSqlQuery *q; list_encoder_id=-1; RDFeed *feed=new RDFeed(list_feed_id); int format=feed->uploadFormat(); delete feed; if((format>0)&&(format<100)) { // Built-in format list_encoder_id=format; return; } sql=QString().sprintf("select NAME from ENCODERS where ID=%d",format); q=new RDSqlQuery(sql); if(q->first()) { sql=QString().sprintf("select ID from ENCODERS \ where (NAME=\"%s\")&&(STATION_NAME=\"%s\")", (const char *)RDEscapeString(q->value(0).toString()), (const char *)RDEscapeString(rdstation_conf->name())); delete q; q=new RDSqlQuery(sql); if(q->first()) { list_encoder_id=q->value(0).toInt(); } }
int RDSchedCodesDialog::exec(QStringList *sched_codes,QStringList *remove_codes) { QString sql; RDSqlQuery *q; edit_sched_codes=sched_codes; edit_remove_codes=remove_codes; // // Fix the Window Size // if(edit_remove_codes==NULL) { setMinimumWidth(sizeHint().width()); setMaximumWidth(sizeHint().width()); } else { setMinimumWidth(2*sizeHint().width()); setMaximumWidth(2*sizeHint().width()); } setMinimumHeight(sizeHint().height()); setMaximumHeight(sizeHint().height()); codes_sel->clear(); remove_codes_sel->clear(); if(edit_remove_codes==NULL) { codes_sel->destSetLabel(tr("Assigned Codes")); codes_sel->show(); remove_codes_sel->hide(); } else { codes_sel->destSetLabel(tr("ASSIGN to Carts")); codes_sel->hide(); remove_codes_sel->show(); } for(int i=0;i<edit_sched_codes->size();i++) { codes_sel->destInsertItem((*edit_sched_codes)[i]); } if(edit_remove_codes!=NULL) { for(int i=0;i<edit_remove_codes->size();i++) { remove_codes_sel->destInsertItem((*remove_codes)[i]); } } sql=QString().sprintf("select CODE from SCHED_CODES"); q=new RDSqlQuery(sql); while(q->next()) { if(codes_sel->destFindItem(q->value(0).toString())==0) { codes_sel->sourceInsertItem(q->value(0).toString()); } if(edit_remove_codes!=NULL) { if(remove_codes_sel->destFindItem(q->value(0).toString())==0) { remove_codes_sel->sourceInsertItem(q->value(0).toString()); } } } delete q; return QDialog::exec(); }
void ListReports::GenerateCartDumpCsv(QString *report,bool prepend_names) { QString sql; RDSqlQuery *q; QString schedcode=""; if(list_schedcode!=tr("ALL")) { schedcode=list_schedcode; } // // Prepend Field Names // if(prepend_names) { *report="CART,CUT,GROUP_NAME,TITLE,ARTIST,ALBUM,YEAR,ISRC,ISCI,LABEL,"; *report+="CLIENT,AGENCY,PUBLISHER,COMPOSER,USER_DEFINED,LENGTH\n"; } // // Generate Rows // if(list_type_filter.isEmpty()) { return; } sql="select CUTS.CUT_NAME,CART.GROUP_NAME,CART.TITLE,CART.ARTIST,CART.ALBUM,\ CART.YEAR,CUTS.ISRC,CUTS.ISCI,CART.LABEL,CART.CLIENT,CART.AGENCY,\ CART.PUBLISHER,CART.COMPOSER,CART.USER_DEFINED,CUTS.LENGTH from CART \ join CUTS on CART.NUMBER=CUTS.CART_NUMBER"; if(list_group==QString("ALL")) { sql+=QString(" where ")+ RDAllCartSearchText(list_filter,schedcode,lib_user->name(),true)+" && "+ list_type_filter+" order by CUTS.CUT_NAME"; } else { sql=QString(" where ")+ RDCartSearchText(list_filter,list_group,schedcode,true)+" && "+ list_type_filter+" order by CUTS.CUT_NAME"; } q=new RDSqlQuery(sql); while(q->next()) { *report+=QString().sprintf("%u,",RDCut::cartNumber(q->value(0).toString())); *report+=QString().sprintf("%u,",RDCut::cutNumber(q->value(0).toString())); *report+="\""+q->value(1).toString()+"\","; *report+="\""+q->value(2).toString()+"\","; *report+="\""+q->value(3).toString()+"\","; *report+="\""+q->value(4).toString()+"\","; *report+="\""+q->value(5).toString()+"\","; *report+="\""+q->value(6).toString()+"\","; *report+="\""+q->value(7).toString()+"\","; *report+="\""+q->value(8).toString()+"\","; *report+="\""+q->value(9).toString()+"\","; *report+="\""+q->value(10).toString()+"\","; *report+="\""+q->value(11).toString()+"\","; *report+="\""+q->value(12).toString()+"\","; *report+="\""+q->value(13).toString()+"\","; *report+="\""+RDGetTimeLength(q->value(14).toInt(),false,false)+"\","; *report+="\n"; } }
void RDCutDialog::BuildGroupList() { QString sql; RDSqlQuery *q; cut_group_box->clear(); cut_group_box->insertItem(tr("ALL")); if(rda->user()->name().isEmpty()) { sql="select NAME from GROUPS order by NAME desc"; } else { sql=QString("select GROUP_NAME from USER_PERMS where ")+ "USER_NAME=\""+RDEscapeString(rda->user()->name())+"\" "+ "order by GROUP_NAME desc"; } q=new RDSqlQuery(sql); while(q->next()) { cut_group_box->insertItem(q->value(0).toString(),true); } delete q; // // Preselect Group // if(cut_group!=NULL) { for(int i=0;i<cut_group_box->count();i++) { if(*cut_group==cut_group_box->text(i)) { cut_group_box->setCurrentItem(i); return; } } } // // Scheduler Codes // cut_schedcode_box->clear(); cut_schedcode_box->insertItem(tr("ALL")); sql="select CODE from SCHED_CODES"; q=new RDSqlQuery(sql); while(q->next()) { cut_schedcode_box->insertItem(q->value(0).toString()); } delete q; // // Preselect Scheduler Code // if(cut_schedcode!=NULL) { for(int i=0;i<cut_schedcode_box->count();i++) { if(*cut_schedcode==cut_schedcode_box->text(i)) { cut_schedcode_box->setCurrentItem(i); return; } } } }
void RDListLogs::RefreshList() { RDSqlQuery *q; QString sql; QListViewItem *l; QListViewItem *view_item=NULL; QDate current_date=QDate::currentDate(); QStringList services_list; list_log_list->clear(); if (list_user != 0) { // RDStation::UserSec services_list = list_user->services(); } else { // RDStation::HostSec sql=QString().sprintf("select SERVICE_NAME from SERVICE_PERMS \ where STATION_NAME=\"%s\"", (const char *)list_stationname); RDSqlQuery *q=new RDSqlQuery(sql); while(q->next()) { services_list.append( q->value(0).toString() ); } delete q; } if(services_list.size()==0) { return; } sql=QString().sprintf("select NAME,DESCRIPTION,SERVICE from LOGS \ where (TYPE=0)&&(LOG_EXISTS=\"Y\")&&\ ((START_DATE<=\"%s\")||(START_DATE=\"0000-00-00\"))&&\ ((END_DATE>=\"%s\")||(END_DATE=\"0000-00-00\"))&&(", (const char *)current_date.toString("yyyy-MM-dd"), (const char *)current_date.toString("yyyy-MM-dd")); for ( QStringList::Iterator it = services_list.begin(); it != services_list.end(); ++it ) { sql+=QString().sprintf("SERVICE=\"%s\"||", (const char *)*it); } sql=sql.left(sql.length()-2); sql+=")"; q=new RDSqlQuery(sql); while(q->next()) { l=new QListViewItem(list_log_list); l->setText(0,q->value(0).toString()); l->setText(1,q->value(1).toString()); l->setText(2,q->value(2).toString()); if(l->text(0)==*list_logname) { view_item=l; } } delete q; if(view_item!=NULL) { list_log_list->setCurrentItem(view_item); list_log_list->ensureItemVisible(view_item); } }
void AddFeed::okData() { QString sql; RDSqlQuery *q; RDSqlQuery *q1; sql=QString("select KEY_NAME from FEEDS where ")+ "KEY_NAME=\""+RDEscapeString(feed_keyname_edit->text())+"\""; q=new RDSqlQuery(sql); if(q->first()) { QMessageBox::warning(this,tr("Add Feed Error"), tr("A feed with that key name already exists!")); delete q; return; } delete q; // // Create Default Feed Perms // if(feed_users_box->isChecked()) { sql=QString("select LOGIN_NAME from USERS where ")+ "(ADMIN_USERS_PRIV='N')&&(ADMIN_CONFIG_PRIV='N')"; q=new RDSqlQuery(sql); while(q->next()) { sql=QString("insert into FEED_PERMS set ")+ "USER_NAME=\""+RDEscapeString(q->value(0).toString())+"\","+ "KEY_NAME=\""+RDEscapeString(feed_keyname_edit->text())+"\""; q1=new RDSqlQuery(sql); delete q1; } delete q; } // // Create Feed // sql=QString("insert into FEEDS set ")+ "KEY_NAME=\""+RDEscapeString(feed_keyname_edit->text())+"\","+ "ORIGIN_DATETIME=now(),"+ "HEADER_XML=\""+RDEscapeString(DEFAULT_HEADER_XML)+"\","+ "CHANNEL_XML=\""+RDEscapeString(DEFAULT_CHANNEL_XML)+"\","+ "ITEM_XML=\""+RDEscapeString(DEFAULT_ITEM_XML)+"\""; q=new RDSqlQuery(sql); delete q; sql=QString("select ID from FEEDS where ")+ "KEY_NAME=\""+RDEscapeString(feed_keyname_edit->text())+"\""; q=new RDSqlQuery(sql); if(q->first()) { *feed_id=q->value(0).toUInt(); } delete q; *feed_keyname=feed_keyname_edit->text(); done(0); }
void MainWidget::UpdateLabelsUp(int last_line) { QString sql; RDSqlQuery *q; int count=0; int count_limit=GPIMON_ROWS*GPIMON_COLS; bool last_updated=false; QString tablename="GPIS"; for(int i=0;i<(GPIMON_ROWS*GPIMON_COLS);i++) { gpi_labels[i]->hide(); } switch((RDMatrix::GpioType)gpi_type_box->currentItem()) { case RDMatrix::GpioInput: tablename="GPIS"; break; case RDMatrix::GpioOutput: tablename="GPOS"; break; } sql=QString("select ")+ "NUMBER,"+ "OFF_MACRO_CART,"+ "MACRO_CART "+ "from "+tablename+" where "+ "(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+ QString().sprintf("(MATRIX=%d)&&",gpi_matrix->matrix())+ QString().sprintf("(NUMBER<=%d) ",last_line)+ "order by NUMBER desc"; q=new RDSqlQuery(sql); if(q->size()<count_limit) { count_limit=q->size(); } while(q->next()&&(count<count_limit)) { gpi_labels[count_limit-count-1]->setLine(q->value(0).toInt()-1); gpi_labels[count_limit-count-1]-> setCart(q->value(1).toUInt(),q->value(2).toUInt()); gpi_labels[count_limit-count-1]->show(); if(!last_updated) { gpi_last_line=q->value(0).toInt(); last_updated=true; } gpi_first_line=q->value(0).toInt(); count++; } gpi_up_button->setEnabled(q->next()); delete q; }
void DeckMon::SetCutInfo(int id,const QString &cutname) { QString sql; RDSqlQuery *q; RDSqlQuery *q1; if(id<0) { mon_cut_label->setText(tr("[multiple events]")); return; } if(id==0) { mon_cut_label->setText(""); return; } sql=QString().sprintf("select DESCRIPTION from RECORDINGS where ID=%d",id); q=new RDSqlQuery(sql); if(!q->first()) { if(cutname.isEmpty()) { mon_cut_label->setText(tr("[unknown cut]")); } else { sql=QString("select ")+ "CART.TITLE,"+ "CUTS.DESCRIPTION "+ "from CART left join CUTS "+ "on CART.NUMBER=CUTS.CART_NUMBER where "+ "CUTS.CUT_NAME=\""+RDEscapeString(cutname)+"\""; q1=new RDSqlQuery(sql); if(q1->first()) { mon_cut_label-> setText(q1->value(0).toString()+"->"+q1->value(1).toString()); } else { mon_cut_label->setText(tr("[unknown cut]")); } delete q1; } delete q; return; } if(q->value(0).toString().isEmpty()) { mon_cut_label->setText(tr("[no description]")); delete q; return; } mon_cut_label->setText(q->value(0).toString()); delete q; }
void MainObject::LoadReplicators() { QString sql; RDSqlQuery *q; ReplConfig *config; sql=QString("select ")+ "NAME,"+ // 00 "TYPE_ID,"+ // 01 "FORMAT,"+ // 02 "CHANNELS,"+ // 03 "SAMPRATE,"+ // 04 "BITRATE,"+ // 05 "QUALITY,"+ // 06 "URL,"+ // 07 "URL_USERNAME,"+ // 08 "URL_PASSWORD,"+ // 09 "ENABLE_METADATA,"+ // 10 "NORMALIZATION_LEVEL "+ // 11 "from REPLICATORS where "+ "STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\""; q=new RDSqlQuery(sql); while(q->next()) { config=new ReplConfig(); config->setName(q->value(0).toString()); config->setType((RDReplicator::Type)q->value(1).toUInt()); config->setFormat((RDSettings::Format)q->value(2).toUInt()); config->setChannels(q->value(3).toUInt()); config->setSampleRate(q->value(4).toUInt()); config->setBitRate(q->value(5).toUInt()); config->setQuality(q->value(6).toUInt()); config->setUrl(q->value(7).toString()); config->setUrlUsername(q->value(8).toString()); config->setUrlPassword(q->value(9).toString()); config->setEnableMetadata(RDBool(q->value(10).toString())); config->setNormalizeLevel(q->value(11).toInt()); switch(config->type()) { case RDReplicator::TypeCitadelXds: repl_replicators.push_back(new CitadelXds(config)); break; case RDReplicator::TypeLast: break; } repl_replicators.back()->startProcess(); } delete q; }
void EditJack::addData() { QString sql; RDSqlQuery *q; RDSqlQuery *q1; RDListViewItem *item=NULL; sql=QString("insert into JACK_CLIENTS set ")+ "STATION_NAME=\""+RDEscapeString(edit_station->name())+"\","+ "DESCRIPTION=\"\",COMMAND_LINE=\"\""; q=new RDSqlQuery(sql); delete q; sql="select last_insert_id() from JACK_CLIENTS"; q=new RDSqlQuery(sql); if(q->first()) { item=new RDListViewItem(edit_jack_client_view); item->setId(q->value(0).toInt()); QString desc=tr("[New Client]"); QString cmd=""; EditJackClient *d=new EditJackClient(edit_station,this); if(d->exec(&desc,&cmd)==0) { item->setText(0,desc); item->setText(1,cmd); } else { sql=QString().sprintf("delete from JACK_CLIENTS where ID=%d",item->id()); q1=new RDSqlQuery(sql); delete q1; delete item; } } delete q; }
void RDIncrementCastCount(QString keyname,unsigned cast_id) { QString sql; RDSqlQuery *q; QDate current_date=QDate::currentDate(); keyname.replace(" ","_"); /* FIXME: Table locking kills updates. Why? sql=QString().sprintf("lock tables %s_FLG read",(const char *)keyname); q=new RDSqlQuery(sql); delete q; */ sql=QString().sprintf("select ACCESS_COUNT from %s_FLG where \ (CAST_ID=%u)&&(ACCESS_DATE=\"%s\")", (const char *)keyname, cast_id, (const char *)current_date.toString("yyyy-MM-dd")); q=new RDSqlQuery(sql); if(q->first()) { sql=QString().sprintf("update %s_FLG set ACCESS_COUNT=%u where \ (CAST_ID=%u)&&(ACCESS_DATE=\"%s\")", (const char *)keyname, q->value(0).toUInt()+1,cast_id, (const char *)current_date.toString("yyyy-MM-dd")); }
void Xport::ListSchedCodes() { QString sql; RDSqlQuery *q; RDSchedCode *schedcode; // // Generate Scheduler Code List // sql=QString("select CODE from SCHED_CODES order by CODE"); q=new RDSqlQuery(sql); // // Process Request // printf("Content-type: application/xml\n"); printf("Status: 200\n\n"); printf("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"); printf("<schedCodeList>\n"); while(q->next()) { schedcode=new RDSchedCode(q->value(0).toString()); printf("%s",(const char *)schedcode->xml().utf8()); delete schedcode; } printf("</schedCodeList>\n"); delete q; Exit(0); }
void MainObject::New(const QString &logname) { QString sql; RDSqlQuery *q; if(edit_log!=NULL) { delete edit_log; } if(edit_log_event!=NULL) { delete edit_log_event; } edit_log=new RDLog(logname); if(!edit_log->exists()) { edit_log_event=new RDLogEvent(RDLog::tableName(logname)); edit_description=logname+" log"; sql=QString("select NAME from SERVICES"); q=new RDSqlQuery(sql); if(q->first()) { edit_service=q->value(0).toString(); } delete q; edit_start_date=QDate(); edit_end_date=QDate(); edit_purge_date=QDate(); edit_auto_refresh=false; edit_new_log=true; edit_modified=false; } else { fprintf(stderr,"new: log already exists\n"); } }
QStringList RDUser::services() const { RDSqlQuery *q; QString sql; QStringList services_list; if (adminConfig()) { sql=QString().sprintf("SELECT NAME FROM SERVICES" ); } else { sql=QString().sprintf("select distinct AUDIO_PERMS.SERVICE_NAME \ from USER_PERMS left join AUDIO_PERMS \ on USER_PERMS.GROUP_NAME=AUDIO_PERMS.GROUP_NAME \ where USER_PERMS.USER_NAME=\"%s\"", (const char *)RDEscapeString(user_name)); } q=new RDSqlQuery(sql); while (q->next() ) { services_list.append( q->value(0).toString() ); } delete q; return services_list; }
void MainObject::Deletelog(QString logname) { QString sql; RDSqlQuery *q; // // Normalize log name case // // FIXME: This should really be handled by use of collations in the // where clause. // sql=QString("select NAME from LOGS where ")+ "NAME=\""+RDEscapeString(logname)+"\""; q=new RDSqlQuery(sql); if(q->first()) { logname=q->value(0).toString(); } delete q; if((edit_log==NULL)||(edit_log->name()!=logname)) { RDLog *log=new RDLog(logname); if(log->exists()) { if(!log->remove(rda->station(),rda->user(),rda->config())) { fprintf(stderr,"deletelog: audio deletion error, log not deleted\n"); } } else { fprintf(stderr,"deletelog: no such log\n"); } delete log; } else { fprintf(stderr,"deletelog: log currently loaded (try \"unload\" first)\n"); } }
int RDLog::removeTracks(RDStation *station,RDUser *user,RDConfig *config) const { QString sql; RDSqlQuery *q; int count=0; RDCart *cart; QString owner=log_name; owner.replace(" ","_"); sql=QString().sprintf("select NUMBER from CART where OWNER=\"%s\"", (const char *)owner); q=new RDSqlQuery(sql); while(q->next()) { cart=new RDCart(q->value(0).toUInt()); if(!cart->remove(station,user,config)) { delete cart; return -1; } delete cart; count++; } delete q; return count; }
void MainWidget::RefreshList() { RDSqlQuery *q; QString sql; ListListViewItem *item; log_log_list->clear(); // Note: clear here, in case user has no perms. sql=QString("select NAME from LOGS where ")+ "(TYPE=0)&&"+ "(LOG_EXISTS=\"Y\")"; if(log_service_box->currentItem()!=0) { sql+="&&(SERVICE=\""+RDEscapeString(log_service_box->currentText())+"\")"; } QString filter=log_filter_edit->text(); if(!filter.isEmpty()) { sql+="&&((NAME like \"%%"+RDEscapeString(filter)+"%%\")||"; sql+="(DESCRIPTION like \"%%"+RDEscapeString(filter)+"%%\")||"; sql+="(SERVICE like \"%%"+RDEscapeString(filter)+"%%\"))"; } if(log_recent_check->isChecked()) { sql+=QString().sprintf("order by ORIGIN_DATETIME desc limit %d", RDLOGEDIT_LIMIT_QUAN); } q=new RDSqlQuery(sql); while(q->next()) { item=new ListListViewItem(log_log_list); item->setText(1,q->value(0).toString()); RefreshItem(item); } delete q; }
// // Global Classes // RDLibraryConf::RDLibraryConf(const QString &station,unsigned instance) { RDSqlQuery *q; QString sql; lib_station=station; lib_instance=instance; sql=QString().sprintf("select ID from RDLIBRARY where STATION=\"%s\" && INSTANCE=%d", (const char *)lib_station, lib_instance); q=new RDSqlQuery(sql); if(!q->first()) { delete q; sql=QString().sprintf("insert into RDLIBRARY set STATION=\"%s\",INSTANCE=%d", (const char *)lib_station, lib_instance); q=new RDSqlQuery(sql); delete q; sql=QString().sprintf("select ID from RDLIBRARY where STATION=\"%s\" && INSTANCE=%d", (const char *)lib_station, lib_instance); q=new RDSqlQuery(sql); q->first(); } lib_id=q->value(0).toUInt(); delete q; }
void EditDecks::matrixActivatedData(const QString &str) { QString sql; RDSqlQuery *q; if(str.isEmpty()) { edit_swoutput_label->setDisabled(true); edit_swoutput_box->setDisabled(true); edit_swdelay_label->setDisabled(true); edit_swdelay_unit->setDisabled(true); edit_swdelay_box->setDisabled(true); return; } edit_swoutput_label->setEnabled(true); edit_swoutput_box->setEnabled(true); edit_swdelay_label->setEnabled(true); edit_swdelay_unit->setEnabled(true); edit_swdelay_box->setEnabled(true); edit_swoutput_box->clear(); if(edit_swmatrix_box->currentItem()>=(int)edit_matrix_ids.size()) { return; } int matrix=edit_matrix_ids[edit_swmatrix_box->currentItem()]; sql=QString("select NAME from OUTPUTS where ")+ "(STATION_NAME=\""+RDEscapeString(edit_swstation_box->currentText())+ "\")&&"+ QString().sprintf("(MATRIX=%d)&&",matrix)+ "(NAME!=\"\")"; q=new RDSqlQuery(sql); while(q->next()) { edit_swoutput_box->insertItem(q->value(0).toString()); } delete q; }
QVariant RDGetSqlValue(const QString &table, const QString &name1,const QString &test1, const QString &name2,const QString &test2, const QString &name3,const QString &test3, const QString ¶m,QSqlDatabase *db,bool *valid) { RDSqlQuery *q; QString sql; QVariant v; sql="select `"+param+"` from `"+table+"` where "+ "(`"+name1+"`=\""+RDEscapeString(test1)+"\")&&"+ "(`"+name2+"`=\""+RDEscapeString(test1)+"\")&&"+ "(`"+name3+"`=\""+RDEscapeString(test1)+"\")"; q=new RDSqlQuery(sql,db); if(q->isActive()) { q->first(); v=q->value(0); if(valid!=NULL) { *valid=!q->isNull(0); } delete q; return v; } delete q; return QVariant(); }
void Xport::ListGroups() { QString sql; RDSqlQuery *q; RDGroup *group; // // Generate Group List // sql=QString().sprintf("select GROUP_NAME from USER_PERMS \ where USER_NAME=\"%s\" order by GROUP_NAME", (const char *)RDEscapeString(rdcgi->user()->name())); q=new RDSqlQuery(sql); // // Process Request // printf("Content-type: application/xml\n"); printf("Status: 200\n\n"); printf("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"); printf("<groupList>\n"); while(q->next()) { group=new RDGroup(q->value(0).toString()); printf("%s",(const char *)group->xml()); delete group; } printf("</groupList>\n"); delete q; Exit(0); }
void ListAuxFields::deleteData() { QString sql; RDSqlQuery *q; RDListViewItem *item=(RDListViewItem *)list_list_view->selectedItem(); if(item==NULL) { return; } if(QMessageBox::question(this,tr("Warning"), tr("This will delete all data associated with this field!\nAre you sure you want to continue?"),QMessageBox::Yes,QMessageBox::No)==QMessageBox::No) { return; } sql=QString().sprintf("select KEY_NAME from FEEDS where ID=%d",list_feed_id); q=new RDSqlQuery(sql); if(q->first()) { QString keyname=q->value(0).toString(); delete q; keyname.replace(" ","_"); QString varname=item->text(0).mid(1,item->text(0).length()-2); sql=QString().sprintf("alter table %s_FIELDS drop column %s", (const char *)keyname,(const char *)varname); q=new RDSqlQuery(sql); } delete q; sql=QString().sprintf("delete from AUX_METADATA where ID=%d",item->id()); q=new RDSqlQuery(sql); delete q; delete item; }
QString RDCartDialog::GetSearchFilter(const QString &filter, const QString &group, const QString &schedcode) { QString sql; RDSqlQuery *q; QString sched=""; if(schedcode!=tr("ALL")) { sched=schedcode; } QString search=RDCartSearchText(filter,group,sched,false).utf8(); // // Excluded Groups // sql=QString().sprintf("select NAME from GROUPS where "); for(int i=1;i<cart_group_box->count();i++) { sql+=QString("(NAME!=\"")+RDEscapeString(cart_group_box->text(i))+"\")&&"; } sql=sql.left(sql.length()-2); q=new RDSqlQuery(sql); while(q->next()) { search+=QString("&&(GROUP_NAME!=\"")+ RDEscapeString(q->value(0).toString())+"\")"; } delete q; return search; }
void MainObject::LoadLocalMacros() { QString sql; RDSqlQuery *q; unsigned tty_port; for(int i=0;i<MAX_MATRICES;i++) { ripcd_switcher_tty[i][0]=-1; ripcd_switcher_tty[i][1]=-1; } for(int i=0;i<MAX_TTYS;i++) { ripcd_tty_inuse[i]=false; ripcd_tty_dev[i]=NULL; } // // Initialize Matrices // sql=QString().sprintf("select MATRIX,TYPE,PORT,INPUTS,OUTPUTS from MATRICES \ where STATION_NAME=\"%s\"", (const char *)rdstation->name()); q=new RDSqlQuery(sql); while(q->next()) { if(!LoadSwitchDriver(q->value(0).toInt())) { LogLine(RDConfig::LogErr,QString(). sprintf("attempted to load unknown switcher driver for matrix %d", q->value(0).toInt())); } } delete q; // // Initialize TTYs // sql=QString().sprintf("select PORT_ID,PORT,BAUD_RATE,DATA_BITS,PARITY,\ TERMINATION from TTYS where (STATION_NAME=\"%s\")&&\ (ACTIVE=\"Y\")", (const char *)rdstation->name()); q=new RDSqlQuery(sql); while(q->next()) { tty_port=q->value(0).toUInt(); if(!ripcd_tty_inuse[tty_port]) { ripcd_tty_dev[tty_port]=new RDTTYDevice(); ripcd_tty_dev[tty_port]->setName(q->value(1).toString()); ripcd_tty_dev[tty_port]->setSpeed(q->value(2).toInt()); ripcd_tty_dev[tty_port]->setWordLength(q->value(3).toInt()); ripcd_tty_dev[tty_port]-> setParity((RDTTYDevice::Parity)q->value(4).toInt()); if(ripcd_tty_dev[tty_port]->open(IO_ReadWrite)) { ripcd_tty_term[tty_port]=(RDTty::Termination)q->value(5).toInt(); ripcd_tty_inuse[tty_port]=true; ripcd_tty_trap[tty_port]=new RDCodeTrap(this); connect(ripcd_tty_trap[tty_port],SIGNAL(trapped(int)), this,SLOT(ttyTrapData(int))); } else { delete ripcd_tty_dev[tty_port];