00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifdef HAVE_CONFIG_H
00027 #include <config.h>
00028 #endif
00029
00030 #include <gtk/gtk.h>
00031 #include <mysql/mysql.h>
00032 #include <stdlib.h>
00033 #include <stdio.h>
00034
00035 #include "callbacks.h"
00036 #include "interface.h"
00037 #include "support.h"
00038
00039 MYSQL *conx;
00040 gchar *userGL, *passGL, *hostGL, *dbGL;
00041
00042
00043
00044
00045 void
00046 on_loginWidow_destroy_event (GtkWidget *widget,
00047 GdkEvent *event,
00048 gpointer user_data)
00049 {
00050 gtk_main_quit ();
00051 }
00052
00053
00054
00055 void
00056 on_quitBtn_clicked (GtkButton *button,
00057 gpointer user_data)
00058 {
00059 gtk_main_quit ();
00060 }
00061
00062
00063
00064
00065 void
00066 on_loginButton_clicked (GtkButton *button,
00067 gpointer user_data)
00068 {
00069
00070 GtkWidget *main;
00071 MYSQL conn;
00072
00073 gchar host_text[100]="";
00074 gchar table_text[100]="";
00075 gchar user_text[100]="";
00076 gchar pass_text[100]="";
00077
00078
00079
00080 GtkWidget * notice = lookup_widget(GTK_WIDGET(button), "noticeLabel");
00081 GtkWidget * host = lookup_widget(GTK_WIDGET(button), "hostname");
00082 GtkWidget * table = lookup_widget(GTK_WIDGET(button), "tablename");
00083 GtkWidget * user = lookup_widget(GTK_WIDGET(button), "username");
00084 GtkWidget * pass = lookup_widget(GTK_WIDGET(button), "password");
00085
00086 GtkWidget * login = lookup_widget(GTK_WIDGET(button), "loginWidow");
00087
00088
00089
00090 g_print("Vozdra administrator!\n\n");
00091
00092 strcat(host_text,gtk_entry_get_text(GTK_ENTRY(host)));
00093 strcat(table_text,gtk_entry_get_text(GTK_ENTRY(table)));
00094 strcat(user_text,gtk_entry_get_text(GTK_ENTRY(user)));
00095 strcat(pass_text,gtk_entry_get_text(GTK_ENTRY(pass)));
00096
00097 hostGL = g_strconcat(gtk_entry_get_text(GTK_ENTRY(host)), 0L);
00098 passGL = g_strconcat(gtk_entry_get_text(GTK_ENTRY(pass)), 0L);
00099 userGL = g_strconcat(gtk_entry_get_text(GTK_ENTRY(user)), 0L);
00100 dbGL = g_strconcat(gtk_entry_get_text(GTK_ENTRY(table)), 0L);
00101
00102 g_print("Odabrani host : %s\n", host_text);
00103 g_print("Odabrana baza : %s\n\n", table_text);
00104
00105
00106 g_print("Probavamo login..\n");
00107
00108
00109 conx = mysql_init((MYSQL *)0L);
00110
00111 mysql_real_connect (conx, host_text, user_text, pass_text, table_text, 0, NULL, 0);
00112 conn = *conx;
00113
00114 if (&conn == NULL)
00115 {
00116 g_print("Konekcija na bazu nije uspjela.\n");
00117 return;
00118 }
00119 else {
00120 if (mysql_query (&conn, "SELECT sss.sss_id, fakultet.fax, linkovi_kategorije.kat_id FROM sss, fakultet, linkovi_kategorije LIMIT 0, 1") != 0)
00121 {
00122 g_print("Date informacije nisu dobre...pokusaj ponovo\n");
00123 gtk_label_set_text(GTK_LABEL(notice),"Neuspjesan Login. Pokusaj ponovo!");
00124 return;
00125 }
00126
00127 else
00128 {
00129 gtk_label_set_text(GTK_LABEL(notice),"Login uspjesan!");
00130 g_print("Login prosao...dobra baza odabrana\n");
00131 g_print("Slijedi odabir operacija...\n");
00132 main = create_mainWindow ();
00133 gtk_widget_show (main);
00134 gtk_widget_destroy (login);
00135 }
00136 }
00137 }
00138
00139
00140
00141
00142 void
00143 on_prefBtn_clicked (GtkButton *button,
00144 gpointer user_data)
00145 {
00146
00147 GtkWidget *pref;
00148 MYSQL conn;
00149 MYSQL_RES *result_set;
00150 MYSQL_ROW db_row;
00151 int rows;
00152 gchar *faks, *uni, *adr, *mjesto, *drz, *tel, *fax, *mail, *web;
00153 GError *error;
00154
00155
00156 g_print("\nSlijede osnovna podesavanja...\n");
00157
00158 conn = *conx;
00159
00160 if (mysql_query (&conn, "SELECT * FROM fakultet LIMIT 0,1") != 0)
00161 {
00162 g_print("Greska prilikom spajanja na bazu...\n");
00163 return;
00164 }
00165 else
00166 {
00167 result_set = mysql_store_result (&conn);
00168 db_row = mysql_fetch_row (result_set);
00169 rows = mysql_num_rows(result_set);
00170
00171 if (rows == 0){
00172 g_print("Podesvamo prvi put\n");
00173 faks = "";
00174 uni = "";
00175 adr = "";
00176 mjesto = "";
00177 drz = "";
00178 tel = "";
00179 fax = "";
00180 mail = "";
00181 web = "";
00182
00183 }
00184 else {
00185 faks = g_convert (db_row[0], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00186 uni = g_convert (db_row[1], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00187 adr = g_convert (db_row[2], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00188 mjesto = g_convert (db_row[3], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00189 drz = g_convert (db_row[4], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00190 tel = g_convert (db_row[5], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00191 fax = g_convert (db_row[6], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00192 mail = g_convert (db_row[7], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00193 web = g_convert (db_row[8], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00194
00195
00196 g_print("Fakultet : %s\n", faks);
00197 g_print("Univerzitet : %s\n", uni);
00198 g_print("Adresa : %s\n", adr);
00199 g_print("Mjesto : %s\n", mjesto);
00200 g_print("Drzava : %s\n", drz);
00201 g_print("Telefon : %s\n", tel);
00202 g_print("Fax : %s\n", fax);
00203 g_print("Email : %s\n", mail);
00204 g_print("Web : %s\n", web);
00205
00206
00207 }
00208 pref = create_prefWindow (faks, uni, adr, mjesto, drz,
00209 tel, fax, mail, web);
00210 gtk_widget_show (pref);
00211 }
00212 }
00213
00214
00215
00216
00217 void
00218 on_prefQuitBtn_clicked (GtkButton *button,
00219 gpointer user_data)
00220 {
00221 GtkWidget * pref = lookup_widget(GTK_WIDGET(button), "prefWindow");
00222 g_print("\nOdustajemo od promjena osnovnih postavki...\n");
00223 gtk_widget_destroy (pref);
00224 }
00225
00226
00227
00228
00229 void
00230 on_prefOkBtn_clicked (GtkButton *button,
00231 gpointer user_data)
00232 {
00233 MYSQL conn, conn1;
00234 MYSQL_RES *result_set;
00235 MYSQL_ROW db_row;
00236 int rows;
00237 gchar *ime_text, *uni_text, *adresa_text, *mjesto_text, *drz_text, *tel_text, *fax_text, *mail_text, *web_text;
00238 gchar *sql;
00239 GError *error;
00240
00241 GtkWidget * pref = lookup_widget(GTK_WIDGET(button), "prefWindow");
00242
00243 GtkWidget * fakime = lookup_widget(GTK_WIDGET(button), "fakime");
00244 GtkWidget * fakuni = lookup_widget(GTK_WIDGET(button), "fakuni");
00245 GtkWidget * fakadresa = lookup_widget(GTK_WIDGET(button), "fakadresa");
00246 GtkWidget * fakmjesto = lookup_widget(GTK_WIDGET(button), "fakmjesto");
00247 GtkWidget * fakdrz = lookup_widget(GTK_WIDGET(button), "fakdrz");
00248 GtkWidget * faktel = lookup_widget(GTK_WIDGET(button), "faktel");
00249 GtkWidget * fakfax = lookup_widget(GTK_WIDGET(button), "fakfax");
00250 GtkWidget * fakemail = lookup_widget(GTK_WIDGET(button), "fakemail");
00251 GtkWidget * fakweb = lookup_widget(GTK_WIDGET(button), "fakweb");
00252 GtkWidget * label = lookup_widget(GTK_WIDGET(button), "label66");
00253
00254 ime_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(fakime)), 0L);
00255 uni_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(fakuni)), 0L);
00256 adresa_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(fakadresa)), 0L);
00257 mjesto_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(fakmjesto)), 0L);
00258 drz_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(fakdrz)), 0L);
00259 tel_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(faktel)), 0L);
00260 fax_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(fakfax)), 0L);
00261 mail_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(fakemail)), 0L);
00262 web_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(fakweb)), 0L);
00263
00264 g_print("\nSacuvavamo nove Osnovne postavke\n\n");
00265 g_print("Odabrani naziv : %s\n", ime_text);
00266 g_print("Odabrani univerzitet : %s\n", uni_text);
00267 g_print("Odabrana adresa : %s\n", adresa_text);
00268 g_print("Odabrano mjesto : %s\n", mjesto_text);
00269 g_print("Odabrana drzava : %s\n", drz_text);
00270 g_print("Odabrani tel : %s\n", tel_text);
00271 g_print("Odabrani fax : %s\n", fax_text);
00272 g_print("Odabrani email : %s\n", mail_text);
00273 g_print("Odabrana Web adresa : %s\n", web_text);
00274
00275 ime_text = g_convert (ime_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00276 uni_text = g_convert (uni_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00277 adresa_text = g_convert (adresa_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00278 mjesto_text = g_convert (mjesto_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00279 drz_text = g_convert (drz_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00280 tel_text = g_convert (tel_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00281 fax_text = g_convert (fax_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00282 mail_text = g_convert (mail_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00283 web_text = g_convert (web_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00284
00285 conn = *conx;
00286
00287 if (mysql_query (&conn, "SELECT * FROM fakultet LIMIT 0,1") != 0)
00288 {
00289 g_print("Greska prilikom spajanja na bazu...\n");
00290 return;
00291 }
00292 else
00293 {
00294 result_set = mysql_store_result (&conn);
00295 db_row = mysql_fetch_row (result_set);
00296 rows = mysql_num_rows(result_set);
00297
00298 if (rows == 0){
00299 sql = g_strconcat("INSERT INTO fakultet VALUES ('", ime_text, "','", uni_text, "', '",adresa_text, "', '", mjesto_text,"','",drz_text, "','", tel_text, "','", fax_text, "', '", mail_text, "' , web_adresa = '", web_text,"')", 0L);
00300 g_print("\n %s \n", sql);
00301 }
00302 else {
00303 sql = g_strconcat("UPDATE fakultet SET naziv_fakulteta = '", ime_text, "', univerzitet = '", uni_text, "', adresa = '",adresa_text, "' ,mjesto = '", mjesto_text,"', drzava = '",drz_text, "', kontakt_telefon = '", tel_text, "', fax = '", fax_text, "', email = '", mail_text, "' , web_adresa = '", web_text,"'", 0L);
00304 }
00305
00306 conn1 = *conx;
00307 if (mysql_query (&conn1, sql) != 0)
00308 {
00309 g_print("\nGreska prilikom spajanja na bazu...\n");
00310 gtk_label_set_text(GTK_LABEL(label),"Greska! Pokusaj ponovo.");
00311 return;
00312 }
00313 else
00314 {
00315 g_print("\nOperacija uspjesna!\n");
00316 gtk_widget_destroy (pref);
00317 }
00318 }
00319 }
00320
00321
00322
00323
00324 gchar * getParent(gchar *pkat_id){
00325
00326 MYSQL conn;
00327 MYSQL_RES *result_set;
00328 MYSQL_ROW db_row;
00329 gchar *sql="", *naziv="";
00330 gchar *pid;
00331 GError *error;
00332 gint rows=0;
00333
00334
00335 sql = g_strconcat("SELECT parent_id, kat_naslov FROM linkovi_kategorije WHERE kat_id = '", pkat_id,"'", 0L);
00336
00337 conn = *conx;
00338
00339
00340
00341 if (mysql_query (&conn, sql) != 0)
00342 {
00343 g_print("\nGreska prilikom spajanja na bazu...\n");
00344 return;
00345 }
00346 else
00347 {
00348 result_set = mysql_store_result (&conn);
00349 rows = mysql_num_rows (result_set);
00350
00351 if (rows!=0){
00352 db_row = mysql_fetch_row(result_set);
00353 pid = db_row[0];
00354
00355
00356 if (pid!="0"){
00357 naziv = g_strconcat(getParent(pid), 0L);
00358
00359 }
00360
00361 naziv = g_strconcat(naziv,"/",db_row[1],0L);
00362 }
00363
00364 }
00365 return naziv;
00366 }
00367
00368
00369
00370
00371
00372 void
00373 on_prefAddLink_clicked (GtkButton *button,
00374 gpointer user_data)
00375 {
00376 GtkWidget *link;
00377 MYSQL conn;
00378 MYSQL_RES *result_set;
00379 MYSQL_ROW db_row;
00380 gint rows=0;
00381 gchar *sql;
00382 gint count=0;
00383 GError *error;
00384
00385 GList *linkCombo_items = NULL;
00386 g_print("\nDodavanje novog linka...\n");
00387
00388 sql = "SELECT kat_id FROM linkovi_kategorije ORDER BY parent_id";
00389
00390 conn = *conx;
00391 if (mysql_query (&conn, sql) != 0)
00392 {
00393 g_print("\nGreska prilikom spajanja na bazu...\n");
00394 return;
00395 }
00396 else {
00397 result_set = mysql_store_result (&conn);
00398 rows = mysql_num_rows (result_set);
00399 if (rows == 0){
00400 GtkWidget *info;
00401 g_print("\n Nije unesena niti jedna kategorija! \n");
00402 info = create_infoWindow ("\n Nije unesena niti jedna kategorija! \n");
00403 gtk_widget_show (info);
00404 }
00405 else {
00406 gchar *kategorija[rows][2];
00407 gchar *lista_kategorija[rows];
00408 count = 0;
00409 g_print("\nSlijedi lista kategorija :\n");
00410 while ((db_row = mysql_fetch_row (result_set)) != 0L){
00411
00412 kategorija[count][0] = db_row[0];
00413 kategorija[count][1] = getParent(db_row[0]);
00414 lista_kategorija[count] = g_strconcat(kategorija[count][0]," ) ",kategorija[count][1], 0L);
00415
00416 lista_kategorija[count] = g_convert (lista_kategorija[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00417
00418 g_print("%s\n", lista_kategorija[count]);
00419
00420 linkCombo_items = g_list_append (linkCombo_items, lista_kategorija[count]);
00421
00422 count++;
00423 }
00424 link = create_linkAddWindow (linkCombo_items);
00425 gtk_widget_show (link);
00426 }
00427 }
00428
00429 }
00430
00431
00432
00433
00434
00435 void
00436 on_linkNewAddBtn_clicked (GtkButton *button,
00437 gpointer user_data)
00438 {
00439 MYSQL conn;
00440 MYSQL_RES *result_set;
00441 MYSQL_ROW db_row;
00442 gint rows=0;
00443 gchar *ime, *url, *opis, *kat_long, *kat, *sql, *ime_iso;
00444 GtkTextBuffer *buffer;
00445 GtkTextIter iter_start, iter_end;
00446 GError *error;
00447
00448 GtkWidget * linkWin = lookup_widget(GTK_WIDGET(button), "linkAddWindow");
00449 GtkWidget * linkTitle = lookup_widget(GTK_WIDGET(button), "linkTitle");
00450 GtkWidget * linkIme = lookup_widget(GTK_WIDGET(button), "linkIme");
00451 GtkWidget * linkUrl = lookup_widget(GTK_WIDGET(button), "linkUrl");
00452 GtkWidget * linkOpis = lookup_widget(GTK_WIDGET(button), "linkOpis");
00453 GtkWidget * linkComboEntry = lookup_widget(GTK_WIDGET(button), "linkComboEntry");
00454
00455 g_print("\nDodajemo novi link...\n");
00456
00457
00458 url = g_strconcat(gtk_entry_get_text(GTK_ENTRY(linkUrl)), 0L);
00459 ime = g_strconcat(gtk_entry_get_text(GTK_ENTRY(linkIme)));
00460
00461
00462
00463 buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (linkOpis));
00464 gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(buffer), &iter_start,&iter_end);
00465 gtk_text_buffer_get_text(GTK_TEXT_BUFFER(buffer), &iter_start,&iter_end, TRUE);
00466
00467 opis = gtk_text_buffer_get_text(buffer, &iter_start, &iter_end, FALSE);
00468 kat_long = g_strconcat(gtk_entry_get_text(GTK_ENTRY(linkComboEntry)), 0L);
00469
00470 kat = g_strndup (kat_long, 2);
00471 g_print("\nNaziv linka : %s\n",ime);
00472 g_print("URL linka : %s\n",url);
00473 g_print("Opis linka : %s\n",opis);
00474 g_print("U kategoriju : %s\n",kat);
00475
00476
00477
00478 if (g_strcasecmp(kat, "!") == 0){
00479 g_print("\nKategorija nije dobro odabrana!\n");
00480 gtk_label_set_text(GTK_LABEL(linkTitle),"Kategorija nije dobro odabrana\n");
00481 }
00482 else {
00483 if (g_strcasecmp(ime, "") == 0){
00484 g_print("\nNaslov linka nije unesen!\n");
00485 gtk_label_set_text(GTK_LABEL(linkTitle),"Naslov linka nije unesen\n");
00486 }
00487 else {
00488 if (g_strcasecmp(url, "") == 0){
00489 g_print("\nURL linka nije unesen!\n");
00490 gtk_label_set_text(GTK_LABEL(linkTitle),"URL linka nije unesen\n");
00491 }
00492 else {
00493 if (g_strcasecmp(opis, "") == 0){
00494 g_print("\nOpis linka nije unesen!\n");
00495 gtk_label_set_text(GTK_LABEL(linkTitle),"Opis linka nije unesen\n");
00496 }
00497 else {
00498
00499 kat = g_convert (kat, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00500 ime = g_convert (ime, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00501 url = g_convert (url, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00502 opis = g_convert (opis, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00503
00504 sql = g_strconcat("INSERT INTO linkovi_links VALUES ('auto_increment','", kat,"', '", ime, "', '", url, "', '", opis, "')", 0L);
00505 conn = *conx;
00506 if (mysql_query (&conn, sql) != 0){
00507 g_print("\nGreska prilikom spajanja na bazu...\n");
00508 return;
00509 }
00510 else {
00511 g_print("\nOperacija uspjesna!\n");
00512 gtk_widget_destroy(linkWin);
00513 }
00514 }
00515 }
00516 }
00517 }
00518 }
00519
00520
00521
00522
00523
00524
00525 void
00526 on_linkNewQuitBtn_clicked (GtkButton *button,
00527 gpointer user_data)
00528 {
00529 GtkWidget * linkWin = lookup_widget(GTK_WIDGET(button), "linkAddWindow");
00530 g_print("\nOdustajemo od dodavanja linkova\n");
00531 gtk_widget_destroy(linkWin);
00532
00533 }
00534
00535
00536
00537
00538
00539 void
00540 on_prefAddCatBtn_clicked (GtkButton *button,
00541 gpointer user_data)
00542 {
00543 GtkWidget *cat;
00544 MYSQL conn;
00545 MYSQL_RES *result_set;
00546 MYSQL_ROW db_row;
00547 gint rows=0;
00548 gchar *sql;
00549 gint count=0;
00550 GError *error;
00551
00552 GList *catCombo_items = NULL;
00553 g_print("\nDodavanje nove kategorije...\n");
00554
00555 sql = "SELECT kat_id FROM linkovi_kategorije ORDER BY parent_id";
00556
00557 catCombo_items = g_list_append (catCombo_items, "0) /");
00558
00559 conn = *conx;
00560 if (mysql_query (&conn, sql) != 0)
00561 {
00562 g_print("\nGreska prilikom spajanja na bazu...\n");
00563 return;
00564 }
00565 else {
00566 result_set = mysql_store_result (&conn);
00567 rows = mysql_num_rows (result_set);
00568
00569 gchar *kategorija[rows][2];
00570 gchar *lista_kategorija[rows];
00571 count = 0;
00572 g_print("\nSlijedi lista kategorija :\n");
00573 while ((db_row = mysql_fetch_row (result_set)) != 0L){
00574
00575 kategorija[count][0] = db_row[0];
00576 kategorija[count][1] = getParent(db_row[0]);
00577 lista_kategorija[count] = g_strconcat(kategorija[count][0],") ",kategorija[count][1], 0L);
00578
00579 lista_kategorija[count] = g_convert (lista_kategorija[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00580
00581 g_print("%s\n", lista_kategorija[count]);
00582
00583 catCombo_items = g_list_append (catCombo_items, lista_kategorija[count]);
00584
00585 count++;
00586 }
00587 cat = create_catAddWindow (catCombo_items);
00588 gtk_widget_show (cat);
00589
00590 }
00591 }
00592
00593
00594
00595
00596
00597 void
00598 on_catNewAddBtn_clicked (GtkButton *button,
00599 gpointer user_data)
00600 {
00601 MYSQL conn;
00602 MYSQL_RES *result_set;
00603 MYSQL_ROW db_row;
00604 gint rows=0;
00605 gchar *kat_naslov, *kat_opis, *kat_long, *kat, *sql;
00606 GtkTextBuffer *buffer;
00607 GtkTextIter iter_start, iter_end;
00608 GError *error;
00609
00610 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catAddWindow");
00611 GtkWidget * linkTitle = lookup_widget(GTK_WIDGET(button), "linkTitle");
00612 GtkWidget * catIme = lookup_widget(GTK_WIDGET(button), "catIme");
00613 GtkWidget * catOpis = lookup_widget(GTK_WIDGET(button), "catOpis");
00614 GtkWidget * catComboEntry = lookup_widget(GTK_WIDGET(button), "catComboEntry");
00615
00616 g_print("\nDodajemo novu kategoriju...\n");
00617
00618 kat_naslov = g_strconcat(gtk_entry_get_text(GTK_ENTRY(catIme)), 0L);
00619
00620 buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (catOpis));
00621 gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(buffer), &iter_start,&iter_end);
00622 gtk_text_buffer_get_text(GTK_TEXT_BUFFER(buffer), &iter_start,&iter_end, TRUE);
00623
00624 kat_opis = gtk_text_buffer_get_text(buffer, &iter_start, &iter_end, FALSE);
00625 kat_long = g_strconcat(gtk_entry_get_text(GTK_ENTRY(catComboEntry)), 0L);
00626
00627 kat = g_strndup (kat_long, 2);
00628 g_print("\nNaziv kategorije : %s\n",kat_naslov);
00629 g_print("Opis kategorije : %s\n",kat_opis);
00630 g_print("U kategoriju : %s\n",kat);
00631
00632 if (g_strcasecmp(kat, "!") == 0){
00633 g_print("\nKategorija nije dobro odabrana!\n");
00634 gtk_label_set_text(GTK_LABEL(linkTitle),"Kategorija nije dobro odabrana\n");
00635 }
00636 else {
00637 if (g_strcasecmp(kat_naslov, "") == 0){
00638 g_print("\nNaslov kategorije nije unesen!\n");
00639 gtk_label_set_text(GTK_LABEL(linkTitle),"Naslov kategorije nije unesen\n");
00640 }
00641 else {
00642 if (g_strcasecmp(kat_opis, "") == 0){
00643 g_print("\nOpis kategorije nije unesen!\n");
00644 gtk_label_set_text(GTK_LABEL(linkTitle),"Opis kategorije nije unesen\n");
00645 }
00646 else {
00647 kat_naslov = g_convert (kat_naslov, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00648 kat_opis = g_convert (kat_opis, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00649 kat = g_convert (kat, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00650
00651 sql = g_strconcat("INSERT INTO linkovi_kategorije VALUES ('auto_increment','", kat_naslov, "', '", kat_opis, "', '", kat,"')", 0L);
00652 conn = *conx;
00653 if (mysql_query (&conn, sql) != 0){
00654 g_print("\nGreska prilikom spajanja na bazu...\n");
00655 return;
00656 }
00657 else {
00658 g_print("\nOperacija uspjesna!\n");
00659 gtk_widget_destroy(catWin);
00660 }
00661 }
00662 }
00663 }
00664 }
00665
00666
00667
00668
00669
00670 void
00671 on_catNewQuitBtn_clicked (GtkButton *button,
00672 gpointer user_data)
00673 {
00674 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catAddWindow");
00675 g_print("\nOdustajemo od dodavanja kategorije\n");
00676 gtk_widget_destroy(catWin);
00677 }
00678
00679
00680
00681
00682
00683 gint
00684 check_username (gchar *user)
00685 {
00686 MYSQL conn;
00687 gchar *sql;
00688 MYSQL_RES *result_set;
00689 MYSQL_ROW db_row;
00690 gint rows=0;
00691
00692 sql = g_strconcat("SELECT sss_id FROM sss WHERE username='",user,"'", 0L);
00693 conn = *conx;
00694 if (mysql_query (&conn, sql) != 0){
00695 g_print("\nGreska prilikom spajanja na bazu...\n");
00696 return 1;
00697 }
00698 else {
00699 result_set = mysql_store_result (&conn);
00700 rows = mysql_num_rows (result_set);
00701 return rows;
00702 }
00703 }
00704
00705
00706
00707
00708 gint
00709 check_username_edit (gchar *user,
00710 gchar *id)
00711 {
00712 MYSQL conn;
00713 gchar *sql;
00714 MYSQL_RES *result_set;
00715 MYSQL_ROW db_row;
00716 gint rows=0;
00717
00718 sql = g_strconcat("SELECT sss_id FROM sss WHERE username='",user,"' AND sss_id!='",id,"'", 0L);
00719 conn = *conx;
00720 if (mysql_query (&conn, sql) != 0){
00721 g_print("\nGreska prilikom spajanja na bazu...\n");
00722 return 1;
00723 }
00724 else {
00725 result_set = mysql_store_result (&conn);
00726 rows = mysql_num_rows (result_set);
00727 return rows;
00728 }
00729 }
00730
00731
00732
00733
00734
00735 void
00736 on_prefAddSSSBtn_clicked (GtkButton *button,
00737 gpointer user_data)
00738 {
00739 GtkWidget *sss;
00740
00741 g_print("\nDodavanje novog sluzbenika...\n");
00742
00743 sss = create_sssAddWindow ();
00744 gtk_widget_show (sss);
00745 }
00746
00747
00748
00749
00750
00751 void
00752 on_sssNewAddBtn_clicked (GtkButton *button,
00753 gpointer user_data)
00754 {
00755 MYSQL conn;
00756
00757 gchar *jmbg_text, *ime_text, *prezime_text, *radno_text, *mail_text, *user_text, *pass_text;
00758 gchar *sql;
00759
00760 GError *error;
00761
00762
00763 GtkWidget * sss = lookup_widget(GTK_WIDGET(button), "sssAddWindow");
00764
00765 GtkWidget * sssjmbg = lookup_widget(GTK_WIDGET(button), "sssJMBG");
00766 GtkWidget * sssime = lookup_widget(GTK_WIDGET(button), "sssIme");
00767 GtkWidget * sssprezime = lookup_widget(GTK_WIDGET(button), "sssPrezime");
00768 GtkWidget * sssradno = lookup_widget(GTK_WIDGET(button), "sssRadno");
00769 GtkWidget * sssemail = lookup_widget(GTK_WIDGET(button), "sssEmail");
00770 GtkWidget * sssuser = lookup_widget(GTK_WIDGET(button), "sssUser");
00771 GtkWidget * ssspass = lookup_widget(GTK_WIDGET(button), "sssPass");
00772 GtkWidget * linkTitle = lookup_widget(GTK_WIDGET(button), "sssTitle");
00773
00774
00775 jmbg_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssjmbg)), 0L);
00776 ime_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssime)), 0L);
00777 prezime_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssprezime)), 0L);
00778 radno_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssradno)), 0L);
00779 mail_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssemail)), 0L);
00780 user_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssuser)), 0L);
00781 pass_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(ssspass)), 0L);
00782
00783 if (check_username(user_text) != 0){
00784 g_print("\nUsername vec u upotrebi - odaberite drugi!\n");
00785 gtk_label_set_text(GTK_LABEL(linkTitle),"Username vec u upotrebi - odaberite drugi!\n");
00786 }
00787 else {
00788
00789 g_print("\nSacuvavamo novog Sluzbenika studentske sluzbe\n\n");
00790
00791
00792 if (g_strcasecmp(jmbg_text, "") == 0){
00793 g_print("\nNije unesen JMBG!\n");
00794 gtk_label_set_text(GTK_LABEL(linkTitle),"Nije unesen JMBG\n");
00795 }
00796 else {
00797 if (g_strcasecmp(ime_text, "") == 0){
00798 g_print("\nIme nije uneseno!\n");
00799 gtk_label_set_text(GTK_LABEL(linkTitle),"Ime nije uneseno\n");
00800 }
00801 else {
00802 if (g_strcasecmp(prezime_text, "") == 0){
00803 g_print("\nPrezime nije uneseno!\n");
00804 gtk_label_set_text(GTK_LABEL(linkTitle),"Prezime nije uneseno\n");
00805 }
00806 else {
00807 if (g_strcasecmp(radno_text, "") == 0){
00808 g_print("\nRadno mjesto nije uneseno!\n");
00809 gtk_label_set_text(GTK_LABEL(linkTitle),"Radno mjesto nije uneseno\n");
00810 }
00811 else {
00812 if (g_strcasecmp(mail_text, "") == 0){
00813 g_print("\nEmail nije unesen!\n");
00814 gtk_label_set_text(GTK_LABEL(linkTitle),"Email nije unesen\n");
00815 }
00816 else {
00817 if (g_strcasecmp(user_text, "") == 0){
00818 g_print("\nUsername nije unesen!\n");
00819 gtk_label_set_text(GTK_LABEL(linkTitle),"Username nije unesen\n");
00820 }
00821 else {
00822 if (g_strcasecmp(pass_text, "") == 0){
00823 g_print("\nPassword nije unesen!\n");
00824 gtk_label_set_text(GTK_LABEL(linkTitle),"Password nije unesen\n");
00825 }
00826 else {
00827
00828 g_print("Uneseni JMBG : %s\n", jmbg_text);
00829 g_print("Uneseno ime : %s\n", ime_text);
00830 g_print("Uneseno prezime : %s\n", prezime_text);
00831 g_print("Unesena pozicija : %s\n", radno_text);
00832 g_print("Unesena Email adresa : %s\n", mail_text);
00833 g_print("Uneseni username : %s\n", user_text);
00834 g_print("Uneseni password : %s\n", pass_text);
00835
00836 jmbg_text = g_convert (jmbg_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00837 ime_text = g_convert (ime_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00838 prezime_text = g_convert (prezime_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00839 radno_text = g_convert (radno_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00840 mail_text = g_convert (mail_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00841 user_text = g_convert (user_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00842 pass_text = g_convert (pass_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
00843
00844 conn = *conx;
00845 sql = g_strconcat("INSERT INTO sss VALUES ('auto_increment','", jmbg_text, "', '", ime_text, "', '", prezime_text, "', '", radno_text, "', '", mail_text, "', CURRENT_DATE , 'administrator', '", user_text, "', MD5('", pass_text,"'))", 0L);
00846
00847
00848 if (mysql_query (&conn, sql) != 0)
00849 {
00850 g_print("\nGreska prilikom spajanja na bazu...\n");
00851 gtk_label_set_text(GTK_LABEL(linkTitle),"Greska! Pokusaj ponovo.");
00852 return;
00853 }
00854 else
00855 {
00856 g_print("\nOperacija uspjesna!\n");
00857 gtk_widget_destroy (sss);
00858 }
00859 }
00860 }
00861 }
00862 }
00863 }
00864 }
00865 }
00866 }
00867 }
00868
00869
00870
00871
00872
00873
00874 void
00875 on_sssNewQuitBtn_clicked (GtkButton *button,
00876 gpointer user_data)
00877 {
00878 GtkWidget * sssWin = lookup_widget(GTK_WIDGET(button), "sssAddWindow");
00879 g_print("\nOdustajemo od dodavanja novog sluzbenika\n");
00880 gtk_widget_destroy(sssWin);
00881 }
00882
00883
00884
00885
00886
00887
00888
00889 void
00890 on_backupBtn_clicked (GtkButton *button,
00891 gpointer user_data)
00892 {
00893 GtkWidget *backup;
00894
00895 g_print("\nBackup Baze...\n");
00896
00897 backup = create_backupWindow ();
00898 gtk_widget_show (backup);
00899 }
00900
00901
00902
00903
00904
00905
00906 void
00907 on_bckButtonWin_clicked (GtkButton *button,
00908 gpointer user_data)
00909 {
00910 int result;
00911 gchar *path, *command, *usr, *pas, *hst, *dbc;
00912 GtkWidget * put = lookup_widget(GTK_WIDGET(button), "bckPath");
00913 GtkWidget * bckWin = lookup_widget(GTK_WIDGET(button), "backupWindow");
00914
00915 path = g_strconcat(gtk_entry_get_text(GTK_ENTRY(put)), 0L);
00916 command = g_strconcat("mysqldump --opt -u ",userGL, " -p", passGL, " -h ", hostGL, " ", dbGL, " > ", path, 0L);
00917
00918 result = system(command);
00919
00920 if (result != 0) {
00921 g_print("\nOperacija nije uspjesna!!! \nVjerovatno nemate pravo pristupa putu koji ste unijeli...\nPokusajte ponovo...\n");
00922 }
00923 else {
00924 g_print("\nOperacija uspjesna!!!\n");
00925 gtk_widget_destroy(bckWin);
00926 }
00927 }
00928
00929
00930
00931
00932
00933 void
00934 on_editSSSBtn_clicked (GtkButton *button,
00935 gpointer user_data)
00936 {
00937 GtkWidget *editsss;
00938 GList *sssCombo_items = NULL;
00939
00940 MYSQL conn;
00941 MYSQL_RES *result_set;
00942 MYSQL_ROW db_row;
00943 gint rows=0;
00944 gchar *sql;
00945 gint count=0;
00946 GError *error;
00947
00948 sql = "SELECT sss_id, ime_sss, prezime_sss FROM sss ORDER BY sss_id";
00949
00950 g_print("\nEditovanje sluzbenika...\n");
00951 g_print("\nOdabir sluzbenika kojeg zelis editovati...\n");
00952 conn = *conx;
00953 if (mysql_query (&conn, sql) != 0)
00954 {
00955 g_print("\nGreska prilikom spajanja na bazu...\n");
00956 return;
00957 }
00958 else {
00959 result_set = mysql_store_result (&conn);
00960 rows = mysql_num_rows (result_set);
00961
00962 if (rows == 0){
00963 GtkWidget *info;
00964 g_print("\n Niti jedan sluzbenik nije unesen! \n");
00965 info = create_infoWindow ("\n Niti jedan sluzbenik nije unesen! \n");
00966 gtk_widget_show (info);
00967 }
00968 else {
00969
00970 gchar *lista_sss[rows];
00971 count = 0;
00972
00973 g_print("\nSlijedi lista sluzbenika :\n");
00974 while ((db_row = mysql_fetch_row (result_set)) != 0L){
00975
00976 lista_sss[count] = g_strconcat(db_row[0]," ) ",db_row[1], " ", db_row[2], 0L);
00977
00978 lista_sss[count] = g_convert (lista_sss[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
00979
00980 g_print("%s\n", lista_sss[count]);
00981
00982 sssCombo_items = g_list_append (sssCombo_items, lista_sss[count]);
00983
00984 count++;
00985 }
00986 editsss = create_sssChoseWindow (sssCombo_items);
00987 gtk_widget_show (editsss);
00988 }
00989
00990 }
00991
00992 }
00993
00994
00995
00996
00997 void
00998 on_sssChoseBtn_clicked (GtkButton *button,
00999 gpointer user_data)
01000 {
01001 MYSQL conn;
01002 MYSQL_RES *result_set;
01003 MYSQL_ROW db_row;
01004 gint rows=0;
01005 gchar *sss_opis, *sss, *sql;
01006 gchar *sss_id, *sss_jmbg, *sss_ime, *sss_prezime, *sss_radno, *sss_email, *sss_user;
01007 GError *error;
01008
01009
01010 GtkWidget * sssEditWin;
01011 GtkWidget * sssWin = lookup_widget(GTK_WIDGET(button), "sssChoseWindow");
01012 GtkWidget * sssComboEntry = lookup_widget(GTK_WIDGET(button), "combo_entry1");
01013
01014 g_print("\nOdabrani sluzbenik :\n");
01015
01016
01017 sss_opis = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssComboEntry)), 0L);
01018
01019 sss = g_strndup (sss_opis, 2);
01020 g_print("SSS_ID : %s\n",sss);
01021
01022 sql = g_strconcat("SELECT ime_sss, prezime_sss, radno_mjesto, email, username, JMBG FROM sss WHERE sss_ID =",sss, 0L);
01023 conn = *conx;
01024 if (mysql_query (&conn, sql) != 0){
01025 g_print("\nGreska prilikom spajanja na bazu...\n");
01026 return;
01027 }
01028 else {
01029 result_set = mysql_store_result (&conn);
01030 while ((db_row = mysql_fetch_row (result_set)) != 0L){
01031
01032 sss_ime = g_strconcat(db_row[0], 0L);
01033 sss_prezime = g_strconcat(db_row[1], 0L);
01034 sss_radno = g_strconcat(db_row[2], 0L);
01035 sss_email = g_strconcat(db_row[3], 0L);
01036 sss_user = g_strconcat(db_row[4], 0L);
01037 sss_jmbg = g_strconcat(db_row[5], 0L);
01038 sss_id = g_strconcat(sss, 0L);
01039
01040 sss_ime = g_convert (sss_ime, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01041 sss_prezime = g_convert (sss_prezime, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01042 sss_radno = g_convert (sss_radno, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01043 sss_email = g_convert (sss_email, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01044 sss_user = g_convert (sss_user, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01045 sss_jmbg = g_convert (sss_jmbg, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01046 sss_id = g_convert (sss_id, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01047
01048 g_print("Ime : %s\n", db_row[0]);
01049 g_print("Prezime : %s\n", db_row[1]);
01050 g_print("Pozicija : %s\n", db_row[2]);
01051 g_print("Email : %s\n", db_row[3]);
01052 g_print("Username : %s\n", db_row[4]);
01053 g_print("JMBG : %s\n", db_row[5]);
01054
01055
01056 }
01057 gtk_widget_destroy(sssWin);
01058 sssEditWin = create_sssEditWindow (sss_jmbg, sss_ime, sss_prezime, sss_radno, sss_email, sss_user, sss_id);
01059 gtk_widget_show (sssEditWin);
01060 }
01061 }
01062
01063
01064
01065
01066
01067 void
01068 on_sssChoseQuitBtn_clicked (GtkButton *button,
01069 gpointer user_data)
01070 {
01071 GtkWidget * sssWin = lookup_widget(GTK_WIDGET(button), "sssChoseWindow");
01072 g_print("\nOdustajemo od editovanja sluzbenika\n");
01073 gtk_widget_destroy(sssWin);
01074 }
01075
01076
01077
01078
01079
01080 void
01081 on_sssEditSaveBtn_clicked (GtkButton *button,
01082 gpointer user_data)
01083 {
01084
01085 MYSQL conn;
01086
01087 gchar *id_text, *jmbg_text, *ime_text, *prezime_text, *radno_text, *mail_text, *user_text, *pass_text;
01088 gchar *sql;
01089 GError *error;
01090
01091 GtkWidget * sss = lookup_widget(GTK_WIDGET(button), "sssEditWindow");
01092
01093 GtkWidget * sssjmbg = lookup_widget(GTK_WIDGET(button), "sssJMBG");
01094 GtkWidget * sssime = lookup_widget(GTK_WIDGET(button), "sssIme");
01095 GtkWidget * sssprezime = lookup_widget(GTK_WIDGET(button), "sssPrezime");
01096 GtkWidget * sssradno = lookup_widget(GTK_WIDGET(button), "sssRadno");
01097 GtkWidget * sssemail = lookup_widget(GTK_WIDGET(button), "sssEmail");
01098 GtkWidget * sssuser = lookup_widget(GTK_WIDGET(button), "sssUser");
01099 GtkWidget * ssspass = lookup_widget(GTK_WIDGET(button), "sssPass");
01100 GtkWidget * sssid = lookup_widget(GTK_WIDGET(button), "sssID");
01101 GtkWidget * linkTitle = lookup_widget(GTK_WIDGET(button), "sssTitle");
01102
01103
01104 jmbg_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssjmbg)), 0L);
01105 ime_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssime)), 0L);
01106 prezime_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssprezime)), 0L);
01107 radno_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssradno)), 0L);
01108 mail_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssemail)), 0L);
01109 user_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssuser)), 0L);
01110 pass_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(ssspass)), 0L);
01111 id_text = g_strconcat(gtk_entry_get_text(GTK_ENTRY(sssid)), 0L);
01112
01113 g_print("\nSacuvavamo promjene Sluzbenika studentske sluzbe\n\n");
01114
01115 if (check_username_edit(user_text, id_text) != 0){
01116 g_print("\nUsername vec u upotrebi - odaberite drugi!\n");
01117 gtk_label_set_text(GTK_LABEL(linkTitle),"Username vec u upotrebi - odaberite drugi!\n");
01118 }
01119 else {
01120
01121 if (g_strcasecmp(jmbg_text, "") == 0){
01122 g_print("\nNije unesen JMBG!\n");
01123 gtk_label_set_text(GTK_LABEL(linkTitle),"Nije unesen JMBG\n");
01124 }
01125 else {
01126 if (g_strcasecmp(ime_text, "") == 0){
01127 g_print("\nIme nije uneseno!\n");
01128 gtk_label_set_text(GTK_LABEL(linkTitle),"Ime nije uneseno\n");
01129 }
01130 else {
01131 if (g_strcasecmp(prezime_text, "") == 0){
01132 g_print("\nPrezime nije uneseno!\n");
01133 gtk_label_set_text(GTK_LABEL(linkTitle),"Prezime nije uneseno\n");
01134 }
01135 else {
01136 if (g_strcasecmp(radno_text, "") == 0){
01137 g_print("\nRadno mjesto nije uneseno!\n");
01138 gtk_label_set_text(GTK_LABEL(linkTitle),"Radno mjesto nije uneseno\n");
01139 }
01140 else {
01141 if (g_strcasecmp(mail_text, "") == 0){
01142 g_print("\nEmail nije unesen!\n");
01143 gtk_label_set_text(GTK_LABEL(linkTitle),"Email nije unesen\n");
01144 }
01145 else {
01146 if (g_strcasecmp(user_text, "") == 0){
01147 g_print("\nUsername nije unesen!\n");
01148 gtk_label_set_text(GTK_LABEL(linkTitle),"Username nije unesen\n");
01149 }
01150 else {
01151 if (g_strcasecmp(pass_text, "") == 0){
01152 g_print("\nPassword nije promijenjen!\n");
01153 gtk_label_set_text(GTK_LABEL(linkTitle),"Password nije promijenjen\n");
01154 g_print("Uneseni ID : %s\n", id_text);
01155 g_print("Uneseni JMBG : %s\n", jmbg_text);
01156 g_print("Uneseno ime : %s\n", ime_text);
01157 g_print("Uneseno prezime : %s\n", prezime_text);
01158 g_print("Unesena pozicija : %s\n", radno_text);
01159 g_print("Unesena Email adresa : %s\n", mail_text);
01160 g_print("Uneseni username : %s\n", user_text);
01161
01162 id_text = g_convert (id_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01163 jmbg_text = g_convert (jmbg_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01164 ime_text = g_convert (ime_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01165 prezime_text = g_convert (prezime_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01166 radno_text = g_convert (radno_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01167 mail_text = g_convert (mail_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01168 user_text = g_convert (user_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01169
01170
01171 conn = *conx;
01172 sql = g_strconcat("UPDATE sss SET JMBG='", jmbg_text, "', ime_sss='", ime_text, "', prezime_sss='", prezime_text, "', radno_mjesto='", radno_text, "', email='", mail_text, "', datum_promjene=CURRENT_DATE , izvrsilac_promjene='administrator', username='", user_text, "' WHERE sss_ID ='", id_text, "'", 0L);
01173
01174
01175 if (mysql_query (&conn, sql) != 0)
01176 {
01177 g_print("\nGreska prilikom spajanja na bazu...\n");
01178 gtk_label_set_text(GTK_LABEL(linkTitle),"Greska! Pokusaj ponovo.");
01179 return;
01180 }
01181 else
01182 {
01183 g_print("\nOperacija uspjesna!\n");
01184 gtk_widget_destroy (sss);
01185 }
01186
01187
01188 }
01189
01190 else {
01191 g_print("Uneseni ID : %s\n", id_text);
01192 g_print("Uneseni JMBG : %s\n", jmbg_text);
01193 g_print("Uneseno ime : %s\n", ime_text);
01194 g_print("Uneseno prezime : %s\n", prezime_text);
01195 g_print("Unesena pozicija : %s\n", radno_text);
01196 g_print("Unesena Email adresa : %s\n", mail_text);
01197 g_print("Uneseni username : %s\n", user_text);
01198 g_print("Uneseni password : %s\n", pass_text);
01199
01200 id_text = g_convert (id_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01201 jmbg_text = g_convert (jmbg_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01202 ime_text = g_convert (ime_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01203 prezime_text = g_convert (prezime_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01204 radno_text = g_convert (radno_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01205 mail_text = g_convert (mail_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01206 user_text = g_convert (user_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01207 pass_text = g_convert (pass_text, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01208
01209 conn = *conx;
01210 sql = g_strconcat("UPDATE sss SET JMBG='", jmbg_text, "', ime_sss='", ime_text, "', prezime_sss='", prezime_text, "', radno_mjesto='", radno_text, "', email='", mail_text, "', datum_promjene=CURRENT_DATE , izvrsilac_promjene='administrator', username='", user_text, "', password=MD5('", pass_text,"') WHERE sss_ID ='", id_text, "'", 0L);
01211
01212 g_print("\n\nSQL :\n%s", sql);
01213 if (mysql_query (&conn, sql) != 0)
01214 {
01215 g_print("\nGreska prilikom spajanja na bazu...\n");
01216 gtk_label_set_text(GTK_LABEL(linkTitle),"Greska! Pokusaj ponovo.");
01217 return;
01218 }
01219 else
01220 {
01221 g_print("\nOperacija uspjesna!\n");
01222 gtk_widget_destroy (sss);
01223 }
01224 }
01225 }
01226 }
01227 }
01228 }
01229 }
01230 }
01231 }
01232 }
01233
01234
01235
01236
01237
01238
01239 void
01240 on_sssEditQuitBtn_clicked (GtkButton *button,
01241 gpointer user_data)
01242 {
01243 GtkWidget * sssWin = lookup_widget(GTK_WIDGET(button), "sssEditWindow");
01244 g_print("\nOdustajemo od editovanja sluzbenika\n");
01245 gtk_widget_destroy(sssWin);
01246 }
01247
01248
01249
01250
01251
01252
01253 void
01254 on_editCatBtn_clicked (GtkButton *button,
01255 gpointer user_data)
01256 {
01257 GtkWidget *catchose;
01258 GList *catCombo_items = NULL;
01259
01260 MYSQL conn;
01261 MYSQL_RES *result_set;
01262 MYSQL_ROW db_row;
01263 gint rows=0;
01264 gchar *sql;
01265 gint count=0;
01266 GError *error;
01267
01268 g_print("\nEditovanje kategorije...\n");
01269
01270 sql = "SELECT kat_id FROM linkovi_kategorije ORDER BY parent_id";
01271
01272 conn = *conx;
01273 if (mysql_query (&conn, sql) != 0)
01274 {
01275 g_print("\nGreska prilikom spajanja na bazu...\n");
01276 return;
01277 }
01278 else {
01279 result_set = mysql_store_result (&conn);
01280 rows = mysql_num_rows (result_set);
01281 if (rows == 0){
01282 GtkWidget *info;
01283 g_print("\n Nije unesena niti jedna kategorija! \n");
01284 info = create_infoWindow ("\n Nije unesena niti jedna kategorija! \n");
01285 gtk_widget_show (info);
01286 }
01287 else {
01288 gchar *kategorija[rows][2];
01289 gchar *lista_kategorija[rows];
01290 count = 0;
01291 g_print("\nSlijedi lista kategorija :\n");
01292 while ((db_row = mysql_fetch_row (result_set)) != 0L){
01293
01294 kategorija[count][0] = db_row[0];
01295 kategorija[count][1] = getParent(db_row[0]);
01296 lista_kategorija[count] = g_strconcat(kategorija[count][0]," ) ",kategorija[count][1], 0L);
01297
01298 lista_kategorija[count] = g_convert (lista_kategorija[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01299
01300 g_print("%s\n", lista_kategorija[count]);
01301
01302 catCombo_items = g_list_append (catCombo_items, lista_kategorija[count]);
01303
01304 count++;
01305 }
01306 catchose = create_catChoseWindow (catCombo_items);
01307 gtk_widget_show (catchose);
01308 }
01309 }
01310 }
01311
01312
01313
01314
01315
01316 void
01317 on_catChoseBtn_clicked (GtkButton *button,
01318 gpointer user_data)
01319 {
01320 MYSQL conn, conn1;
01321 MYSQL_RES *result_set, *result_set1;
01322 MYSQL_ROW db_row, db_row1;
01323 gint rows=0;
01324 gchar *cat_opis, *cat, *sql, *sql1;
01325 gchar *kat_id, *kat_naslov, *kat_opis, *kat_parent, *kat_chosen, *kat_help;
01326 gint count=0;
01327 GError *error;
01328
01329 GList *catCombo_items = NULL;
01330
01331 GtkWidget * catEditWin;
01332 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catChoseWindow");
01333 GtkWidget * catComboEntry = lookup_widget(GTK_WIDGET(button), "combo_entry1");
01334
01335 g_print("\nOdabrana kategorija :\n");
01336
01337
01338 cat_opis = g_strconcat(gtk_entry_get_text(GTK_ENTRY(catComboEntry)), 0L);
01339
01340 cat = g_strndup (cat_opis, 2);
01341 g_print("Kat_ID : %s\n",cat);
01342
01343 cat = g_convert (cat, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01344 sql = g_strconcat("SELECT kat_naslov, kat_opis, parent_id FROM linkovi_kategorije WHERE kat_ID =",cat, 0L);
01345 cat = g_convert (cat, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01346
01347 conn = *conx;
01348 if (mysql_query (&conn, sql) != 0){
01349 g_print("\nGreska prilikom spajanja na bazu...\n");
01350 return;
01351 }
01352 else {
01353 result_set = mysql_store_result (&conn);
01354
01355 while ((db_row = mysql_fetch_row (result_set)) != 0L){
01356
01357 kat_naslov = g_strconcat(db_row[0], 0L);
01358 kat_opis = g_strconcat(db_row[1], 0L);
01359 kat_parent = g_strconcat(db_row[2], 0L);
01360 kat_id = g_strconcat(cat, 0L);
01361 kat_help = getParent(kat_parent);
01362
01363 kat_naslov = g_convert (kat_naslov, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01364 kat_opis = g_convert (kat_opis, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01365 kat_parent = g_convert (kat_parent, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01366
01367
01368 g_print("Naslov : %s\n", kat_naslov);
01369 g_print("Opis : %s\n", kat_opis);
01370
01371 if (g_strcasecmp(kat_parent, "0") == 0){
01372 kat_chosen = g_strconcat(kat_parent," ) /", 0L);
01373 }
01374 else {
01375 kat_chosen = g_strconcat(kat_parent," ) ",kat_help, 0L);
01376 }
01377 kat_chosen = g_convert (kat_chosen, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01378 g_print("Parent : %s\n", kat_chosen);
01379
01380 }
01381
01382 sql1 = "SELECT kat_id FROM linkovi_kategorije ORDER BY parent_id";
01383
01384 conn1 = *conx;
01385 if (mysql_query (&conn1, sql1) != 0)
01386 {
01387 g_print("\nGreska prilikom spajanja na bazu...\n");
01388 return;
01389 }
01390 else {
01391 result_set1 = mysql_store_result (&conn1);
01392 rows = mysql_num_rows (result_set1);
01393
01394 gchar *kategorija[rows][2];
01395 gchar *lista_kategorija[rows];
01396 count = 0;
01397 g_print("\nSlijedi lista kategorija :\n");
01398 catCombo_items = g_list_append (catCombo_items, "0 ) /");
01399 while ((db_row1 = mysql_fetch_row (result_set1)) != 0L){
01400
01401 kategorija[count][0] = db_row1[0];
01402 kategorija[count][1] = getParent(db_row1[0]);
01403 lista_kategorija[count] = g_strconcat(kategorija[count][0]," ) ",kategorija[count][1], 0L);
01404
01405 lista_kategorija[count] = g_convert (lista_kategorija[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01406
01407 g_print("%s\n", lista_kategorija[count]);
01408
01409 catCombo_items = g_list_append (catCombo_items, lista_kategorija[count]);
01410
01411 count++;
01412 }
01413 }
01414
01415 gtk_widget_destroy(catWin);
01416 catEditWin = create_catEditWindow (catCombo_items, kat_naslov, kat_opis, kat_parent, kat_chosen, kat_id);
01417 gtk_widget_show (catEditWin);
01418 }
01419 }
01420
01421
01422
01423
01424 void
01425 on_catChoseQuitBtn_clicked (GtkButton *button,
01426 gpointer user_data)
01427 {
01428 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catChoseWindow");
01429 g_print("\nOdustajemo od editovanja kategorije\n");
01430 gtk_widget_destroy(catWin);
01431 }
01432
01433
01434
01435
01436 void
01437 on_catEditSaveBtn_clicked (GtkButton *button,
01438 gpointer user_data)
01439 {
01440 MYSQL conn;
01441 MYSQL_RES *result_set;
01442 MYSQL_ROW db_row;
01443 gint rows=0;
01444 gchar *kat_naslov, *kat_opis, *kat_long, *kat, *sql, *kat_id;
01445 GtkTextBuffer *buffer;
01446 GtkTextIter iter_start, iter_end;
01447 GError *error;
01448
01449
01450 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catEditWindow");
01451 GtkWidget * linkTitle = lookup_widget(GTK_WIDGET(button), "linkTitle");
01452 GtkWidget * catIme = lookup_widget(GTK_WIDGET(button), "catIme");
01453 GtkWidget * catOpis = lookup_widget(GTK_WIDGET(button), "catOpis");
01454 GtkWidget * catID = lookup_widget(GTK_WIDGET(button), "catID");
01455 GtkWidget * catComboEntry = lookup_widget(GTK_WIDGET(button), "catComboEntry");
01456
01457 g_print("\nSpasavamo editovanu kategoriju...\n");
01458
01459 kat_naslov = g_strconcat(gtk_entry_get_text(GTK_ENTRY(catIme)), 0L);
01460 kat_id = g_strconcat(gtk_entry_get_text(GTK_ENTRY(catID)), 0L);
01461
01462 buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (catOpis));
01463 gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(buffer), &iter_start,&iter_end);
01464 gtk_text_buffer_get_text(GTK_TEXT_BUFFER(buffer), &iter_start,&iter_end, TRUE);
01465
01466 kat_opis = gtk_text_buffer_get_text(buffer, &iter_start, &iter_end, FALSE);
01467 kat_long = g_strconcat(gtk_entry_get_text(GTK_ENTRY(catComboEntry)), 0L);
01468
01469 kat = g_strndup (kat_long, 2);
01470 g_print("\nNaziv kategorije : %s\n",kat_naslov);
01471 g_print("Opis kategorije : %s\n",kat_opis);
01472 g_print("U kategoriju : %s\n",kat);
01473
01474 if (g_strcasecmp(kat, "!") == 0){
01475 g_print("\nKategorija nije dobro odabrana!\n");
01476 gtk_label_set_text(GTK_LABEL(linkTitle),"Kategorija nije dobro odabrana\n");
01477 }
01478 else {
01479 if (g_strcasecmp(kat_naslov, "") == 0){
01480 g_print("\nNaslov kategorije nije unesen!\n");
01481 gtk_label_set_text(GTK_LABEL(linkTitle),"Naslov kategorije nije unesen\n");
01482 }
01483 else {
01484 if (g_strcasecmp(kat_opis, "") == 0){
01485 g_print("\nOpis kategorije nije unesen!\n");
01486 gtk_label_set_text(GTK_LABEL(linkTitle),"Opis kategorije nije unesen\n");
01487 }
01488 else {
01489
01490 kat_naslov = g_convert (kat_naslov, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01491 kat_opis = g_convert (kat_opis, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01492 kat = g_convert (kat, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01493 kat_id = g_convert (kat_id, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01494
01495
01496 sql = g_strconcat("UPDATE linkovi_kategorije SET kat_naslov='", kat_naslov, "', kat_opis='", kat_opis, "', parent_id='",kat,"' WHERE kat_id ='",kat_id, "'", 0L);
01497
01498 conn = *conx;
01499 if (mysql_query (&conn, sql) != 0){
01500 g_print("\nGreska prilikom spajanja na bazu...\n");
01501 return;
01502 }
01503 else {
01504 g_print("\nOperacija uspjesna!\n");
01505 gtk_widget_destroy(catWin);
01506 }
01507 }
01508 }
01509 }
01510 }
01511
01512
01513
01514
01515
01516 void
01517 on_catEditQuitBtn_clicked (GtkButton *button,
01518 gpointer user_data)
01519 {
01520 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catEditWindow");
01521 g_print("\nOdustajemo od editovanja kategorije\n");
01522 gtk_widget_destroy(catWin);
01523 }
01524
01525
01526
01527
01528
01529
01530 void
01531 on_editLinkCatBtn_clicked (GtkButton *button,
01532 gpointer user_data)
01533 {
01534 GtkWidget *catlinkchose;
01535 GList *catCombo_items = NULL;
01536
01537 MYSQL conn;
01538 MYSQL_RES *result_set;
01539 MYSQL_ROW db_row;
01540 gint rows=0;
01541 gchar *sql;
01542 gint count=0;
01543 GError *error;
01544
01545
01546 g_print("\nEditovanje linka...odabir kategorije u kojoj se link nalazi\n");
01547
01548 sql = "SELECT kat_id FROM linkovi_kategorije ORDER BY parent_id";
01549
01550 conn = *conx;
01551 if (mysql_query (&conn, sql) != 0)
01552 {
01553 g_print("\nGreska prilikom spajanja na bazu...\n");
01554 return;
01555 }
01556 else {
01557 result_set = mysql_store_result (&conn);
01558 rows = mysql_num_rows (result_set);
01559
01560 if (rows == 0){
01561 GtkWidget *info;
01562 g_print("\n Nije unesena niti jedna kategorija linkova! \n");
01563 info = create_infoWindow ("\n Nije unesena niti jedna kategorija! \n");
01564 gtk_widget_show (info);
01565 }
01566 else {
01567 gchar *kategorija[rows][2];
01568 gchar *lista_kategorija[rows];
01569 count = 0;
01570 g_print("\nSlijedi lista kategorija :\n");
01571 while ((db_row = mysql_fetch_row (result_set)) != 0L){
01572
01573 kategorija[count][0] = db_row[0];
01574 kategorija[count][1] = getParent(db_row[0]);
01575 lista_kategorija[count] = g_strconcat(kategorija[count][0]," ) ",kategorija[count][1], 0L);
01576
01577 lista_kategorija[count] = g_convert (lista_kategorija[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01578
01579 g_print("%s\n", lista_kategorija[count]);
01580
01581 catCombo_items = g_list_append (catCombo_items, lista_kategorija[count]);
01582
01583 count++;
01584 }
01585 catlinkchose = create_catLinkChoseWindow (catCombo_items);
01586 gtk_widget_show (catlinkchose);
01587 }
01588 }
01589 }
01590
01591
01592
01593
01594 void
01595 on_catLinkChoseQuitBtn_clicked (GtkButton *button,
01596 gpointer user_data)
01597 {
01598 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catLinkChoseWindow");
01599 g_print("\nOdustajemo od odabira kategorije za editovanja linka\n");
01600 gtk_widget_destroy(catWin);
01601 }
01602
01603
01604
01605
01606
01607
01608 void
01609 on_catLinkChoseBtn_clicked (GtkButton *button,
01610 gpointer user_data)
01611 {
01612 MYSQL conn, conn1;
01613 MYSQL_RES *result_set, *result_set1;
01614 MYSQL_ROW db_row, db_row1;
01615 gint rows=0;
01616 gchar *cat_opis, *cat, *sql1;
01617 GError *error;
01618
01619
01620 gint count=0;
01621
01622 GList *linkCombo_items = NULL;
01623
01624 GtkWidget * linkChoseWin;
01625 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catLinkChoseWindow");
01626 GtkWidget * catComboEntry = lookup_widget(GTK_WIDGET(button), "combo_entry1");
01627
01628 g_print("\nOdabir linka za editovanje...\n");
01629
01630
01631 cat_opis = g_strconcat(gtk_entry_get_text(GTK_ENTRY(catComboEntry)), 0L);
01632
01633 cat = g_strndup (cat_opis, 2);
01634 g_print("\nOdabrana kategorija : %s\n",cat_opis);
01635
01636 cat = g_convert (cat, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01637 sql1 = g_strconcat("SELECT links_ID, links_naziv FROM linkovi_links WHERE kat_id='", cat, "' ORDER BY links_ID", 0L);
01638
01639 conn1 = *conx;
01640 if (mysql_query (&conn1, sql1) != 0)
01641 {
01642 g_print("\nGreska prilikom spajanja na bazu...\n");
01643 return;
01644 }
01645 else {
01646 result_set1 = mysql_store_result (&conn1);
01647 rows = mysql_num_rows (result_set1);
01648
01649 if (rows == 0){
01650 GtkWidget *info;
01651 g_print("\n Ova kategorija ne sadrzi niti jedan link! \n Odaberi drugu kategoriju \n");
01652 info = create_infoWindow ("\n Odabrana kategorija ne sadrzi niti jedan link! \n");
01653 gtk_widget_show (info);
01654 }
01655 else {
01656
01657 gchar *linkovi[rows][2];
01658 gchar *lista_linkova[rows];
01659 count = 0;
01660 g_print("\nSlijedi lista linkova :\n");
01661
01662 while ((db_row1 = mysql_fetch_row (result_set1)) != 0L){
01663
01664 lista_linkova[count] = g_strconcat(db_row1[0]," ) ",db_row1[1], 0L);
01665
01666 lista_linkova[count] = g_convert (lista_linkova[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01667
01668 g_print("%s\n", lista_linkova[count]);
01669
01670 linkCombo_items = g_list_append (linkCombo_items, lista_linkova[count]);
01671
01672 count++;
01673 }
01674
01675 gtk_widget_destroy(catWin);
01676 linkChoseWin = create_linkChoseWindow (linkCombo_items);
01677 gtk_widget_show (linkChoseWin);
01678 }
01679 }
01680 }
01681
01682
01683
01684
01685
01686
01687 void
01688 on_linkChoseBtn_clicked (GtkButton *button,
01689 gpointer user_data)
01690 {
01691 MYSQL conn, conn1;
01692 MYSQL_RES *result_set, *result_set1;
01693 MYSQL_ROW db_row, db_row1;
01694 gint rows=0;
01695 gchar *link_opisno, *link, *sql, *sql1;
01696 gchar *link_id, *link_naslov, *link_opis, *link_kat, *link_url, *link_kat_chosen, *link_help;
01697 gint count=0;
01698 GError *error;
01699
01700
01701 GList *catCombo_items = NULL;
01702
01703 GtkWidget * linkEditWin;
01704 GtkWidget * linkWin = lookup_widget(GTK_WIDGET(button), "linkChoseWindow");
01705 GtkWidget * linkComboEntry = lookup_widget(GTK_WIDGET(button), "combo_entry1");
01706
01707 g_print("\nOdabrani link :\n");
01708
01709
01710 link_opisno = g_strconcat(gtk_entry_get_text(GTK_ENTRY(linkComboEntry)), 0L);
01711
01712 link_id = g_strndup (link_opisno, 3);
01713 g_print("links_ID : %s\n",link_id);
01714
01715 link_id = g_convert (link_id, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01716 sql = g_strconcat("SELECT kat_id, links_naziv, links_url, links_opis FROM linkovi_links WHERE links_ID =",link_id, 0L);
01717 link_id = g_convert (link_id, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01718
01719 conn = *conx;
01720 if (mysql_query (&conn, sql) != 0){
01721 g_print("\nGreska prilikom spajanja na bazu...\n");
01722 return;
01723 }
01724 else {
01725 result_set = mysql_store_result (&conn);
01726
01727 while ((db_row = mysql_fetch_row (result_set)) != 0L){
01728
01729 link_kat = g_strconcat(db_row[0], 0L);
01730 link_naslov = g_strconcat(db_row[1], 0L);
01731 link_url = g_strconcat(db_row[2], 0L);
01732 link_opis = g_strconcat(db_row[3], 0L);
01733 link_help = getParent(link_kat);
01734 link_kat_chosen = g_strconcat(link_kat," ) ",link_help, 0L);
01735
01736 link_kat = g_convert (link_kat, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01737 link_naslov = g_convert (link_naslov, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01738 link_url = g_convert (link_url, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01739 link_opis = g_convert (link_opis, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01740 link_kat_chosen = g_convert (link_kat_chosen, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01741
01742 g_print("Naziv : %s\n", link_naslov);
01743 g_print("Url : %s\n", link_url);
01744 g_print("Opis : %s\n", link_opis);
01745
01746
01747 }
01748 g_print("Kategorija : %s\n", link_kat_chosen);
01749
01750 }
01751
01752 sql1 = "SELECT kat_id FROM linkovi_kategorije ORDER BY parent_id";
01753
01754 conn1 = *conx;
01755 if (mysql_query (&conn1, sql1) != 0)
01756 {
01757 g_print("\nGreska prilikom spajanja na bazu...\n");
01758 return;
01759 }
01760 else {
01761 result_set1 = mysql_store_result (&conn1);
01762 rows = mysql_num_rows (result_set1);
01763
01764 gchar *kategorija[rows][2];
01765 gchar *lista_kategorija[rows];
01766 count = 0;
01767 g_print("\nSlijedi lista kategorija :\n");
01768
01769 while ((db_row1 = mysql_fetch_row (result_set1)) != 0L){
01770
01771 kategorija[count][0] = db_row1[0];
01772 kategorija[count][1] = getParent(db_row1[0]);
01773 lista_kategorija[count] = g_strconcat(kategorija[count][0]," ) ",kategorija[count][1], 0L);
01774
01775 lista_kategorija[count] = g_convert (lista_kategorija[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01776
01777 g_print("%s\n", lista_kategorija[count]);
01778
01779 catCombo_items = g_list_append (catCombo_items, lista_kategorija[count]);
01780
01781 count++;
01782 }
01783 }
01784
01785 gtk_widget_destroy(linkWin);
01786 linkEditWin = create_linkEditWindow (catCombo_items, link_id, link_kat_chosen, link_naslov, link_url, link_opis);
01787 gtk_widget_show (linkEditWin);
01788 }
01789
01790
01791
01792
01793
01794
01795
01796 void
01797 on_linkChoseQuitBtn_clicked (GtkButton *button,
01798 gpointer user_data)
01799 {
01800 GtkWidget * linkWin = lookup_widget(GTK_WIDGET(button), "linkChoseWindow");
01801 g_print("\nOdustajemo od odabira linka za editovanje...\n");
01802 gtk_widget_destroy(linkWin);
01803 }
01804
01805
01806
01807
01808
01809 void
01810 on_linkEditSaveBtn_clicked (GtkButton *button,
01811 gpointer user_data)
01812 {
01813 MYSQL conn;
01814 MYSQL_RES *result_set;
01815 MYSQL_ROW db_row;
01816 gint rows=0;
01817 gchar *ime, *url, *opis, *kat_long, *kat, *sql, *id;
01818 GtkTextBuffer *buffer;
01819 GtkTextIter iter_start, iter_end;
01820 GError *error;
01821
01822 GtkWidget * linkWin = lookup_widget(GTK_WIDGET(button), "linkEditWindow");
01823 GtkWidget * linkTitle = lookup_widget(GTK_WIDGET(button), "linkTitle");
01824 GtkWidget * linkIme = lookup_widget(GTK_WIDGET(button), "linkIme");
01825 GtkWidget * linkUrl = lookup_widget(GTK_WIDGET(button), "linkUrl");
01826 GtkWidget * linkOpis = lookup_widget(GTK_WIDGET(button), "linkOpis");
01827 GtkWidget * linkID = lookup_widget(GTK_WIDGET(button), "linkID");
01828 GtkWidget * linkComboEntry = lookup_widget(GTK_WIDGET(button), "linkComboEntry");
01829
01830 g_print("\nSpasavamo editovani link...\n");
01831
01832 ime = g_strconcat(gtk_entry_get_text(GTK_ENTRY(linkIme)), 0L);
01833 url = g_strconcat(gtk_entry_get_text(GTK_ENTRY(linkUrl)), 0L);
01834 id = g_strconcat(gtk_entry_get_text(GTK_ENTRY(linkID)), 0L);
01835
01836 buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (linkOpis));
01837 gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(buffer), &iter_start,&iter_end);
01838 gtk_text_buffer_get_text(GTK_TEXT_BUFFER(buffer), &iter_start,&iter_end, TRUE);
01839
01840 opis = gtk_text_buffer_get_text(buffer, &iter_start, &iter_end, FALSE);
01841 kat_long = g_strconcat(gtk_entry_get_text(GTK_ENTRY(linkComboEntry)), 0L);
01842
01843 kat = g_strndup (kat_long, 2);
01844 g_print("\nID linka : %s\n",id);
01845 g_print("Naziv linka : %s\n",ime);
01846 g_print("URL linka : %s\n",url);
01847 g_print("Opis linka : %s\n",opis);
01848 g_print("U kategoriju : %s\n",kat_long);
01849
01850 if (g_strcasecmp(kat, "!") == 0){
01851 g_print("\nKategorija nije dobro odabrana!\n");
01852 gtk_label_set_text(GTK_LABEL(linkTitle),"Kategorija nije dobro odabrana\n");
01853 }
01854 else {
01855 if (g_strcasecmp(ime, "") == 0){
01856 g_print("\nNaslov linka nije unesen!\n");
01857 gtk_label_set_text(GTK_LABEL(linkTitle),"Naslov linka nije unesen\n");
01858 }
01859 else {
01860 if (g_strcasecmp(url, "") == 0){
01861 g_print("\nURL linka nije unesen!\n");
01862 gtk_label_set_text(GTK_LABEL(linkTitle),"URL linka nije unesen\n");
01863 }
01864 else {
01865 if (g_strcasecmp(opis, "") == 0){
01866 g_print("\nOpis linka nije unesen!\n");
01867 gtk_label_set_text(GTK_LABEL(linkTitle),"Opis linka nije unesen\n");
01868 }
01869 else {
01870 kat = g_convert (kat, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01871 ime = g_convert (ime, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01872 url = g_convert (url, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01873 opis = g_convert (opis, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01874 id = g_convert (id, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
01875
01876 sql = g_strconcat("UPDATE linkovi_links SET kat_id='", kat,"', links_naziv='", ime, "', links_url='", url, "', links_opis='", opis, "' WHERE links_id='",id,"'", 0L);
01877 conn = *conx;
01878 if (mysql_query (&conn, sql) != 0){
01879 g_print("\nGreska prilikom spajanja na bazu...\n");
01880 return;
01881 }
01882 else {
01883 g_print("\nOperacija uspjesna!\n");
01884 gtk_widget_destroy(linkWin);
01885 }
01886 }
01887 }
01888 }
01889 }
01890 }
01891
01892
01893
01894
01895
01896
01897 void
01898 on_linkEditQuitBtn_clicked (GtkButton *button,
01899 gpointer user_data)
01900 {
01901 GtkWidget * linkEditWin = lookup_widget(GTK_WIDGET(button), "linkEditWindow");
01902 g_print("\nOdustajemo od editovanja linka...\n");
01903 gtk_widget_destroy(linkEditWin);
01904 }
01905
01906
01907
01908
01909
01910
01911 void
01912 on_delCatBtn_clicked (GtkButton *button,
01913 gpointer user_data)
01914 {
01915 GtkWidget *catchosedel;
01916 GList *catCombo_items = NULL;
01917
01918 MYSQL conn;
01919 MYSQL_RES *result_set;
01920 MYSQL_ROW db_row;
01921 gint rows=0;
01922 gchar *sql;
01923 gint count=0;
01924 GError *error;
01925
01926 g_print("\nBrisanje kategorije...\n");
01927
01928 sql = "SELECT kat_id FROM linkovi_kategorije ORDER BY parent_id";
01929
01930 conn = *conx;
01931 if (mysql_query (&conn, sql) != 0)
01932 {
01933 g_print("\nGreska prilikom spajanja na bazu...\n");
01934 return;
01935 }
01936 else {
01937 result_set = mysql_store_result (&conn);
01938 rows = mysql_num_rows (result_set);
01939 if (rows == 0){
01940 GtkWidget *info;
01941 g_print("\n Nije unesena niti jedna kategorija! \n");
01942 info = create_infoWindow ("\n Nije unesena niti jedna kategorija! \n");
01943 gtk_widget_show (info);
01944 }
01945 else {
01946 gchar *kategorija[rows][2];
01947 gchar *lista_kategorija[rows];
01948 count = 0;
01949 g_print("\nSlijedi lista kategorija :\n");
01950 while ((db_row = mysql_fetch_row (result_set)) != 0L){
01951
01952 kategorija[count][0] = db_row[0];
01953 kategorija[count][1] = getParent(db_row[0]);
01954 lista_kategorija[count] = g_strconcat(kategorija[count][0]," ) ",kategorija[count][1], 0L);
01955
01956 lista_kategorija[count] = g_convert (lista_kategorija[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
01957
01958 g_print("%s\n", lista_kategorija[count]);
01959
01960 catCombo_items = g_list_append (catCombo_items, lista_kategorija[count]);
01961
01962 count++;
01963 }
01964 catchosedel = create_catChoseDelWindow (catCombo_items);
01965 gtk_widget_show (catchosedel);
01966 }
01967 }
01968 }
01969
01970
01971
01972
01973
01974
01975
01976 void
01977 on_catChoseDelBtn_clicked (GtkButton *button,
01978 gpointer user_data)
01979 {
01980 MYSQL conn, conn1;
01981 MYSQL_RES *result_set, *result_set1;
01982 MYSQL_ROW db_row, db_row1;
01983 gint rows=0;
01984 gchar *cat_opis, *cat, *sql, *sql1;
01985 gchar *kat_id, *kat_naslov, *kat_opis, *kat_parent, *kat_chosen, *kat_help;
01986 gint count=0;
01987 GError *error;
01988
01989 GList *catCombo_items = NULL;
01990
01991 GtkWidget * catDelWin;
01992 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catChoseDelWindow");
01993 GtkWidget * catComboEntry = lookup_widget(GTK_WIDGET(button), "combo_entry1");
01994 GtkWidget * catTitle = lookup_widget(GTK_WIDGET(button), "catTitle");
01995
01996 g_print("\nOdabrana kategorija :\n");
01997
01998
01999 cat_opis = g_strconcat(gtk_entry_get_text(GTK_ENTRY(catComboEntry)), 0L);
02000
02001 cat = g_strndup (cat_opis, 2);
02002
02003 g_print("Kat_ID : %s\n",cat);
02004
02005 cat = g_convert (cat, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
02006 sql = g_strconcat("SELECT kat_naslov, kat_opis, parent_id FROM linkovi_kategorije WHERE kat_ID ='",cat,"'", 0L);
02007
02008
02009 conn = *conx;
02010 if (mysql_query (&conn, sql) != 0){
02011 g_print("\nGreska prilikom spajanja na bazu...\n");
02012 return;
02013 }
02014 else {
02015 result_set = mysql_store_result (&conn);
02016
02017 while ((db_row = mysql_fetch_row (result_set)) != 0L){
02018
02019 kat_naslov = g_strconcat(db_row[0], 0L);
02020 kat_opis = g_strconcat(db_row[1], 0L);
02021 kat_parent = g_strconcat(db_row[2], 0L);
02022 kat_id = g_strconcat(cat, 0L);
02023 kat_help = getParent(kat_parent);
02024
02025 kat_naslov = g_convert (kat_naslov, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02026 kat_opis = g_convert (kat_opis, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02027 kat_parent = g_convert (kat_parent, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02028
02029
02030 g_print("Naslov : %s\n", kat_naslov);
02031 g_print("Opis : %s\n", kat_opis);
02032
02033
02034
02035
02036
02037 if (g_strcasecmp(kat_parent, "0") == 0){
02038 kat_chosen = g_strconcat(kat_parent," ) /", 0L);
02039 }
02040 else {
02041 kat_chosen = g_strconcat(kat_parent," ) ",kat_help, 0L);
02042 }
02043 kat_chosen = g_convert (kat_chosen, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02044 g_print("Parent : %s\n", kat_chosen);
02045
02046 }
02047
02048 sql1 = g_strconcat("SELECT kat_id FROM linkovi_kategorije WHERE parent_id='",cat,"'", 0L);
02049 cat = g_convert (cat, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02050
02051 conn1 = *conx;
02052 if (mysql_query (&conn1, sql1) != 0)
02053 {
02054 g_print("\nGreska prilikom spajanja na bazu...\n");
02055 return;
02056 }
02057 else {
02058 result_set1 = mysql_store_result (&conn1);
02059 rows = mysql_num_rows (result_set1);
02060 if (rows!=0){
02061 g_print("\nKategorija ne moze biti obrisana!\nKategorija ima podkategorije.\nPrvo obrisi podkategorije pa onda kategoriju!\n");
02062 gtk_label_set_text(GTK_LABEL(catTitle),"\n\nKategorija ne moze biti obrisana!\n\nKategorija ima podkategorije.\n\nPrvo obrisi podkategorije pa onda kategoriju!\n\n");
02063 }
02064 else {
02065 g_print("\nKategorija izbrisiva...\n");
02066 gtk_widget_destroy(catWin);
02067 catDelWin = create_catDelWindow (kat_naslov, kat_id);
02068 gtk_widget_show (catDelWin);
02069 }
02070 }
02071 }
02072 }
02073
02074
02075
02076
02077 void
02078 on_catChoseDelQuitBtn_clicked (GtkButton *button,
02079 gpointer user_data)
02080 {
02081 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catChoseDelWindow");
02082 g_print("\nOdustajemo od odabira kategorije za brisanje\n");
02083 gtk_widget_destroy(catWin);
02084 }
02085
02086
02087
02088
02089
02090 void
02091 on_catDelOkBtn_clicked (GtkButton *button,
02092 gpointer user_data)
02093 {
02094
02095
02096 MYSQL conn, conn1;
02097 MYSQL_RES *result_set, *result_set1;
02098 MYSQL_ROW db_row, db_row1;
02099 gchar *sql, *sql1, *kat_naslov, *kat_id;
02100 GError *error;
02101
02102 GtkWidget * catDelWin = lookup_widget(GTK_WIDGET(button), "catDelWindow");
02103 GtkWidget * catID = lookup_widget(GTK_WIDGET(button), "catID");
02104 GtkWidget * catTitle = lookup_widget(GTK_WIDGET(button), "catLabel");
02105
02106 kat_naslov = g_strconcat(gtk_label_get_text(GTK_LABEL(catTitle)), 0L);
02107 kat_id = g_strconcat(gtk_label_get_text(GTK_LABEL(catID)), 0L);
02108
02109 g_print("\nBrisemo linkove iz kategorije %s\n", kat_naslov);
02110
02111 kat_id = g_convert (kat_id, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02112 sql1 = g_strconcat("DELETE FROM linkovi_links WHERE kat_id=",kat_id, 0L);
02113 conn1 = *conx;
02114
02115
02116
02117 if (mysql_query (&conn1, sql1) != 0)
02118 {
02119 g_print("\nGreska prilikom spajanja na bazu...\n");
02120 return;
02121 }
02122 else {
02123 g_print("\nLinkovi iz kategorija %s uspjesno obrisani.\n", kat_naslov);
02124
02125 g_print("\nBrisemo kategoriju %s...\n", kat_naslov);
02126 sql = g_strconcat("DELETE FROM linkovi_kategorije WHERE kat_id=",kat_id, 0L);
02127 conn = *conx;
02128 if (mysql_query (&conn, sql) != 0)
02129 {
02130 g_print("\nGreska prilikom spajanja na bazu...\n");
02131 return;
02132 }
02133 else {
02134
02135 g_print("\nKategorija %s uspjesno obrisana.\n", kat_naslov);
02136 gtk_widget_destroy(catDelWin);
02137 }
02138 }
02139 }
02140
02141
02142
02143
02144
02145 void
02146 on_catDelQuitBtn_clicked (GtkButton *button,
02147 gpointer user_data)
02148 {
02149 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catDelWindow");
02150 g_print("\nOdustajemo od brisanja odabrane kategorije\n");
02151 gtk_widget_destroy(catWin);
02152 }
02153
02154
02155
02156
02157
02158 void
02159 on_delLinkBtn_clicked (GtkButton *button,
02160 gpointer user_data)
02161 {
02162 GtkWidget *catlinkchose;
02163 GList *catCombo_items = NULL;
02164
02165 MYSQL conn;
02166 MYSQL_RES *result_set;
02167 MYSQL_ROW db_row;
02168 gint rows=0;
02169 gchar *sql;
02170 gint count=0;
02171 GError *error;
02172
02173 g_print("\nBrisanje linka...odabir kategorije u kojoj se link nalazi\n");
02174
02175 sql = "SELECT kat_id FROM linkovi_kategorije ORDER BY parent_id";
02176
02177 conn = *conx;
02178 if (mysql_query (&conn, sql) != 0)
02179 {
02180 g_print("\nGreska prilikom spajanja na bazu...\n");
02181 return;
02182 }
02183 else {
02184 result_set = mysql_store_result (&conn);
02185 rows = mysql_num_rows (result_set);
02186 if (rows == 0){
02187 GtkWidget *info;
02188 g_print("\n Nije unesena niti jedna kategorija! \n");
02189 info = create_infoWindow ("\n Nije unesena niti jedna kategorija! \n");
02190 gtk_widget_show (info);
02191 }
02192 else {
02193 gchar *kategorija[rows][2];
02194 gchar *lista_kategorija[rows];
02195 count = 0;
02196 g_print("\nSlijedi lista kategorija :\n");
02197 while ((db_row = mysql_fetch_row (result_set)) != 0L){
02198
02199 kategorija[count][0] = db_row[0];
02200 kategorija[count][1] = getParent(db_row[0]);
02201 lista_kategorija[count] = g_strconcat(kategorija[count][0]," ) ",kategorija[count][1], 0L);
02202
02203 lista_kategorija[count] = g_convert (lista_kategorija[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02204
02205 g_print("%s\n", lista_kategorija[count]);
02206
02207 catCombo_items = g_list_append (catCombo_items, lista_kategorija[count]);
02208
02209 count++;
02210 }
02211 catlinkchose = create_catLinkDelChoseWindow (catCombo_items);
02212 gtk_widget_show (catlinkchose);
02213 }
02214 }
02215 }
02216
02217
02218
02219
02220
02221 void
02222 on_catLinkDelChoseQuitBtn_clicked (GtkButton *button,
02223 gpointer user_data)
02224 {
02225 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catLinkDelChoseWindow");
02226 g_print("\nOdustajemo od odabira kategorije za brisanje linka\n");
02227 gtk_widget_destroy(catWin);
02228 }
02229
02230
02231
02232
02233
02234
02235 void
02236 on_catLinkDelChoseBtn_clicked (GtkButton *button,
02237 gpointer user_data)
02238 {
02239 MYSQL conn, conn1;
02240 MYSQL_RES *result_set, *result_set1;
02241 MYSQL_ROW db_row, db_row1;
02242 gint rows=0;
02243 gchar *cat_opis, *cat, *sql1;
02244 GError *error;
02245
02246 gint count=0;
02247
02248 GList *linkCombo_items = NULL;
02249
02250 GtkWidget * linkChoseWin;
02251 GtkWidget * catWin = lookup_widget(GTK_WIDGET(button), "catLinkDelChoseWindow");
02252 GtkWidget * catComboEntry = lookup_widget(GTK_WIDGET(button), "combo_entry1");
02253
02254 g_print("\nOdabir linka za brisanje...\n");
02255
02256
02257 cat_opis = g_strconcat(gtk_entry_get_text(GTK_ENTRY(catComboEntry)), 0L);
02258
02259 cat = g_strndup (cat_opis, 2);
02260 g_print("\nOdabrana kategorija : %s\n",cat_opis);
02261
02262 cat = g_convert (cat, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
02263 sql1 = g_strconcat("SELECT links_ID, links_naziv FROM linkovi_links WHERE kat_id='", cat, "' ORDER BY links_ID", 0L);
02264
02265 conn1 = *conx;
02266 if (mysql_query (&conn1, sql1) != 0)
02267 {
02268 g_print("\nGreska prilikom spajanja na bazu...\n");
02269 return;
02270 }
02271 else {
02272 result_set1 = mysql_store_result (&conn1);
02273 rows = mysql_num_rows (result_set1);
02274 if (rows == 0){
02275 GtkWidget *info;
02276 g_print("\n Odabrana kategorija ne sadrzi niti jedan link! \n");
02277 info = create_infoWindow ("\n Odabrana kategorija ne sadrzi niti jedan link! \n");
02278 gtk_widget_show (info);
02279 }
02280 else {
02281 gchar *linkovi[rows][2];
02282 gchar *lista_linkova[rows];
02283 count = 0;
02284 g_print("\nSlijedi lista linkova :\n");
02285
02286 while ((db_row1 = mysql_fetch_row (result_set1)) != 0L){
02287
02288 lista_linkova[count] = g_strconcat(db_row1[0]," ) ",db_row1[1], 0L);
02289
02290 lista_linkova[count] = g_convert (lista_linkova[count], -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02291
02292 g_print("%s\n", lista_linkova[count]);
02293
02294 linkCombo_items = g_list_append (linkCombo_items, lista_linkova[count]);
02295
02296 count++;
02297 }
02298
02299 gtk_widget_destroy(catWin);
02300 linkChoseWin = create_linkDelChoseWindow (linkCombo_items);
02301 gtk_widget_show (linkChoseWin);
02302 }
02303 }
02304 }
02305
02306
02307
02308
02309
02310 void
02311 on_linkDelChoseBtn_clicked (GtkButton *button,
02312 gpointer user_data)
02313 {
02314 MYSQL conn;
02315 MYSQL_RES *result_set;
02316 MYSQL_ROW db_row;
02317 gint rows=0;
02318 gchar *link_opisno, *link, *sql;
02319 gchar *link_id, *link_naslov, *link_opis, *link_kat, *link_url, *link_kat_chosen, *link_help;
02320 gint count=0;
02321 GError *error;
02322
02323
02324 GtkWidget * linkDelWin;
02325 GtkWidget * linkWin = lookup_widget(GTK_WIDGET(button), "linkDelChoseWindow");
02326 GtkWidget * linkComboEntry = lookup_widget(GTK_WIDGET(button), "combo_entry1");
02327
02328 g_print("\nOdabrani link :\n");
02329
02330
02331 link_opisno = g_strconcat(gtk_entry_get_text(GTK_ENTRY(linkComboEntry)), 0L);
02332
02333 link_id = g_strndup (link_opisno, 3);
02334 g_print("links_ID : %s\n",link_id);
02335
02336
02337 link_id = g_convert (link_id, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
02338 sql = g_strconcat("SELECT kat_id, links_naziv, links_url, links_opis FROM linkovi_links WHERE links_ID =",link_id, 0L);
02339 link_id = g_convert (link_id, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02340
02341
02342 conn = *conx;
02343 if (mysql_query (&conn, sql) != 0){
02344 g_print("\nGreska prilikom spajanja na bazu...\n");
02345 return;
02346 }
02347 else {
02348 result_set = mysql_store_result (&conn);
02349
02350 while ((db_row = mysql_fetch_row (result_set)) != 0L){
02351
02352 link_kat = g_strconcat(db_row[0], 0L);
02353 link_naslov = g_strconcat(db_row[1], 0L);
02354 link_url = g_strconcat(" [ ", db_row[2], " ] \n", 0L);
02355 link_opis = g_strconcat(db_row[3], 0L);
02356 link_help = getParent(link_kat);
02357 link_kat_chosen = g_strconcat(link_kat," ) ",link_help, 0L);
02358
02359
02360 link_kat = g_convert (link_kat, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02361 link_naslov = g_convert (link_naslov, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02362 link_url = g_convert (link_url, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02363 link_opis = g_convert (link_opis, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02364 link_kat_chosen = g_convert (link_kat_chosen, -1, "UTF-8", "ISO-8859-2", NULL, NULL, &error);
02365
02366
02367 g_print("Naslov : %s\n", link_naslov);
02368 g_print("Url : %s\n", link_url);
02369 g_print("Opis : %s\n", link_opis);
02370
02371
02372 }
02373 g_print("Kategorije : %s\n", link_kat_chosen);
02374
02375 }
02376
02377 gtk_widget_destroy(linkWin);
02378 linkDelWin = create_linkDelWindow (link_naslov, link_id, link_url);
02379 gtk_widget_show (linkDelWin);
02380
02381 }
02382
02383
02384
02385
02386
02387 void
02388 on_linkDelChoseQuitBtn_clicked (GtkButton *button,
02389 gpointer user_data)
02390 {
02391 GtkWidget * linkWin = lookup_widget(GTK_WIDGET(button), "linkDelChoseWindow");
02392 g_print("\nOdustajemo od odabira linka za brisanje...\n");
02393 gtk_widget_destroy(linkWin);
02394 }
02395
02396
02397
02398
02399
02400 void
02401 on_linkDelOkBtn_clicked (GtkButton *button,
02402 gpointer user_data)
02403 {
02404 MYSQL conn;
02405 MYSQL_RES *result_set;
02406 MYSQL_ROW db_row;
02407 gchar *sql, *link_naslov, *link_id;
02408 GError *error;
02409
02410 GtkWidget * linkDelWin = lookup_widget(GTK_WIDGET(button), "linkDelWindow");
02411 GtkWidget * linkID = lookup_widget(GTK_WIDGET(button), "linkID");
02412 GtkWidget * linkTitle = lookup_widget(GTK_WIDGET(button), "linkLabel");
02413
02414 link_naslov = g_strconcat(gtk_label_get_text(GTK_LABEL(linkTitle)), 0L);
02415 link_id = g_strconcat(gtk_label_get_text(GTK_LABEL(linkID)), 0L);
02416
02417 g_print("\nBrisemo link : %s\n", link_naslov);
02418
02419 link_id = g_convert (link_id, -1, "ISO-8859-2", "UTF-8", NULL, NULL, &error);
02420 sql = g_strconcat("DELETE FROM linkovi_links WHERE links_id=",link_id, 0L);
02421 conn = *conx;
02422
02423 if (mysql_query (&conn, sql) != 0)
02424 {
02425 g_print("\nGreska prilikom spajanja na bazu...\n");
02426 return;
02427 }
02428 else {
02429 g_print("\nLink %s je uspjesno obrisan.\n", link_naslov);
02430 gtk_widget_destroy(linkDelWin);
02431 }
02432 }
02433
02434
02435
02436
02437
02438 void
02439 on_linkDelQuitBtn_clicked (GtkButton *button,
02440 gpointer user_data)
02441 {
02442 GtkWidget * linkWin = lookup_widget(GTK_WIDGET(button), "linkDelWindow");
02443 g_print("\nOdustajemo od brisanja odabranog linka\n");
02444 gtk_widget_destroy(linkWin);
02445 }
02446
02447
02448
02449
02450
02451 void
02452 on_helpBtn_clicked (GtkButton *button,
02453 gpointer user_data)
02454 {
02455 GtkWidget * helpWin;
02456 g_print("\nTreba vam pomoc? :)\n");
02457 helpWin = create_helpWindow ();
02458 gtk_widget_show (helpWin);
02459 }
02460
02461
02462
02463
02464 void
02465 on_helpOkBtn_clicked (GtkButton *button,
02466 gpointer user_data)
02467 {
02468 GtkWidget * helpWin = lookup_widget(GTK_WIDGET(button), "helpWindow");
02469 g_print("\nPomoc je uredu :)\n");
02470 gtk_widget_destroy(helpWin);
02471 }
02472
02473
02474
02475
02476
02477
02478 void
02479 on_restoreBtn_clicked (GtkButton *button,
02480 gpointer user_data)
02481 {
02482 GtkWidget * restoreWin;
02483
02484 g_print("\nRestore Baze podataka...iskreno se nadamo da znate sta radite...\n");
02485
02486 restoreWin = create_restoreWindow ();
02487 gtk_widget_show (restoreWin);
02488 }
02489
02490
02491
02492
02493
02494 void
02495 on_restoreButtonWin_clicked (GtkButton *button,
02496 gpointer user_data)
02497 {
02498 int result;
02499 gchar *path, *command, *usr, *pas, *hst, *dbc;
02500 GtkWidget * put = lookup_widget(GTK_WIDGET(button), "bckPath");
02501 GtkWidget * rstWin = lookup_widget(GTK_WIDGET(button), "restoreWindow");
02502
02503 path = g_strconcat(gtk_entry_get_text(GTK_ENTRY(put)), 0L);
02504 command = g_strconcat("mysql -u ",userGL, " -p", passGL, " -h ", hostGL, " -D ", dbGL, " < ", path, 0L);
02505
02506 result = system(command);
02507 g_print("\nResult = %d\n", result);
02508
02509 if (result != 0) {
02510 g_print("\nOperacija nije uspjesna!!! \nVjerovatno nemate pravo pristupa putu koji ste unijeli...\nPokusajte ponovo...\n");
02511 }
02512 else {
02513 g_print("\nOperacija uspjesna!!!\n");
02514 gtk_widget_destroy(rstWin);
02515 }
02516 }
02517
02518
02519
02520
02521
02522 void
02523 on_infoButtonWin_clicked (GtkButton *button,
02524 gpointer user_data)
02525 {
02526 GtkWidget * infoWin = lookup_widget(GTK_WIDGET(button), "infoWindow");
02527 gtk_widget_destroy(infoWin);
02528 }