// obtain parameters from create_params
NParams = coa_GetElementCount(cnx, create_params);
for(pos = 0; pos<NParams; pos+=2)
{
if (!strcmp(coa_GetElement(cnx, create_params, pos),"name")) name = ap_pstrdup(p, coa_GetElement(cnx,create_params, pos+1));
if (!strcmp(coa_GetElement(cnx, create_params, pos),"columns")) str_cols = ap_pstrdup(p, coa_GetElement(cnx,create_params, pos+1));
if (!strcmp(coa_GetElement(cnx, create_params, pos),"rows")) str_rows = ap_pstrdup(p, coa_GetElement(cnx,create_params, pos+1));
}
cols = strtol(str_cols, NULL, 10);
rows = strtol(str_rows, NULL, 10);
if(cols < 1) cols = 1;
if(rows < 1) rows = 1;
if(rows > 200)
{
rows = 200;
cou_sendMessageX(cnx, "Maksymalnie możesz podać 200 dla ilości wierszy", CO_MSG_FORCE);
}
if(cols > 200)
{
cols = 200;
cou_sendMessageX(cnx, "Maksymalnie możesz podać 200 dla ilości kolumn", CO_MSG_FORCE);
}
// create spreadsheet
@co_call(par_area,'"generic_acl"',"create",par_area=>par_area,par_class=>'"spreadsheet"',par_id=>-1,dont_set_acl=>dont_set_acl);
__GET_RETURNED_INTEGER(new_id)
check_security = cnx->check_security;
cnx->check_security = 0;
@co_call(par_area,par_class,"update",par_area=>par_area,par_class=>'"spreadsheet"',version=>0,par_id=>new_id,par_prop=>'"name"',new_value=>name);
cnx->check_security = check_security;
// create rows
for (i=0;i<rows;i++)
{
__CREATE_QUERY("INSERT INTO co_%s_spreadsheet_row(row_number,spreadsheet_id) VALUES(%d,%d)",par_area,i+1,new_id)
__SQL_EXEC
}
// create columns
for (i=0;i<cols;i++)
{
__CREATE_QUERY("INSERT INTO co_%s_spreadsheet_column(column_number,spreadsheet_id) VALUES(%d,%d)",par_area,i+1,new_id)
__SQL_EXEC
}
__RETURN_INTEGER( new_id)