MVC arhitektura
CodeIgniter je baziran na MVC (model – view – controller) strukturi koja pomaže da projekat ostane lepo struktuiran i jasan. To znači da radite po nekom standardu koji omogućava udobnije i brže pravljenje kao i mnogo lakše održavanje. Isto tako je moguće snaći se u kodu koji je neko drugi pisao bez većih poteskoća, kao i brže adaptiranje nekoga ko je ubačen usred projekta. Takođe, omogućava ponovno korišćenje koda, sto znači da ako ste jednom napravili na primer sistem za login, moći ćete da ga koristite uz minimalne izmene i u drugom projektu.
Zašto ga koristiti
- Laka instalacija i konfiguracija
- Čista i elegantna MVC implementacija
- Nudi i Active Record za upravljanje bazom podataka
- Dobre performanse
- Veliki broj biblioteka i helpera koje olakšavaju rad
- Velika CI zajednica
Da bi ste instalirali CodeIgniter, neophodno je preuzeti poslednju verziju sa zvaničnog sajta i raspakovati je (ukoliko koristite xampp onda je to folder htdocs).
O aplikaciji "Telefonski imenik"
Za početak baza
Ova aplikacija koristi MySql bazu podataka imenik.sql
-- phpMyAdmin SQL Dump -- version 3.5.2 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Apr 09, 2013 at 10:42 AM -- Server version: 5.5.25a -- PHP Version: 5.4.4 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Database: `imenik` -- -- -------------------------------------------------------- -- -- Table structure for table `korisnici` -- CREATE TABLE IF NOT EXISTS `korisnici` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `ime` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `email` varchar(30) COLLATE utf8_unicode_ci NOT NULL, `id_korisnika` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=17 ; -- -- Dumping data for table `korisnici` -- INSERT INTO `korisnici` (`id`, `username`, `password`, `ime`, `email`, `id_korisnika`) VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Vladimir Radovanović', 'v.radovanovic@gmail.com', 1), (14, 'administrator', '75a4e201071d2e4223cfbcf1d64faa22', 'Milivoje Jovic', 'milojko@gmail.com', 2), (16, 'user', 'ee11cbb19052e40b07aac0ca060c23ee', 'Mila Radovanović', 'malamalla@yahoo.com', 2); -- -------------------------------------------------------- -- -- Table structure for table `pregled` -- CREATE TABLE IF NOT EXISTS `pregled` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ime_prezime` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `ulica` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `mesto` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `telefon` varchar(30) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=14 ; -- -- Dumping data for table `pregled` -- INSERT INTO `pregled` (`id`, `ime_prezime`, `ulica`, `mesto`, `telefon`) VALUES (2, 'Vladimir Radovanovic', 'Nikole Pasica 10', 'Beograd', '003111565'), (13, 'Miodrag Radovanović', 'Milivoja Živanovića 5/22', 'Kragujevac', '0641152806'); -- -------------------------------------------------------- -- -- Table structure for table `privremeni_korisnici` -- CREATE TABLE IF NOT EXISTS `privremeni_korisnici` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ime` varchar(250) COLLATE utf8_unicode_ci NOT NULL, `username` varchar(250) COLLATE utf8_unicode_ci NOT NULL, `password` varchar(250) COLLATE utf8_unicode_ci NOT NULL, `email` varchar(250) COLLATE utf8_unicode_ci NOT NULL, `key` varchar(250) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ; -- -------------------------------------------------------- -- -- Table structure for table `tip_korisnika` -- CREATE TABLE IF NOT EXISTS `tip_korisnika` ( `vrsta` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `id` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Dumping data for table `tip_korisnika` -- INSERT INTO `tip_korisnika` (`vrsta`, `id`) VALUES ('admin', 1), ('user', 2); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Pristup bazi
Fajl application/config/database.php apdejtovati u sledeće:
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = ''; $db['default']['database'] = 'imenik';
Postaviti default controller
Fajl application/config/routes.php - LoginController predstavlja default controller (automatski se učitava prilikom upisa URL-a).
$route['default_controller'] = "LoginController";
Učitati potrebne biblioteke i helpere
U fajlu application/config/autoload.php moguće je automatski učitati potrebne biblioteke koje će se učitati u controller-ima kada je to potrebno. Postoji mogućnost i ručnog pozivanja biblioteka koje se učitavaju prilikom izvršavanja skripta (npr. $this->load->library('form_validation'); ), mada ja više volim ovako.
$autoload['libraries'] = array('database', 'session', 'form_validation', 'email'); $autoload['helper'] = array('url', 'form');
Podesiti Encryption Key za sesije
Pošto ova aplikacija koristi sesije, neophodno je podesiti encryption key (ključ po kome se sesije kriptuju). U fajlu application/config/config.php postaviti sledeće:
$config['encryption_key'] = 'very_big_number';
Code aplikacije
Ovde je prikazan svaki Controller, Model i View koji aplikacija koristi.
Login Model (applicalion/models/LoginModel.php)
<?php class LoginModel extends CI_Model { function login($user, $pass) { $this->db->where('username', $user); $this->db->where('password', md5($pass)); $query = $this->db->get('korisnici'); if ($query->num_rows() == 1) { return $query->result(); } else { return FALSE; } } function body($obj) { $this->db->select('t1.username, t1.ime, t2.vrsta'); $this->db->from('korisnici AS t1, tip_korisnika AS t2'); $this->db->where('t1.id_korisnika = t2.id'); $this->db->where('t1.id', $obj['id']); $this->db->limit(1); $sql = $this->db->get(); if ($sql->num_rows() > 0) { return $sql->result(); } else { return FALSE; } } function body_administration() { $this->db->select('t1.id, t1.username, t1.ime, t1.email, t2.vrsta'); $this->db->from('korisnici as t1, tip_korisnika as t2'); $this->db->where('t1.id_korisnika = t2.id'); $upit = $this->db->get(); if ($upit->num_rows > 0) { return $upit->result(); return TRUE; } else return FALSE; } function body_edit() { $this->db->select('username, ime, email'); $this->db->from('korisnici'); $this->db->where('id', $this->uri->segment(3)); $upit = $this->db->get(); if ($upit->num_rows > 0) { return $upit->result(); return TRUE; } else return FALSE; } function body_edit_phonebook() { $this->db->select('ime_prezime, ulica, mesto, telefon'); $this->db->from('pregled'); $this->db->where('id', $this->uri->segment(3)); $upit = $this->db->get(); if ($upit->num_rows > 0) { return $upit->result(); return TRUE; } else return FALSE; } function get_Username($obj) { $this->db->select('*'); $this->db->from('korisnici'); $this->db->where('id', $obj['id']); $this->db->limit(1); $upit = $this->db->get(); if ($upit->num_rows() == 1) { return $upit->result(); } else { return FALSE; } } function add_temp_user($key) { $data = array ('ime' => $this->input->post('ime_prezime'), 'username' => $this->input->post('korisnik'), 'password' => md5($this->input->post('lozinka')), 'email' => $this->input->post('email'), 'key' => $key); $upit = $this->db->insert('privremeni_korisnici', $data); if ($upit) { return TRUE; } else return FALSE; } function is_key_valid($key) { $this->db->where('key', $key); $upit = $this->db->get('temp_users'); if ($upit) { return TRUE; } else return FALSE; } function add_user($key) { $this->db->where('key', $key); $upit = $this->db->get('temp_users'); if ($upit) { $red = $upit->row(); $data = array ( 'username' => $red->username, 'password' => $red->password, 'ime' => $red->ime, 'email' => $red->email, 'id_korisnika' => 2 ); $nov_privremeni = $this->db->insert('korisnici', $data); if ($nov_privremeni) { $this->db->where('key', $key); $this->db->delete('privremeni_korisnici'); return TRUE; } else return FALSE; } } function prikazi() { $this->db->select('id, ime_prezime, ulica, mesto, telefon'); $this->db->from('pregled'); $upit = $this->db->get(); return $upit->result(); } function dodajImenik() { $data = array('ime_prezime' => $this->input->post('ime_prezime', TRUE), 'ulica' => $this->input->post('ulica', TRUE), 'mesto' => $this->input->post('mesto', TRUE), 'telefon' => $this->input->post('telefon', TRUE)); $rezultat = $this->db->insert('pregled', $data); if ($rezultat) { return TRUE; } else return FALSE; } function dodajKorisnik_admin() { $data = array('username' => $this->input->post('user'), 'ime' => $this->input->post('ime'), 'password' => md5($this->input->post('passwd')), 'email' => $this->input->post('email'), 'id_korisnika' => 1); $upit = $this->db->insert('korisnici', $data); if ($upit) { return TRUE; } else return FALSE; } function dodajKorisnik_user() { $data = array('username' => $this->input->post('user'), 'ime' => $this->input->post('ime'), 'password' => md5($this->input->post('passwd')), 'email' => $this->input->post('email'), 'id_korisnika' => 2); $upit = $this->db->insert('korisnici', $data); if ($upit) { return TRUE; } else return FALSE; } function delete_phonebook($id) { $this->db->delete('pregled', array('id' => $id)); } function delete_korisnik($id) { $this->db->delete('korisnici', array('id' => $id)); } function edit_phonebook($id) { $data = array ('ime_prezime' => $this->input->post('ime_prezime'), 'ulica' => $this->input->post('ulica'), 'mesto' => $this->input->post('mesto'), 'telefon' => $this->input->post('telefon')); $this->db->where('id', $id); $update = $this->db->update('pregled', $data); return $update; } function edit_admin($id) { $data = array ('username' => $this->input->post('user'), 'ime' => $this->input->post('ime'), 'email' => $this->input->post('email'), 'id_korisnika' => 1); $this->db->where('id', $id); $update = $this->db->update('korisnici', $data); return $update; } function edit_user($id) { $data = array ('username' => $this->input->post('user'), 'ime' => $this->input->post('ime'), 'email' => $this->input->post('email'), 'id_korisnika' => 2); $this->db->where('id', $id); $update = $this->db->update('korisnici', $data); return $update; } } ?>
<?php class LoginController extends CI_Controller { function __construct() { parent::__construct(); } function index() { $this->load->view('login_view'); } } ?>
Login View (application/views/login_view.php)
<html> <head> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> <title>Login</title> <link href=<?php echo base_url()."css/login-box.css"; ?> rel='stylesheet' type='text/css' /> </head> <body> <div style='padding: 100px 0 0 250px;'> <div id='login-box'> <h2>Telefonski imenik</h2> <?php echo validation_errors(); ?> <?php echo form_open('verifylogin/index'); ?> <div id='login-box-name' style='margin-top:20px;'>Korisnik:</div><div id='login-box-field' style='margin-top:20px;'><input name='korisnik' class='form-login' title='korisnik' size='30' maxlength='2048' /></div> <div id='login-box-name'>Šifra:</div><div id='login-box-field'><input name='lozinka' type='password' class='form-login' title='lozinka' size='30' maxlength='2048' /></div> <br /> <input background:url('images/login-btn.png') no-repeat; border: none; width='103' height='42' style='margin-left:90px;' type='submit' value='Prijavi me'> <div id='login-box-field'> Nemate nalog? <a href="<?php echo base_url().'NalogController'; ?>" style="color: #FFFFFF ">Registruj se</a></div> <?php echo form_close(); ?> </div> </div> </body> </html>
<?php class verifylogin extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel', '' , TRUE); } function index() { $this->form_validation->set_rules('korisnik', 'Korisnik', 'trim|required|xss_clean'); $this->form_validation->set_rules('lozinka', 'Lozinka', 'trim|md5|required|xss_clean|callback_verify_password'); if ($this->form_validation->run()) { redirect('Home'); } else { $this->load->view('login_view'); } } function verify_password($user, $pass) { $user = $this->input->post('korisnik'); $pass = $this->input->post('lozinka'); $result = $this->LoginModel->login($user, $pass); if ($result) { $sess_array = array(); foreach ($result as $row) { $sess_array = array( 'ime' => $row->ime, 'username' => $row->username, 'id' => $row->id, 'id_korisnika' => $row->id_korisnika ); } $this->session->set_userdata('logged_in', $sess_array); return TRUE; } else { $this->form_validation->set_message('verify_password', 'GREŠKA. Uneto je pogrešno korisničko ime ili lozinka. Molimo pokušajte ponovo.'); return FALSE; } } } ?>
<?php class Home extends CI_Controller { function __construct() { parent::__construct(); } function index() { $this->load->model('LoginModel'); $temp = $this->session->userdata('logged_in'); if ($temp['id_korisnika'] == "1") { $this->session->set_userdata('admin', 1); } else { $this->session->set_userdata('admin', 2); } $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { $data['records'] = $this->LoginModel->body($obj); $this->load->view('welcome', $data); } else { $this->load->view('restricted'); } } function logout() { $this->session->unset_userdata('logged_in'); redirect('LoginController', 'refresh'); } } ?>
Welcome (application/views/welcome.php)
<html> <head> <title>Dobrodošli</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href = <?php echo base_url(). 'css/style.css'; ?> rel="stylesheet" type="text/css" media="screen" /> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($records as $rec) { echo $rec->username ;} echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo base_url().'Home/logout'; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h1>Početna strana - Dobrodošli</h1> <hr><br/> <?php echo" <table id='rounded-corner' > <thead> <tr> <th scope='col' class='rounded-company'>Username</th> <th scope='col' class='rounded-q1'>Ime i prezime</th> <th scope='col' class='rounded-q1'>Vrsta</th> </tr> </thead> <tfoot> <tr> <td colspan='5' class='rounded-foot-left'><em>Trenutno na sistemu</em></td> </tr> </tfoot>"; echo"<tbody> <tr>"; foreach ($records as $rec) { echo "<td>" .$rec->username. "</td>"; echo "<td>" .$rec->ime. "</td>"; echo "<td>" .$rec->vrsta. "</td>"; } echo "</tr> </tbody>"; echo"</table>"; ?> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
Restricted (application/views/restricted.php)
<html> <head> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> <title>Nedozvoljen pristup</title> <link href=<?php echo base_url()."css/login-box.css"; ?> rel='stylesheet' type='text/css' /> </head> <body> <div style='padding: 100px 0 0 250px;'> <div id='login-box'> <h2>Telefonski imenik</h2> <br /> <h3>Morate biti ulogovani da bi ste pristupili podacima.</h3> <br /> <a href="<?php echo base_url().'LoginController'; ?>"><h1>LogIn</h1></a> <br /> <br /> </div> </div> </body> </html>
NalogController (application/controllers/NalogController.php)
<?php class NalogController extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel'); } function index() { $this->load->view('kreiraj_nalog'); } function verify() { $this->form_validation->set_rules('ime_prezime', 'Ime i prezime', 'trim|required|xss_clean'); $this->form_validation->set_rules('korisnik', 'Korisničko ime', 'trim|required|xss_clean'); $this->form_validation->set_rules('lozinka', 'Lozinka', 'trim|required|xss_clean'); $this->form_validation->set_rules('relozinka', 'Potvrdi lozinku', 'trim|required|matches[lozinka]'); $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|is_unique[privremeni_korisnici.email]'); $this->form_validation->set_message('is_unique', 'GREŠKA! Uneta Email adresa već postoji'); if ($this->form_validation->run()) { $key = md5(uniqid()); $this->load->library('email', array('mailtype' => 'html')); $this->email->from('noreply@telefonski.imenik', 'Admin'); $this->email->to($this->input->post('email')); $this->email->subject('Potvrdite Vašu registraciju'); $message = "Hvala što ste se registrovali. "; $message .="Klikni ovde da potvrdiš registraciju. "; $this->email->message($message); if ($this->LoginModel->add_temp_user($key)) { if ($this->email->send()) { $this->load->view('confirm'); } else echo 'Konfirmacioni link Vam nije poslat. Pokusajte kasnije'; } else echo 'Javio se problem oko upisa novog korisnika. Molimo Vas pokusajte kasnije.'; } else { $this->load->view('kreiraj_nalog'); } } function register($key) { if ($this->LoginModel->is_key_valid($key)) { if ($this->LoginModel->add_user($key)) { $this->load->view('success'); } } else echo 'Pogresan key'; } } ?>
kreiraj_nalog (application/views/kreiraj_nalog.php)
<html> <head> <title>Kreiranje naloga</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="<?php echo base_url(); ?>/css/style.css" type="text/css" media="screen"/> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> </div> <div id="meni"> <ul> <h2><font color="white">Popunite sledeća polja</font></h2></li> </div> <div id="sadrzaj" > <?php echo validation_errors(); ?> <?php echo form_open('NalogController/verify'); ?> Ime i prezime: <input type='text' name='ime_prezime' > <br><br> Korisničko ime: <input type='text' name='korisnik' > <br><br> Lozinka: <input type='password' name='lozinka' > <br><br> Potvrdi lozinku: <input type='password' name='relozinka' > <br><br> Email: <input type='text' name='email' > <br><br> <u>Napomena: Sva polja su obavezna.</u> <br /> <br /> <input background:url('images/login-btn.png') no-repeat; border: none; width='103' height='42' style='margin-left:90px;' type='submit' value='Registruj se'> <?php echo form_close(); ?> <a href=<?php echo base_url()."LoginController"; ?>>Nazad</a> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
Confirm (application/views/confirm.php)
<html> <head> <title>Confirm</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="<?php echo base_url(); ?>/css/style.css" type="text/css" media="screen"/> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> </div> <div id="meni"> </div> <div id="sadrzaj" > <h2>Konfirmacioni link je poslat na adresu koju ste uneli. Proverite Vaš email.</h2> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
Success (application/views/success.php)
<html> <head> <title>Confirm</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="<?php echo base_url(); ?>/css/style.css" type="text/css" media="screen"/> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> </div> <div id="meni"> </div> <div id="sadrzaj" > <h2>Uspešno ste se registrovali. <a href="<?php base_url().'LoginController'; ?>">Prijavite se</a> sa Vašim novim podacima</h2> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
ImenikController (application/controllers/ImenikController.php)
<?php class ImenikController extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel'); } function index() { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { $result = $this->LoginModel->get_Username($obj); if ($this->session->userdata('admin') == 1) { $other_result = $this->LoginModel->prikazi(); $this->load->view('imenik_admin', array ('result' => $result, 'other_result' => $other_result, 'obj' => $obj)); } elseif ($this->session->userdata('admin') == 2) { $other_result = $this->LoginModel->prikazi(); $this->load->view('imenik_user', array ('result' => $result, 'other_result' => $other_result)); } } else { $this->load->view('restricted'); } } function delete_from_phonebook() { $akcija = $this->uri->segment(3); $id = $this->uri->segment(4); if (isset($id) and $id > 0) { if($akcija == 'brisi'){ $this->load->model('LoginModel'); $this->LoginModel->delete_phonebook($id); redirect(site_url() . 'ImenikController', 'refresh'); } } } function izmeni() { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { $result = $this->LoginModel->get_Username($obj); if ($this->session->userdata('admin') == 1) { $other_result = $this->LoginModel->body_edit_phonebook(); $this->load->view('izmeni_imenik', array ('result' => $result, 'other_result' => $other_result, 'obj' => $obj)); } else { $this->load->view('restricted_admin'); } } else{ $this->load->view('restricted'); } } function verify_editing_phonebook() { if ($this->session->userdata('logged_in')) { if ($this->session->userdata('admin') == 1) { $this->form_validation->set_rules('ime_prezime', 'Ime i prezime', 'trim|required|xss_clean'); $this->form_validation->set_rules('telefon', 'Telefon', 'trim|required|xss_clean'); if ($this->form_validation->run() == TRUE) { $id = $this->uri->segment(3); $this->LoginModel->edit_phonebook($id); redirect(site_url().'ImenikController', 'refresh'); } else { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('ErrorEditing', $data); } } else { $this->load->view('restricted_admin'); } } else { $this->load->view('restricted'); } } } ?>
imenik_admin (application/views/imenik_admin.php)
<html> <head> <title>Telefonski imenik</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" /> <script type="text/javascript" src="pack.js"></script> <script type="text/javascript" src="pop.js"> </script> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($result as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo base_url().'Home/logout'; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h1>Imenik</h1> <hr><br/><br/><br/> <?php echo "               "; ?> <a href='<?php echo base_url().'DodajImenikController'; ?>'> <img src='images/add.jpeg' style='width:4%' align='middle'> </img> <?php echo "  Dodaj novog telefonskog korisnika</a>"; echo" <table id='rounded-corner' > <thead> <tr> <th scope='col' class='rounded-company'>Ime i prezime</th> <th scope='col' class='rounded-q1'>Ulica</th> <th scope='col' class='rounded-q2'>Mesto</th> <th scope='col' class='rounded-q3'>Telefon</th>"; echo"<th scope='col' class='rounded-q4'>Opcije</th>"; echo" </tr> </thead> <tfoot> <tr> <td colspan='5' class='rounded-foot-left'><em>Spisak zavedenih telefonskih korisnika</em></td> </tr> </tfoot>"; ?> <tbody> <?php foreach ($other_result as $red): ?> <tr> <td><?php echo $red->ime_prezime; ?></td> <td><?php echo $red->ulica; ?></td> <td><?php echo $red->mesto; ?></td> <td><?php echo $red->telefon; ?></td> <td> <a href="<?php echo site_url(). 'ImenikController/izmeni/'.$red->id; ?>" title="">Izmeni</a>   <a href="<?php echo site_url().'ImenikController/delete_from_phonebook/brisi/' . $red->id; ?>">Briši</a> </td> </tr> <?php endforeach; ?> </tbody> <?php echo "</table>"; ?> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
imenik_user (application/views/imenik_user.php)
<html> <head> <title>Telefonski imenik</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" /> <script type="text/javascript" src="pack.js"></script> <script type="text/javascript" src="pop.js"> </script> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($result as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo base_url().'Home/logout'; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h1>Imenik</h1> <hr><br/><br/><br/> <?php echo" <table id='rounded-corner' > <thead> <tr> <th scope='col' class='rounded-company'>Ime i prezime</th> <th scope='col' class='rounded-q1'>Ulica</th> <th scope='col' class='rounded-q2'>Mesto</th> <th scope='col' class='rounded-q3'>Telefon</th>"; echo" </tr> </thead> <tfoot> <tr> <td colspan='5' class='rounded-foot-left'><em>Spisak zavedenih telefonskih korisnika</em></td> </tr> </tfoot>"; foreach ($other_result as $rec) { echo"<tbody> <tr> <td>" . $rec->ime_prezime . "</td> <td>" . $rec->ulica . "</td> <td>" . $rec->mesto ."</td> <td>" . $rec->telefon ."</td>"; } echo" </tr> </tbody>"; echo"</table>"; ?> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
ErrorEditting (application/views/ErrorEditing.php)
<html> <head> <title>Greška u izmeni</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href=<?php echo base_url()."css/style.css"; ?> media="screen" /> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($records as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo "Home/logout"; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a> <li><a href="administracija.php">Administracija</a></li> <li><a href="kontakt.php">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h2>GREŠKA. Sledeća polja moraju biti popunjena.</h2> <br /> <br /> <?php echo validation_errors(); ?> <br /> <br /> <a href=<?php echo base_url()."IzmeniImenikController"; ?>>Nazad</a> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
restricted_admin (application/views/restricted_admin.php)
<html> <head> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> <title>Nedozvoljen pristup</title> <link href=<?php echo base_url()."css/login-box.css"; ?> rel='stylesheet' type='text/css' /> </head> <body> <div style='padding: 100px 0 0 250px;'> <div id='login-box'> <h2>Telefonski imenik</h2> <br /> <h3>Ovoj stranici mogu pristupiti samo administratori sistema</h3> <br /> <a href="<?php echo base_url().'LoginController'; ?>"><h1>LogIn</h1></a> <br /> <br /> </div> </div> </body> </html>IzmeniImenikController (application/controllers/IzmeniImenikController.php)
<?php class IzmeniImenikController extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel'); } function index() { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { if ($this->session->userdata('admin') == 1) { $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('izmeni_imenik', $data); } else { $this->load->view('restricted_admin'); } } else{ $this->load->view('restricted'); } } } ?>
izmeni_imenik (application/views/izmeni_imenik.php)
<html> <head> <title>Izmena telefonskog imenika</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="<?php echo base_url(); ?>/css/style.css" type="text/css" media="screen"/> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($result as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo "Home/logout"; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a> <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <?php echo form_open('ImenikController/verify_editing_phonebook/'.$this->uri->segment(3)); ?> <?php foreach ($other_result as $rec): ?> Ime i prezime*: <input type='text' name='ime_prezime' value="<?php echo $rec->ime_prezime; ?>"> <br><br> Ulica i broj: <input type='text' name='ulica' value="<?php echo $rec->ulica; ?>"> <br><br> Mesto: <input type='text' name='mesto' value="<?php echo $rec->mesto; ?>"> <br><br> Telefon*: <input type='text' name='telefon' value="<?php echo $rec->telefon; ?>"> <br><br> <?php endforeach; ?> <u>Napomena: Polja sa zvezdicom su obavezna.</u> <br /> <br /> <input background:url('images/login-btn.png') no-repeat; border: none; width='103' height='42' style='margin-left:90px;' type='submit' value='Izmeni'> <?php echo form_close(); ?> <a href=<?php echo base_url()."ImenikController"; ?>>Nazad</a> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
DodajImenikController (application/controllers/DodajImenikController.php)
<?php class DodajImenikController extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel'); } function index() { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { if ($this->session->userdata('admin') == 1) { $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('dodaj_imenik', $data); } else { $this->load->view('restricted_admin'); } } else{ $this->load->view('restricted'); } } } ?>
dodaj_imenik (application/views/dodaj_imenik.php)
<html> <head> <title>Dodaj u imenik</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" /> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($records as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo "Home/logout"; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a> <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <?php echo form_open('InsertController/verify'); ?> Ime i prezime (*): <input type='text' name='ime_prezime' > <br><br> Ulica i broj: <input type='text' name='ulica' > <br><br> Mesto: <input type='text' name='mesto' > <br><br> Telefon (*): <input type='text' name='telefon' > <br><br> <u>Napomena: Polja sa zvezdicom su obavezna.</u> <br /> <br /> <input background:url('images/login-btn.png') no-repeat; border: none; width='103' height='42' style='margin-left:90px;' type='submit' value='Dodaj'> <?php echo form_close(); ?> <a href=<?php echo base_url()."ImenikController"; ?>>Nazad</a> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
InsertController (application/controllers/InsertController.php)
<?php class InsertController extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel'); } function verify() { if ($this->session->userdata('logged_in')) { if ($this->session->userdata('admin') == 1) { $this->form_validation->set_rules('ime_prezime', 'Ime i prezime', 'trim|required|xss_clean'); $this->form_validation->set_rules('telefon', 'Telefon', 'trim|required|xss_clean'); if ($this->form_validation->run()) { if ($this->LoginModel->dodajImenik()) { redirect('ImenikController'); } else { echo "Dodavanje nije uspelo"; } } else { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('ErrorAdding', $data); } } else { $this->load->view('restricted_admin'); } } else { $this->load->view('restricted'); } } function verify_korisnik() { if ($this->session->userdata('logged_in')) { if ($this->session->userdata('admin') == 1) { $this->form_validation->set_rules('user', 'Username', 'trim|required|xss_clean'); $this->form_validation->set_rules('ime', 'Ime i prezime', 'trim|required|xss_clean'); $this->form_validation->set_rules('passwd', 'Lozinka', 'trim|required|xss_clean'); $this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[korisnici.email]'); $this->form_validation->set_rules('nesto', 'Vrsta korisnika', 'trim|required|xss_clean|callback_nesto'); if ($this->form_validation->run() == TRUE) { $this->nesto(); } else { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('ErrorAdding_Korisnik', $data); } } else { $this->load->view('restricted_admin'); } } else { $this->load->view('restricted'); } } function nesto() { $vrsta = $this->input->post('nesto'); if ($vrsta == 'admin') { if ($this->LoginModel->dodajKorisnik_admin()) { redirect('AdminController'); } } elseif ($vrsta == 'user') { if ($this->LoginModel->dodajKorisnik_user()) { redirect('AdminController'); } } } } ?>
ErrorAdding (application/views/ErrorAdding.php)
<html> <head> <title>Greška u dodavanju</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href=<?php echo base_url()."css/style.css"; ?> media="screen" /> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($records as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo "Home/logout"; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a> <li><a href="administracija.php">Administracija</a></li> <li><a href="kontakt.php">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h2>GREŠKA. Sledeća polja moraju biti popunjena.</h2> <br /> <br /> <?php echo validation_errors(); ?> <br /> <br /> <a href=<?php echo base_url()."DodajImenikController"; ?>>Nazad</a> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
ErrorAdding_korisnik (application/views/ErrorAdding_korisnik.php)
<html> <head> <title>Greška u dodavanju korisnika</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href=<?php echo base_url()."css/style.css"; ?> media="screen" /> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($records as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo "Home/logout"; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a> <li><a href="administracija.php">Administracija</a></li> <li><a href="kontakt.php">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h2>GREŠKA. Sledeća polja moraju biti popunjena.</h2> <br /> <br /> <?php echo validation_errors(); ?> <br /> <br /> <a href=<?php echo base_url()."DodajKorisnikController"; ?>>Nazad</a> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
AdminController (application/controllers/AdminController)
<?php class AdminController extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel'); } function index() { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { $result = $this->LoginModel->get_Username($obj); if ($this->session->userdata('admin') == 1) { $other_result = $this->LoginModel->body_administration(); $this->load->view('administracija_admin', array ('result' => $result, 'other_result' => $other_result, 'obj' => $obj)); } elseif ($this->session->userdata('admin') == 2) { $other_result = $this->LoginModel->body_administration(); $this->load->view('administracija_user', array ('result' => $result, 'other_result' => $other_result)); } } else { $this->load->view('restricted'); } } function verify_editing_korisnik() { if ($this->session->userdata('logged_in')) { if ($this->session->userdata('admin') == 1) { $this->form_validation->set_rules('user', 'Username', 'trim|required|xss_clean'); if ($this->form_validation->run() == TRUE) { $id = $this->uri->segment(3); if ($this->input->post('nesto') == 'admin') { if ($this->LoginModel->edit_admin($id)) { redirect(site_url().'AdminController', 'refresh'); } } elseif ($this->input->post('nesto') == 'user') { if ($this->LoginModel->edit_user($id)) { redirect(site_url().'AdminController', 'refresh'); } } } else { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('ErrorEditing_user', $data); } } else { $this->load->view('restricted_admin'); } } else { $this->load->view('restricted'); } } function izmeni() { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { $result = $this->LoginModel->get_Username($obj); if ($this->session->userdata('admin') == 1) { $other_result = $this->LoginModel->body_edit(); $this->load->view('izmeni_korisnik', array ('result' => $result, 'other_result' => $other_result, 'obj' => $obj)); } else { $this->load->view('restricted_admin'); } } else{ $this->load->view('restricted'); } } function delete_from_korisnik() { $akcija = $this->uri->segment(3); $id = $this->uri->segment(4); if (isset($id) and $id > 0) { if($akcija == 'brisi'){ $this->LoginModel->delete_korisnik($id); redirect(site_url() . 'AdminController', 'refresh'); } } } } ?>
administracija_admin (application/views/administracija_admin.php)
<html> <head> <title>Administracija</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" /> <script type="text/javascript" src="pack.js"></script> <script type="text/javascript" src="pop.js"> </script> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($result as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo base_url().'Home/logout'; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h1>Imenik</h1> <hr><br/><br/><br/> <?php echo "               "; ?> <a href='<?php echo base_url().'DodajKorisnikController'; ?>'> <img src='images/add.jpeg' style='width:4%' align='middle'> </img> <?php echo "  Dodaj novog korisnika</a>"; echo" <table id='rounded-corner' > <thead> <tr> <th scope='col' class='rounded-company'>Username</th> <th scope='col' class='rounded-company'>Ime i prezime</th> <th scope='col' class='rounded-q1'>Email</th> <th scope='col' class='rounded-q2'>Vrsta korisnika</th>"; echo"<th scope='col' class='rounded-q4'>Opcije</th>"; echo" </tr> </thead> <tfoot> <tr> <td colspan='5' class='rounded-foot-left'><em>Spisak zavedenih korisnika</em></td> </tr> </tfoot>"; ?> <tbody> <?php foreach ($other_result as $red): ?> <tr> <td><?php echo $red->username; ?></td> <td><?php echo $red->ime; ?></td> <td><?php echo $red->email; ?></td> <td><?php echo $red->vrsta; ?></td> <td> <a href="<?php echo site_url(). 'AdminController/izmeni/'.$red->id; ?>">Izmeni</a>   <a href="<?php echo site_url(). 'AdminController/delete_from_korisnik/brisi/'.$red->id; ?>">Briši</a> </td> </tr> <?php endforeach; ?> </tbody> <?php echo "</table>"; ?> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
administracija_user (application/views/administracija_user.php)
<html> <head> <title>Administracija</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" /> <script type="text/javascript" src="pack.js"></script> <script type="text/javascript" src="pop.js"> </script> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($result as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo base_url().'Home/logout'; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h1>Imenik</h1> <hr><br/><br/><br/> <?php echo "               "; ?> <?php echo" <table id='rounded-corner' > <thead> <tr> <th scope='col' class='rounded-company'>Username</th> <th scope='col' class='rounded-company'>Ime i prezime</th> <th scope='col' class='rounded-q1'>Email</th> <th scope='col' class='rounded-q2'>Vrsta</th>"; echo" </tr> </thead> <tfoot> <tr> <td colspan='5' class='rounded-foot-left'><em>Spisak zavedenih telefonskih korisnika</em></td> </tr> </tfoot>"; ?> <tbody> <?php foreach ($other_result as $red): ?> <tr> <td><?php echo $red->username; ?></td> <td><?php echo $red->ime; ?></td> <td><?php echo $red->email; ?></td> <td><?php echo $red->vrsta; ?></td> </tr> <?php endforeach; ?> </tbody> <?php echo "</table>"; ?> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>IzmeniKorisnikController (application/controllers/IzmeniImenikController.php)
<?php class IzmeniKorisnikController extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel'); } function index() { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { if ($this->session->userdata('admin') == 1) { $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('izmeni_korisnik', $data); } else { $this->load->view('restricted_admin'); } } else{ $this->load->view('restricted'); } } } ?>
izmeni_korisnik (application/views/izmeni_korisnik.php)
<html> <head> <title>Izmena korisničkih podataka</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="<?php echo base_url(); ?>/css/style.css" type="text/css" media="screen"/> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($result as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo "Home/logout"; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a> <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <?php echo form_open('AdminController/verify_editing_korisnik/'.$this->uri->segment(3)); ?> <?php foreach ($other_result as $rec): ?> Username (*): <input type='text' name='user' value="<?php echo $rec->username; ?>"> <br><br> Ime i prezime: <input type='text' name='ime' value="<?php echo $rec->ime; ?>"> <br><br> Email: <input type='text' name='email' value="<?php echo $rec->email; ?>"> <br><br> <?php endforeach; ?> Vrsta korisnika: <select name="nesto"> <option>admin</option> <option>user</option> </select> <br /> <br /> <u>Napomena: Polja sa zvezdicom su obavezna.</u> <br /> <br /> <input background:url('images/login-btn.png') no-repeat; border: none; width='103' height='42' style='margin-left:90px;' type='submit' value='Izmeni'> <?php echo form_close(); ?> <a href=<?php echo base_url()."AdminController"; ?>>Nazad</a> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
errorediting_user (application/views/errorediting_user.php)
<html> <head> <title>Greška u izmeni korisnika</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href=<?php echo base_url()."css/style.css"; ?> media="screen" /> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($records as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo "Home/logout"; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a> <li><a href="administracija.php">Administracija</a></li> <li><a href="kontakt.php">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h2>GREŠKA. Sledeća polja moraju biti popunjena.</h2> <br /> <br /> <?php echo validation_errors(); ?> <br /> <br /> <a href=<?php echo base_url()."IzmeniKorisnikController"; ?>>Nazad</a> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
DodajKorisnikController (application/controllers/DodajKorisnikController.php)
<?php class DodajKorisnikController extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel'); } function index() { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { $result = $this->LoginModel->get_Username($obj); if ($this->session->userdata('admin') == 1) { $other_result = $this->LoginModel->body_administration(); $this->load->view('dodaj_korisnik', array ('result' => $result, 'other_result' => $other_result, 'obj' => $obj)); } else { $this->load->view('restricted_admin'); } } else { $this->load->view('restricted'); } } } ?>
dodaj_korisnik (application/views/dodaj_korisnik.php)
<html> <head> <title>Dodaj korisnika</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" /> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($result as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo "Home/logout"; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a> <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <?php echo form_open('InsertController/verify_korisnik'); ?> Username (*): <input type='text' name='user' > <br><br> Ime i prezime (*): <input type='text' name='ime' > <br><br> Lozinka (*): <input type='password' name='passwd' > <br><br> Email: <input type='text' name='email' > <br><br> Vrsta korisnika (*): <select name='nesto'> <option value="admin">admin</option> <option value="user">user</option> </select><br/><br/> <input type='submit' value='Dodaj' > <br /> <a href=<?php echo base_url()."AdminController"; ?>>Nazad</a> <?php echo form_close(); ?> <br /> <br /> <u>Napomena: Polja sa zvezdicom su obavezna.</u> <br /> <br /> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
KontaktController (application/views/KontaktController.php)
<?php class KontaktController extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('LoginModel'); } function index() { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; if ($this->session->userdata('logged_in')) { $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('kontakt', $data); } else{ $this->load->view('restricted'); } } function verify_email() { if ($this->session->userdata('logged_in')) { $this->form_validation->set_rules('ime', 'Vaše ime', 'trim|required|xss_clean'); $this->form_validation->set_rules('email', 'Vaš email', 'trim|required|xss_clean|valid_email'); $this->form_validation->set_rules('poruka', 'Poruka', 'trim|required|xss_clean'); if ($this->form_validation->run() == FALSE) { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('kontakt', $data); } else { $this->load->helper('email'); $this->load->library('email'); $this->email->from(set_value("email"), set_value("ime")); $this->email->to("vl.radovanovic@gmail.com"); $this->email->subject("Pitanje/poruka sa Telefonskog imenika"); $this->email->message(set_value("message")); $mail = $this->email->send(); if ($mail) { $temp = $this->session->userdata('logged_in'); $obj['id'] = $temp['id']; $data['records'] = $this->LoginModel->get_Username($obj); $this->load->view('poslato', $data); } else { show_404(); } } } else { $this->load->view('restricted'); } } } ?>
kontakt (application/views/kontakt.php)
<html> <head> <title>Kontakt</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="<?php echo base_url(); ?>/css/style.css" type="text/css" media="screen"/> <script type="text/javascript" src="pack.js"></script> <script type="text/javascript" src="pop.js"> </script> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($records as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo base_url().'Home/logout'; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h1>Info</h1> <hr><br/> <div align="center"> CRUD WEB aplikacija<br/> Korišćena tehnologija: PHP <br /> Framework: CodeIgniter <br /> Vladimir Radovanović<br /> <br/> email: vl.radovanovic [et] gmail.com<br/> <br /><hr> <br /> <?php echo validation_errors(); ?> <br /> <?php echo form_open('KontaktController/verify_email'); ?> Vaše ime: <input type="text" name="ime"> <br /><br /> Vaš email: <input type="text" name="email"> <br /> <br /> Poruka: <textarea name="poruka" rows="10" cols="30"> </textarea> <br /> <br /> <br /> <input type="submit" name="submit" value="Pošalji"> <?php echo form_close(); ?> </div> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
poslato (application/views/poslato.php)
<html> <head> <title>Telefonski imenik</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="<?php echo base_url(); ?>/css/style.css" type="text/css" media="screen"/> <script type="text/javascript" src="pack.js"></script> <script type="text/javascript" src="pop.js"> </script> </head> <body> <div id="okvir"> <div id="vrh"> </div> <div id="pocetak"> <?php echo "<p id='bbb'><b >"; foreach ($records as $rec) { echo $rec->username; } echo "</b>:dobrodošli</p>"; ?> <a id="log" href=<?php echo base_url().'Home/logout'; ?>>LOGOUT</a> </div> <div id="meni" id="nav"> <ul> <li><a href=<?php echo base_url().'Home'; ?>>Početna</a></li> <li><a href=<?php echo base_url().'ImenikController'; ?>>Imenik</a <li><a href=<?php echo base_url().'AdminController'; ?>>Administracija</a></li> <li><a href="<?php echo base_url().'KontaktController'; ?>">Kontakt</a></li> </ul> </div> <div id="sadrzaj" > <h1>Info</h1> <hr><br/> <div align="center"> CRUD WEB aplikacija<br/> Korišćena tehnologija: PHP <br /> Framework: CodeIgniter <br /> Vladimir Radovanović<br /> <br/> email: vl.radovanovic [et] gmail.com<br/> <br /><br /> <h2> Vaš email je uspešno poslat. Odgovoriću Vam u najkraćem roku. </h2> <br /> <a href=<?php echo base_url()."ImenikController"; ?>>Nazad</a> </div> </div> <div id="kraj"> Vladimir Radovanović </div> <div id="ppp"> </div> </div> </body> </html>
Kompletan projekat se može preuzeti ovde.
Srdačan pozdrav!
Vladimir
Нема коментара:
Постави коментар