292 lines
8.0 KiB
Plaintext
292 lines
8.0 KiB
Plaintext
#include "ui.h"
|
|
#include <errno.h>
|
|
|
|
void archive_db_confirm(mySession *session, char *name, int type)
|
|
{
|
|
if ( session->textonly == 0 )
|
|
{
|
|
@ <html><head><title>SGI Embedded Support Partner - ver.1.0</title>
|
|
@ <body bgcolor="#E3E6D8">
|
|
@table border=0 cellpadding=0 cellspacing=0 width=100%
|
|
@row
|
|
@cell bgcolor="#C7CDB5" width="15"
|
|
@
|
|
@endcell
|
|
@cell bgcolor="#C7CDB5"
|
|
@ Archive Database
|
|
@endcell
|
|
@endrow
|
|
@row
|
|
@cell colspan=2
|
|
@ <p>
|
|
@endcell
|
|
@endrow
|
|
@row
|
|
@cell
|
|
@
|
|
@endcell
|
|
@cell
|
|
@format "Archive <b>%s</b> was successfully removed." name
|
|
@endcell
|
|
@endrow
|
|
@endtable
|
|
@ </body></html>
|
|
}
|
|
else
|
|
{
|
|
@ <html><head><title>SGI Embedded Support Partner - ver.1.0</title>
|
|
@ <body bgcolor="#E3E6D8">
|
|
@ <pre> Archive Database</pre>
|
|
@ <hr width=100%>
|
|
@format "<p>Archive <b>%s</b> was successfully removed." name
|
|
@ </body></html>
|
|
}
|
|
}
|
|
|
|
void archive_list(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
|
|
ssdb_Error_Handle error_handle,CMDPAIR *cmdp)
|
|
{
|
|
ssdb_Request_Handle req_handle;
|
|
const char **vector;
|
|
int number_of_records,rec_sequence;
|
|
|
|
if (!(req_handle = ssdbSendRequest(error_handle,connection,SSDB_REQTYPE_SELECT,
|
|
"select arc_id,dbname,startdate,enddate from archive_list order by arc_id")))
|
|
{
|
|
sscError(hError,"Database API Error: \"%s\"\n\n",ssdbGetLastErrorString(error_handle));
|
|
return;
|
|
}
|
|
|
|
if((number_of_records = getnumrecords(hError,error_handle,req_handle)) > 0)
|
|
{
|
|
if ( session->textonly == 0 )
|
|
{
|
|
@ Choose the database to be deleted:
|
|
@ <select name="ssdbs">
|
|
@ <option value=0>Database Archive Name(s)
|
|
}
|
|
else
|
|
{
|
|
@ Choose the database to be deleted:
|
|
@ <p><select name="ssdbs">
|
|
@ <option value=0>Database Archive Name(s)\n
|
|
}
|
|
for (rec_sequence=0; rec_sequence < number_of_records; rec_sequence++)
|
|
{
|
|
vector = ssdbGetRow(error_handle,req_handle);
|
|
if(vector)
|
|
@format "<option value=\"%s\">%s (%s - %s)\n" vector[1] vector[1] vector[2] vector[3]
|
|
}
|
|
ssdbFreeRequest(error_handle,req_handle);
|
|
@ </select>
|
|
@ <p><INPUT TYPE="SUBMIT" VALUE=" Delete Database ">
|
|
}
|
|
else
|
|
{
|
|
if ( session->textonly == 0 )
|
|
{
|
|
@ <b>There are no archives at this time.</b>
|
|
}
|
|
else
|
|
{
|
|
@ <p>There are no archives at this time.
|
|
}
|
|
}
|
|
}
|
|
|
|
void archive_table(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
|
|
ssdb_Error_Handle error_handle,CMDPAIR *cmdp)
|
|
{
|
|
ssdb_Request_Handle req_handle;
|
|
const char **vector;
|
|
int number_of_records,rec_sequence;
|
|
char startdate[40],event_time[16],enddate[40];
|
|
|
|
|
|
if ( session->textonly == 0 )
|
|
{
|
|
@table border=4 cellpadding=6 cellspacing=1
|
|
@row align=center
|
|
@cell colspan=2
|
|
@ <b>Database Name</b>
|
|
@endcell
|
|
@cell
|
|
@ <b>Start Date</b>
|
|
@endcell
|
|
@cell
|
|
@ <b>End Date</b>
|
|
@endcell
|
|
@endrow
|
|
@row
|
|
@cell
|
|
@ <input type="radio" name="dbname" value="ssdb" checked>
|
|
@endcell
|
|
@cell
|
|
@ Active Database
|
|
@endcell
|
|
@cell
|
|
}
|
|
else
|
|
{
|
|
@ <p><pre>
|
|
@format " -------------------------------------------------------\n"
|
|
@format " | Database Name | Start Date | End Date |\n"
|
|
@format " |-----------------------------------------------------|\n"
|
|
@format " |<input type=\"radio\" name=\"dbname\" value=\"ssdb\"> | Active Database |"
|
|
}
|
|
|
|
if (!(req_handle = ssdbSendRequest(error_handle,connection,SSDB_REQTYPE_SELECT,
|
|
"select event_start from event where event_id=1")))
|
|
{
|
|
sscError(hError,"Database API Error: \"%s\"\n\n",ssdbGetLastErrorString(error_handle));
|
|
return;
|
|
}
|
|
if((number_of_records = getnumrecords(hError,error_handle,req_handle)) > 0)
|
|
{
|
|
vector = ssdbGetRow(error_handle,req_handle);
|
|
if(vector)
|
|
{
|
|
makedate(atoi(vector[0]),startdate,event_time);
|
|
if ( session->textonly == 0 )
|
|
@format "%s" startdate
|
|
else
|
|
@format " %-10.10s |" startdate
|
|
}
|
|
else
|
|
{
|
|
if ( session->textonly == 0 )
|
|
@ Current
|
|
else
|
|
@format " Current |"
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ( session->textonly == 0 )
|
|
@ Current
|
|
else
|
|
@format " Current |"
|
|
}
|
|
ssdbFreeRequest(error_handle,req_handle);
|
|
|
|
if ( session->textonly == 0 )
|
|
{
|
|
@endcell
|
|
@cell
|
|
@ Current
|
|
@endcell
|
|
@endrow
|
|
}
|
|
else
|
|
{
|
|
@format " Current |\n"
|
|
}
|
|
|
|
if (!(req_handle = ssdbSendRequest(error_handle,connection,SSDB_REQTYPE_SELECT,
|
|
"select arc_id,dbname,startdate,enddate from archive_list order by arc_id")))
|
|
{
|
|
sscError(hError,"Database API Error: \"%s\"\n\n",ssdbGetLastErrorString(error_handle));
|
|
return;
|
|
}
|
|
if((number_of_records = getnumrecords(hError,error_handle,req_handle)) > 0)
|
|
{
|
|
for(rec_sequence = 0; rec_sequence < number_of_records; rec_sequence++)
|
|
{
|
|
vector = ssdbGetRow(error_handle,req_handle);
|
|
if(vector)
|
|
{
|
|
if ( session->textonly == 0 )
|
|
{
|
|
@row
|
|
@cell
|
|
@format "<input type=\"radio\" name=\"dbname\" value=\"%s\">" vector[1]
|
|
@endcell
|
|
@cell
|
|
@format "%s" vector[1]
|
|
@endcell
|
|
@cell
|
|
@format "%s" vector[2]
|
|
@endcell
|
|
@cell
|
|
@format "%s" vector[3]
|
|
@endcell
|
|
@endrow
|
|
}
|
|
else
|
|
{
|
|
@format " |-----------------------------------------------------|\n"
|
|
@format " |<input type=\"radio\" name=\"dbname\" value=\"%s\"> |" vector[1]
|
|
@format " %-15.15s |" vector[1]
|
|
|
|
@format " %-10.10s |" vector[2]
|
|
|
|
@format " %-10.10s |\n" vector[3]
|
|
}
|
|
}
|
|
}
|
|
ssdbFreeRequest(error_handle,req_handle);
|
|
}
|
|
if ( session->textonly == 0 )
|
|
{
|
|
@endtable
|
|
}
|
|
else
|
|
{
|
|
@format " -------------------------------------------------------</pre>\n"
|
|
}
|
|
}
|
|
|
|
void delete_archive(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
|
|
ssdb_Error_Handle error_handle,CMDPAIR *cmdp)
|
|
{
|
|
ssdb_Request_Handle req_handle;
|
|
const char **vector;
|
|
int number_of_records,rec_sequence,common_int;
|
|
char dbnames[80];
|
|
|
|
if(!get_variable(hError,cmdp,CHARTYPE,"ssdbs",dbnames,&common_int,1000))
|
|
return;
|
|
|
|
/* We are going to delete archive logicaly */
|
|
req_handle = ssdbSendRequest(error_handle,connection,SSDB_REQTYPE_DELETE,
|
|
"delete from archive_list where dbname='%s'",dbnames);
|
|
if ( req_handle == NULL )
|
|
{
|
|
sscError(hError,"Database API Error: \"%s\"\n\n",ssdbGetLastErrorString(error_handle));
|
|
return;
|
|
}
|
|
ssdbFreeRequest(error_handle,req_handle);
|
|
|
|
/* Then physicaly */
|
|
if (!(req_handle = ssdbSendRequest(error_handle,connection,SSDB_REQTYPE_DROPDATABASE,
|
|
"drop database if exists %s",dbnames)))
|
|
{
|
|
sscError(hError,"Database API Error: \"%s\"\n\n",ssdbGetLastErrorString(error_handle));
|
|
return;
|
|
}
|
|
ssdbFreeRequest(error_handle,req_handle);
|
|
|
|
|
|
/* Then References */
|
|
req_handle = ssdbSendRequest(error_handle,connection,SSDB_REQTYPE_DELETE,
|
|
"delete from mysql.db where Db='%s'",dbnames);
|
|
if ( req_handle == NULL )
|
|
{
|
|
sscError(hError,"Database API Error: \"%s\"\n\n",ssdbGetLastErrorString(error_handle));
|
|
return;
|
|
}
|
|
ssdbFreeRequest(error_handle,req_handle);
|
|
|
|
req_handle = ssdbSendRequest(error_handle,connection,SSDB_REQTYPE_DELETE,
|
|
"delete from mysql.host where Db='%s'",dbnames);
|
|
if (req_handle == NULL )
|
|
{
|
|
sscError(hError,"Database API Error: \"%s\"\n\n",ssdbGetLastErrorString(error_handle));
|
|
return;
|
|
}
|
|
ssdbFreeRequest(error_handle,req_handle);
|
|
|
|
system("/usr/sbin/ssdbadmin reload");
|
|
archive_db_confirm(session,dbnames,0);
|
|
}
|