├── .gitattributes
├── .gitignore
├── .htaccess
├── app
├── Controllers
│ ├── Branchdetails.php
│ ├── Branchissues.php
│ ├── Errors.php
│ ├── Index.php
│ ├── Logins.php
│ └── Users.php
├── Models
│ ├── Branchdetail.php
│ ├── Branchissue.php
│ └── UserModel.php
└── helpers.php
├── bank-db-dump.sql
├── bootstrap
└── autoload.php
├── composer.json
├── composer.lock
├── config
├── app.php
├── database.php
└── mail.php
├── include
├── FormHelper.php
├── Pagination.php
└── Validator.php
├── index.php
├── libs
├── Auth.php
├── BaseController.php
├── BaseModel.php
├── Bootstrap.php
├── Database.php
├── Exceptions
│ └── HttpPageNotFoundException.php
├── Hash.php
├── Session.php
└── View.php
├── public
├── css
│ ├── bootstrap.min.css
│ └── style.css
├── fonts
│ ├── glyphicons-halflings-regular.eot
│ ├── glyphicons-halflings-regular.svg
│ ├── glyphicons-halflings-regular.ttf
│ └── glyphicons-halflings-regular.woff
├── images
│ ├── favicon.ico
│ ├── favicon.png
│ ├── logo.jpg
│ ├── sort_asc.png
│ └── sort_desc.png
└── js
│ ├── angular.min.js
│ ├── angular.min.js.map
│ ├── bootstrap.min.js
│ ├── html5shiv.js
│ ├── jquery.min.js
│ └── mycustom.js
├── readme.md
├── resources
└── views
│ ├── branch_detail
│ ├── add.php
│ ├── index.php
│ ├── js
│ │ └── details.js
│ └── show.php
│ ├── branch_issue
│ ├── add.php
│ ├── index.php
│ └── show.php
│ ├── error
│ └── index.php
│ ├── footer.php
│ ├── header.php
│ ├── index
│ └── index.php
│ ├── login
│ ├── css
│ │ └── login.css
│ └── index.php
│ ├── navigation.php
│ ├── slider.php
│ └── user
│ ├── add.php
│ ├── edit.php
│ └── index.php
└── tmp
├── cache
└── .gitignore
├── logs
└── .gitignore
└── session
└── .gitignore
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.css linguist-vendored
3 | *.scss linguist-vendored
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /vendor
2 | /node_modules
3 | /public/storage
4 | Homestead.yaml
5 | Homestead.json
6 | .env
7 | .idea
8 | /bower_components
9 |
--------------------------------------------------------------------------------
/.htaccess:
--------------------------------------------------------------------------------
1 | php_flag display_errors on
2 | php_value error_reporting 9999
3 | RewriteEngine on
4 | RewriteCond %{REQUEST_FILENAME} !-d
5 | RewriteCond %{REQUEST_FILENAME} !-f
6 | RewriteCond %{REQUEST_FILENAME} !-l
7 | RewriteRule ^(.+)$ index.php?url=$1&direction=asc [QSA,L]
8 |
--------------------------------------------------------------------------------
/app/Controllers/Branchdetails.php:
--------------------------------------------------------------------------------
1 | view->js=array('branch_detail/js/details.js');
20 | }
21 |
22 | public function index($limit=5)
23 | {
24 | $page=(isset($_GET['page'])? $_GET['page']: 1);
25 | $param['sort']=isset($_GET['sort'])? $_GET['sort']:'id';
26 | $param['direction']=isset($_GET['direction'])? $_GET['direction']: 'asc';
27 | if(isset($_GET['search_query'])){
28 | return $this->search($page,$limit,$param);
29 | }
30 | unset ($_GET['search_query']);
31 | $totalRecord=$this->model->totalRecord();
32 | $pagination=new \Pagination($page,$limit,$totalRecord);
33 | $this->view->offSet=$pagination->offset();
34 | if ($page < 1 || $page > $pagination->totalPages() ){
35 | $this->index($page=1);
36 | exit;
37 | }
38 | $this->view->createLinks=$pagination->createPaginationArea($pagination,$page);
39 | $this->view->details=$this->model->branchList($limit,$pagination->offset(),$param);
40 | $this->view->render("branch_detail/index");
41 | }
42 | public function add(){
43 | $this->view->render('branch_detail/add');
44 | }
45 | public function store(){
46 | if(($_SERVER['REQUEST_METHOD']==='POST') && isset($_POST['add-issue']) ){
47 | try{
48 | $form=new \FormHelper();
49 | $form->post('branch_name')
50 | ->Validator('isRequired')
51 | ->Validator('minLength',3)
52 | ->Validator('maxLength',80)
53 | ->post('branch_manager')
54 | ->Validator('isRequired')
55 | ->Validator('minLength',3)
56 | ->Validator('maxLength',80)
57 | ->post('location')
58 | ->Validator('isRequired')
59 | ->Validator('minLength',5)
60 | ->post('email')
61 | ->Validator('isEmail');
62 | $form->submit();
63 | $data=$form->fetch();
64 | $bd=new \Branchdetail();
65 | $bd->branch_name=$data['branch_name'];
66 | $bd->branch_manager=$data['branch_manager'];
67 | $bd->location=$data['location'];
68 | $bd->location=$data['location'];
69 | $bd->email=$data['email'];
70 | $bd->save();
71 | Session::set('message',"New Branch Added Successfully!");
72 | header("location:".URL.'branchdetail/');
73 | }catch (\Exception $e){
74 | // throw new Exception($e->getMessage());
75 | header('location:'.URL.'branchdetail/add');
76 | }
77 |
78 | }else{
79 | header('location: '.URL);
80 | }
81 | }
82 | public function sendmessage($id){
83 | try{
84 | $form=new \FormHelper();
85 | $form->post('client-full-name')
86 | ->Validator('isRequired')
87 | ->Validator('minLength',3)
88 | ->Validator('maxLength',80)
89 | ->post('branch_manager')
90 | ->Validator('isRequired')
91 | ->Validator('minLength',3)
92 | ->Validator('maxLength',80)
93 | ->post('subject')
94 | ->Validator('isRequired')
95 | ->Validator('minLength',5)
96 | ->post('message')
97 | ->Validator('isRequired')
98 | ->Validator('minLength',5)
99 | ->post('client-email')
100 | ->Validator('isEmail')
101 | ->file('client-file')
102 | ->Validator('isFileOk',array('type'=>array('image/jpeg','image/pjpeg',
103 | 'application/msword','application/pdf','application/zip'),'maxUploadSize'=>4194304,'isOptional'=>true));
104 | $form->submit();
105 | $data=$form->fetch();
106 | $message=" Client Name: ".$data['client-full-name'];
107 | $message.="\n Client Email- ID: ".$data['client-email'];
108 | $message.="\n Message: \n\n".$data['message'];
109 | $mailgun= new Mailgun(MAILGUN_API_KEY);
110 | $email=\Branchdetail::first($id)->get_values_for(['email'])['email'];
111 | if(move_uploaded_file($_FILES['client-file']['tmp_name'],UPLOAD_DIR.$_FILES['client-file']['name'])){
112 | $file=UPLOAD_DIR.$_FILES['client-file']['name'];
113 | $mailgun->sendMessage(MAILGUN_DOMAIN, array('from'=> MAILGUN_FROM,
114 | 'to' => $data['client-full-name']."<{$email}>",
115 | 'subject' => $data['subject'],
116 | 'text' => $message),
117 | array('attachment' => array("@{$file}")));
118 | unlink($file);
119 | }else{
120 | $mailgun->sendMessage(MAILGUN_DOMAIN, array('from'=> MAILGUN_FROM,
121 | 'to' => $data['client-full-name']."<{$email}>",
122 | 'subject' => $data['subject'],
123 | 'text' => $message));
124 | }
125 | Session::set('message',"Your Message Sent Successfully!");
126 | header("location:".URL.'branchdetail/');
127 | }catch (\Exception $e){
128 | // throw new Exception($e->getMessage());
129 | header("location:".URL.'branchdetail/');
130 | }
131 | }
132 | public function show( $branchDetail_id){
133 | try{
134 | $this->view->details=$this->model->showBranchIssues($branchDetail_id);
135 | $this->view->render('branch_detail/show');
136 | }
137 | catch(ActiveRecordException $e){
138 | echo $e->getMessage();
139 | // Session::set('errors', array("{$branchDetail_id}"=>'Does Not Exists'));
140 | // header('location:'.URL.'branchdetail/');
141 | }
142 | }
143 | public function showBranchIssuesInJson(){
144 | $branchDetail_id=$_GET['b_id'];
145 | echo $this->model->showBranchIssues($branchDetail_id)->to_json(array('include'=>'issues'));
146 | }
147 | public function search($page=1,$limit=10,$param){
148 | try{
149 | $form=new \FormHelper();
150 | $form->request('search_query')
151 | ->Validator('isRequired')
152 | ->request('searchBy')
153 | ->Validator('isRequired');
154 | $form->submit();
155 | $data=$form->fetch();
156 | $totalRecord=$this->model->totalSearch($data);
157 | $pagination=new \Pagination($page,$limit,$totalRecord);
158 | $this->view->details=$this->model->search($data,$limit,$pagination->offset(),$param);
159 | $this->view->createLinks=$pagination->createPaginationArea($pagination,$page);
160 | $this->view->render("branch_detail/index");
161 | }catch (\Exception $e){
162 | // throw new Exception($e->getMessage());
163 | header("location:".URL.'branchdetail/');
164 | }
165 | }
166 | }
167 | ?>
--------------------------------------------------------------------------------
/app/Controllers/Branchissues.php:
--------------------------------------------------------------------------------
1 | model->totalRecord();
24 | $pagination=new \Pagination($page,$limit,$totalRecord);
25 | $this->view->offSet=$pagination->offset();
26 | if ($page < 1 || $page > $pagination->totalPages() ){
27 | $this->Index($page=1);
28 | exit;
29 | }
30 | $this->view->createLinks=$pagination->createPaginationArea($pagination,$page);
31 | $this->view->issues=$this->model->branchIssueList($limit,$pagination->offset(),$param);
32 | $this->view->render("branch_issue/index");
33 | }
34 | public function search_by_ticket(){
35 | $q=isset($_GET['q-tkt'])? $_GET['q-tkt']: '';
36 | $this->view->issues=$this->model->search_by_ticket($q);
37 | $this->view->createLinks=NULL;
38 | $this->view->render("branch_issue/index");
39 | }
40 |
41 | public function add(){
42 | $this->view->render('branch_issue/add');
43 | }
44 | public function show(){
45 | $this->view->render('branch_issue/show');
46 | }
47 | public function response($issue_id){
48 | if($_SERVER['REQUEST_METHOD']==='POST' ){
49 | $_POST['status']=isset($_POST['status'])? 1: 0;
50 | try{
51 | $form=new \FormHelper();
52 | $form->post('status')
53 | ->post('remark')
54 | ->Validator('isRequired')
55 | ->Validator('minLength',5);
56 | $form->submit();
57 | $data=$form->fetch();
58 | $bi=\Branchissue::find($issue_id);
59 | // dd((bool)$data['status']);
60 | $bi->status=(bool)$data['status'];
61 | $bi->result=$data['remark'];
62 | $bi->issue_updated_at=new \DateTime();
63 | $bi->save();
64 | Session::set('message',"Respond Submitted Successfully!");
65 | header('location:'.URL.'branchissue');
66 | }catch (\Exception $e){
67 | // throw new Exception($e->getMessage());
68 | header('location:'.URL.'branchissue');
69 | }
70 |
71 | }else{
72 | header('location:'.URL);
73 | }
74 | }
75 | }
76 | ?>
--------------------------------------------------------------------------------
/app/Controllers/Errors.php:
--------------------------------------------------------------------------------
1 | view->render("error/index");
16 | }
17 | }
--------------------------------------------------------------------------------
/app/Controllers/Index.php:
--------------------------------------------------------------------------------
1 | view->render('index/index');
16 | }
17 | }
--------------------------------------------------------------------------------
/app/Controllers/Logins.php:
--------------------------------------------------------------------------------
1 | view->css=array('login/css/login.css');
16 | }
17 | public function Index()
18 | {
19 | Session::init();
20 | if (Session::get('loggedIn')===TRUE) {
21 | header("location:".URL);
22 | exit;
23 | }
24 | $this->view->Render('login/index');
25 | }
26 | public function login()
27 | {
28 | if (Auth::login($_REQUEST['email'],$_REQUEST['password'])) {
29 | header("location:".URL."branchdetail");
30 | }
31 | else{
32 | Session::init();
33 | Auth::logout();
34 | Session::set('errors','Oops!! Invalid Credentials. Try Again.');
35 | header("location:".URL."login");
36 | }
37 | }
38 | public function logout()
39 | {
40 | Auth::logout();
41 | header("location:".URL."login");
42 | }
43 | }
44 | ?>
--------------------------------------------------------------------------------
/app/Controllers/Users.php:
--------------------------------------------------------------------------------
1 | pages();
23 | // $this->view->Render('user/index');
24 | }
25 | public function add()
26 | {
27 | $this->view->render('user/add');
28 | }
29 | public function create()
30 | {
31 | $this->model->create();
32 | }
33 |
34 | public function edit($id)
35 | {
36 | $this->view->user=$this->model->userById($id);
37 | if($this->view->user['username']=='abhishekkhaware'){
38 | header("location:".URL.'user');
39 | return true;
40 | }
41 | $this->view->render('user/edit');
42 | }
43 | public function editSave($id)
44 | {
45 | $this->model->editSave($id);
46 | }
47 | public function pages($page=1,$limit=4)
48 | {
49 | $totalRecord=$this->model->totalRecord();
50 | $pagination=new \Pagination($page,$limit,$totalRecord);
51 | $this->view->offSet=$pagination->offset();
52 | if ($page < 1 || $page > $pagination->totalPages() ){
53 | $this->index($page=1);
54 | exit;
55 | }
56 | $this->view->createLinks=$this->createPaginationArea($pagination,$page);
57 | $this->view->userList=$this->model->userList($limit,$pagination->offset());
58 | $this->view->render("user/index");
59 | }
60 | public function createPaginationArea($pagination,$page)
61 | {
62 | $area="
";
80 | return $area;
81 | }
82 |
83 | public function delete($id)
84 | {
85 | $this->model->delete($id);
86 | header("location:".URL."user");
87 | }
88 | public function logout()
89 | {
90 | Auth::logout();
91 | header("location:".URL."login");
92 | }
93 | }
--------------------------------------------------------------------------------
/app/Models/Branchdetail.php:
--------------------------------------------------------------------------------
1 | 'id',
14 | 'class_name' => 'Branchissue'
15 | )
16 | );
17 | public function findAll(){
18 | return Branchdetail::all();
19 | }
20 | public function totalRecord()
21 | {
22 | return (int)count(Branchdetail::all());
23 | }
24 | public function branchList($limit=10,$offset=0,array $param=array('sort'=>'id','direction'=>'asc'))
25 | {
26 | return Branchdetail::all();
27 | }
28 | public function totalSearch($data){
29 | return (int)count(Branchdetail::all(array('conditions'=>"{$data['searchBy']} LIKE '%{$data['search_query']}%'")));
30 | }
31 | public function search($data,$limit=10,$offset=0,array $param=array('sort'=>'id','direction'=>'asc')){
32 | return Branchdetail::all(array('limit'=>$limit,'offset'=>$offset,
33 | 'order'=>"{$param['sort']} {$param['direction']}",
34 | 'conditions'=>"{$data['searchBy']} LIKE '%{$data['search_query']}%'",
35 | 'include' => array('issues')));
36 |
37 | }
38 | public function showBranchIssues($branch_id){
39 | // dd($branch_id);
40 | return Branchdetail::all($branch_id,array('include' => array('issues')));
41 | }
42 | }
--------------------------------------------------------------------------------
/app/Models/Branchissue.php:
--------------------------------------------------------------------------------
1 | 'id',
13 | 'foreign_key' => 'branchdetail_id',
14 | 'class_name'=>'Branchdetail'));
15 | public function findAll(){
16 | return Branchissue::all();
17 | }
18 | public function totalRecord()
19 | {
20 | return (int)(Branchissue::count());
21 | }
22 | public function branchIssueList($limit=10,$offset=0,array $param=array('sort'=>'issue_ticket_created_at','direction'=>'asc'))
23 | {
24 | // return Branchissue::all(array('limit'=>$limit,'offset'=>$offset,'conditions'=>array('status LIKE 0'),'order'=>"{$param['sort']} {$param['direction']}"));
25 | return Branchissue::all();
26 | }
27 | public function search_by_ticket($tkt){
28 | return (Branchissue::all());
29 | }
30 | }
--------------------------------------------------------------------------------
/app/Models/UserModel.php:
--------------------------------------------------------------------------------
1 | post('username')
20 | ->Validator('minLength',8)
21 | ->Validator('maxLength',40)
22 | ->Validator('isAlphaNum')
23 | ->post('password')
24 | ->Validator('minLength',6)
25 | ->post('confirm-password')
26 | ->Validator('isMatched',$form->fetch('password'))
27 | ->post('email')
28 | ->Validator('isEmail')
29 | ->post('role')
30 | ->Validator('isAlpha');
31 | $form->submit();
32 | $data= $form->fetch();
33 | $data['password']=Hash::make($data['password']);
34 | unset($data['confirm-password']);
35 | date_default_timezone_set("Asia/Calcutta");
36 | $dt = date('Y-m-d H:i:s', time());
37 | $data['created_at']=$dt;
38 | $data['updated_at']=$dt;
39 | $this->db->insert('users',$data);
40 | Session::init();
41 | Session::set('flagMsg',"New User Added Successfull!!");
42 | header("location:".URL."user/add");
43 | } catch (Exception $e) {
44 | Session::init();
45 | Session::set('errors',$e->getMessage());
46 | header("location:".URL."user/add");
47 | }
48 | }else{
49 | header("location:".URL."user");
50 | }
51 | }
52 | public function userList($limit=5,$offset=0)
53 | {
54 | return $this->db->select("SELECT * FROM users LIMIT $limit OFFSET $offset");
55 | }
56 | public function userById($id,$limit=1)
57 | {
58 | $res=$this->db->select("SELECT * FROM users WHERE user_id=$id LIMIT $limit");
59 | return $res[0];
60 | }
61 | public function totalRecord()
62 | {
63 | return (int)count($this->db->select("SELECT user_id FROM users"));
64 | }
65 | public function editSave($id)
66 | {
67 | if (isset($_REQUEST['update']) ){
68 | try {
69 | $form=new FormHelper();
70 | $form->post('username')
71 | ->Validator('minLength',8)
72 | ->Validator('maxLength',40)
73 | ->Validator('isAlphaNum')
74 | ->post('password')
75 | ->Validator('minLength',6)
76 | ->post('confirm-password')
77 | ->Validator('isMatched',$form->fetch('password'))
78 | ->post('email')
79 | ->Validator('isEmail')
80 | ->post('role')
81 | ->Validator('isAlpha');
82 | $form->submit();
83 | $data= $form->fetch();
84 | $data['password']=Hash::make($data['password']);
85 | unset($data['confirm-password']);
86 | date_default_timezone_set("Asia/Calcutta");
87 | $dt = date('Y-m-d H:i:s', time());
88 | $data['updated_at']=$dt;
89 | $this->db->update('users',$data,"user_id=$id");
90 | Session::init();
91 | Session::set('flagMsg',"User's Record Updated Successfully!!");
92 | header("location:".URL."user/edit/{$id}");
93 | } catch (Exception $e) {
94 | Session::init();
95 | Session::set('errors',$e->getMessage());
96 | header("location:".URL."user/edit/{$id}");
97 | }
98 | }else{
99 | header("location:".URL."user/edit/{$id}");
100 | }
101 | }
102 | public function delete($id)
103 | {
104 | $this->db->delete("users","user_id=$id");
105 | }
106 | }
--------------------------------------------------------------------------------
/app/helpers.php:
--------------------------------------------------------------------------------
1 | $column,'direction'=>$direction),$attr);
6 | }
7 | function link_to($url,$body,array $queryString=array(),$attributes=''){
8 | $link="$value){
14 | $link.=$key.'='.$value.'&';
15 | }
16 | $link=rtrim($link,'&');
17 | }
18 | $link=rtrim($link,'?');
19 | return $link." >{$body}";
20 | }
21 | function append_to_queryString(array $param){
22 | return array_merge( $_GET,$param);
23 | }
24 | function except_to_queryString(array $param){
25 | return array_diff_assoc($param,$_GET);
26 | }
27 | function isSort($column){
28 | if(!isset($_GET['sort'])){$_GET['sort']='';}
29 | return ($_GET['sort']==$column) ? 'sorting '.sortSign():'';
30 | }
31 | function sortSign(){
32 | return ($_GET['direction']=='asc')? 'glyphicon glyphicon-sort-by-attributes' : 'glyphicon glyphicon-sort-by-attributes-alt';
33 | }
34 | function redirect($uri,$contentType='location'){
35 | header("{$contentType}: {$uri}");
36 | }
37 | function isActive($param){
38 | return isset($_GET['url'])? (rtrim($_GET['url'],'/')==$param)? 'active':'' :'';
39 | }
40 | function hasMessage(){
41 | \Libs\Session::init();
42 | return \Libs\Session::get('message');
43 | }
44 | function hasErrors(){
45 | \Libs\Session::init();
46 | return isset($_SESSION['errors']);
47 | }
48 | function getErrors($key){
49 | return \Libs\Session::get('errors')[$key];
50 | }
51 | function oldInput($key){
52 | if(isset($_SESSION['old']) && isset($_SESSION['old'][$key])){
53 | return $_SESSION['old'][$key];
54 | }
55 | return false;
56 | }
57 | function decryptErrors($errors=array())
58 | {
59 | if(!empty($errors)){
60 | $er=explode(',', $errors);
61 | $err=array();
62 | for ($i=0; $i < count($er) ; $i=$i+2) {
63 | $err[$er[$i]]=$er[$i+1];
64 | }
65 | return $err;
66 | }
67 | return $errors;
68 | }
69 | ?>
--------------------------------------------------------------------------------
/bank-db-dump.sql:
--------------------------------------------------------------------------------
1 | -- phpMyAdmin SQL Dump
2 | -- version 4.0.6deb1
3 | -- http://www.phpmyadmin.net
4 | --
5 | -- Host: localhost
6 | -- Generation Time: Feb 10, 2014 at 03:38 AM
7 | -- Server version: 5.5.35-0ubuntu0.13.10.2
8 | -- PHP Version: 5.5.8-3+sury.org~saucy+2
9 |
10 | SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
11 | SET time_zone = "+00:00";
12 |
13 |
14 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
15 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
16 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
17 | /*!40101 SET NAMES utf8 */;
18 |
19 | --
20 | -- Database: `bank`
21 | --
22 | CREATE DATABASE IF NOT EXISTS `bank` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
23 | USE `bank`;
24 |
25 | -- --------------------------------------------------------
26 |
27 | --
28 | -- Table structure for table `branchdetails`
29 | --
30 |
31 | CREATE TABLE IF NOT EXISTS `branchdetails` (
32 | `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
33 | `branch_name` varchar(120) NOT NULL,
34 | `branch_manager` varchar(80) NOT NULL,
35 | `location` text NOT NULL,
36 | `email` varchar(120) NOT NULL,
37 | PRIMARY KEY (`id`)
38 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
39 |
40 | --
41 | -- Dumping data for table `branchdetails`
42 | --
43 |
44 | INSERT INTO `branchdetails` (`id`, `branch_name`, `branch_manager`, `location`, `email`) VALUES
45 | (1, 'MayurVihar-II', 'Santosh Kumar', 'Pocket -A, Mayur Vihar-II, New Delhi-92', 'santoshkumar@yahoo.com'),
46 | (2, 'MayurVihar-I', 'Rajeev Ranjan', 'Pocket -C, Mayur Vihar-I, New Delhi-92', 'rajeevranjan@gmail.com'),
47 | (3, 'South Ex', 'Pinki Sharma', 'K16, South Ex-I, New Delhi-92', 'pinkisharma@rediffmail.com'),
48 | (4, 'Vinod Nagar', 'Abhishek Khaware', '124, West Vinod Nagar, New Delhi-92', 'abhishekkhaware@gmail.com'),
49 | (5, 'Laxmi Nagar', 'Manish Raana', 'S-86, Laxmi Nagar, New Delhi-92', 'manishraana@hotmail.com'),
50 | (6, 'Rajender Nagar', 'Anjana Agarwal', 'F-186, New Rajender Nagar, New Delhi-92', 'anjana86@hotmail.com'),
51 | (7, 'Janakpuri', 'Jyoti Rajpal', 'D-186, Janakpuri East, New Delhi-92', 'jyoti.rajpal@gmail.com'),
52 | (8, 'Sagar Pur', 'Avinash Tiwari', 'A-86/2, Sagar Pur, New Delhi-92', 'avinash.t1991@gmail.com'),
53 | (9, 'Lajpat Nagar', 'Manoj Gupta', 'C-12, Lajpat Nagar -II, New Delhi', 'manojgupta@gmail.com'),
54 | (10, 'Munirka', 'Sushant Kumar', 'R-332, Munirka Village, New Delhi-67', 'sshnt26@gmail.com'),
55 | (11, 'Rajnagar Ext', 'Priya Gupta', 'D-23, Rajnagar Extension, New Delhi', 'priya.gupta91@gmail.com'),
56 | (12, 'Rajnagar Ext', 'Priya Gupta', 'D-23, Rajnagar Extension, New Delhi', 'priya.gupta91@gmail.com'),
57 | (13, 'Pandav Nagar', 'Deepak Jha', 'D-155, Pandav Nagar, New Delhi-92', 'deepak.jha91@gmail.com');
58 |
59 | -- --------------------------------------------------------
60 |
61 | --
62 | -- Table structure for table `branchissues`
63 | --
64 |
65 | CREATE TABLE IF NOT EXISTS `branchissues` (
66 | `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
67 | `branchdetail_id` int(11) unsigned NOT NULL,
68 | `issue_ticket` varchar(20) NOT NULL,
69 | `issue_ticket_created_at` datetime NOT NULL,
70 | `issue` text NOT NULL,
71 | `status` tinyint(1) NOT NULL DEFAULT '0',
72 | `result` varchar(255) NOT NULL DEFAULT 'unresolved',
73 | `issue_updated_at` datetime DEFAULT NULL,
74 | PRIMARY KEY (`id`),
75 | KEY `branch_id` (`branchdetail_id`)
76 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
77 |
78 | --
79 | -- Dumping data for table `branchissues`
80 | --
81 |
82 | INSERT INTO `branchissues` (`id`, `branchdetail_id`, `issue_ticket`, `issue_ticket_created_at`, `issue`, `status`, `result`, `issue_updated_at`) VALUES
83 | (1, 1, 'TK-ICICI-001', '2014-02-01 07:23:12', 'AC Not Working.', 0, 'unresolved', NULL),
84 | (2, 1, 'TK-ICICI-201', '2014-01-29 12:18:42', 'Manager''s Chair is not adjustable.', 0, 'unresolved', NULL),
85 | (3, 2, 'TK-ICICI-373', '2014-02-01 12:08:43', 'Broken Chair.', 1, 'j jhj hjkh gjhjg ', '2014-02-10 03:05:34'),
86 | (4, 1, 'TK-ICICI-045', '2014-01-28 09:41:35', 'Fan Not Working Properly.', 0, 'Sent asda', '2014-02-10 02:41:44'),
87 | (5, 1, 'TK-ICICI-820', '2014-02-27 17:22:37', 'Water Leakage in Bathroom', 1, 'Plumber Sent For Repair.', '2014-02-01 13:30:04');
88 |
89 | -- --------------------------------------------------------
90 |
91 | --
92 | -- Table structure for table `users`
93 | --
94 |
95 | CREATE TABLE IF NOT EXISTS `users` (
96 | `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
97 | `username` varchar(80) NOT NULL,
98 | `password` varchar(255) NOT NULL,
99 | `email` varchar(120) NOT NULL,
100 | `role` enum('general','admin') NOT NULL DEFAULT 'general',
101 | `created_at` datetime DEFAULT NULL,
102 | `updated_at` datetime DEFAULT NULL,
103 | PRIMARY KEY (`id`),
104 | UNIQUE KEY `username` (`username`),
105 | UNIQUE KEY `email` (`email`)
106 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
107 |
108 | --
109 | -- Dumping data for table `users`
110 | --
111 |
112 | INSERT INTO `users` (`id`, `username`, `password`, `email`, `role`, `created_at`, `updated_at`) VALUES
113 | (1, 'abhishekkhaware', 'c9b180442e314ee20adc4a262b96f46b', 'abhishekkhaware@gmail.com', 'admin', '2013-07-13 09:15:11', '2013-07-15 18:23:20'),
114 | (2, 'sujitlca', 'aa79f6482a1b873ad79ec04921386813', 'sujitlca@gmail.com', 'general', '2013-07-13 09:54:59', '2013-07-15 19:20:03'),
115 | (3, 'sushant26', 'aa79f6482a1b873ad79ec04921386813', 'sushant26@gmail.com', 'general', '2013-07-16 01:29:41', '2013-07-17 20:27:30'),
116 | (4, 'shaileshkhaware', 'c9b180442e314ee20adc4a262b96f46b', 'shailesh.khaware@gmail.com', 'general', '2013-07-16 01:30:34', '2013-07-17 20:30:54'),
117 | (5, 'saifazad', 'aa79f6482a1b873ad79ec04921386813', 'saif.azad90@gmail.com', 'general', '2013-07-16 01:31:22', '2013-07-16 01:32:47'),
118 | (6, 'avinashtiwari', 'aa79f6482a1b873ad79ec04921386813', 'avinash.t1992@gmail.com', 'general', '2013-07-16 01:38:09', '2013-07-16 01:38:56'),
119 | (7, '8882157881', 'c9b180442e314ee20adc4a262b96f46b', 'abhishekkhaware@hotmail.com', 'general', '2013-07-16 01:48:24', '2013-07-16 01:48:24'),
120 | (8, 'abhishek', 'c9b180442e314ee20adc4a262b96f46b', 'abhishek.khaware@yahoo.co.in', 'general', '2013-07-16 01:49:43', '2013-07-16 01:49:43');
121 |
122 | --
123 | -- Constraints for dumped tables
124 | --
125 |
126 | --
127 | -- Constraints for table `branchissues`
128 | --
129 | ALTER TABLE `branchissues`
130 | ADD CONSTRAINT `branchissues_ibfk_1` FOREIGN KEY (`branchdetail_id`) REFERENCES `branchdetails` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
131 |
132 | /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
133 | /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
134 | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
135 |
--------------------------------------------------------------------------------
/bootstrap/autoload.php:
--------------------------------------------------------------------------------
1 | files()->in(__DIR__."/../config")->name('*.php');
12 |
13 | foreach ($finder as $file) {
14 | // Dump the relative path to the file
15 | require_once __DIR__."/../config/".$file->getRelativePathname();
16 | }
17 |
18 | /*
19 | * whoops Config
20 | */
21 | $whoops = new \Whoops\Run;
22 | $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
23 | $whoops->register();
24 |
25 | // $whoops = new \Whoops\Run();
26 | //// $whoops->pushHandler(new Whoops\Handler\PrettyPageHandler())->setPageTitle("Abhishek Khaware- Its\'s Broken!");
27 | // $errorPage = new Whoops\Handler\PrettyPageHandler();
28 | // $errorPage->setPageTitle("OOps! It's broken!"); // Set the page's title
29 | //// $errorPage->setEditor("sublime"); // Set the editor used for the "Open" link
30 | //// $errorPage->addDataTable("Extra Info", array(
31 | //// "stuff" => 123,
32 | //// "foo" => "bar",
33 | //// "useful-id" => "abhishek"
34 | //// ));
35 | //
36 | // $whoops->pushHandler($errorPage);
37 | //
38 | // // Set Whoops as the default error and exception handler used by PHP:
39 | // $whoops->register();
40 |
41 |
42 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "abhishekkhaware/mvc",
3 | "description": "This is micro MVC framework.",
4 | "keywords": ["framework", "MVC"],
5 | "type": "project",
6 | "license": "MIT",
7 | "authors": [
8 | {
9 | "name": "Abhishek Khaware",
10 | "email": "abhishekkhaware@gmail.com"
11 | }
12 | ],
13 | "autoload": {
14 | "classmap": [
15 | "libs","include"
16 | ],
17 | "psr-4": {
18 | "App\\": "app/"
19 | },
20 | "files": ["app/helpers.php"]
21 | },
22 | "require": {
23 | "php": ">=5.5.9",
24 | "guzzlehttp/guzzle": "^6.2",
25 | "symfony/var-dumper": "^3.1",
26 | "illuminate/database": "^5.2",
27 | "illuminate/pagination": "^5.2",
28 | "illuminate/mail": "^5.2",
29 | "mailgun/mailgun-php": "^2.0",
30 | "filp/whoops": "^2.1",
31 | "symfony/finder": "^3.1"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/composer.lock:
--------------------------------------------------------------------------------
1 | {
2 | "_readme": [
3 | "This file locks the dependencies of your project to a known state",
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 | "This file is @generated automatically"
6 | ],
7 | "hash": "94d362b0bcb47828f5211f1112e02863",
8 | "content-hash": "062f2887a3154efedd32dad938d8509e",
9 | "packages": [
10 | {
11 | "name": "doctrine/inflector",
12 | "version": "v1.1.0",
13 | "source": {
14 | "type": "git",
15 | "url": "https://github.com/doctrine/inflector.git",
16 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae"
17 | },
18 | "dist": {
19 | "type": "zip",
20 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae",
21 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae",
22 | "shasum": ""
23 | },
24 | "require": {
25 | "php": ">=5.3.2"
26 | },
27 | "require-dev": {
28 | "phpunit/phpunit": "4.*"
29 | },
30 | "type": "library",
31 | "extra": {
32 | "branch-alias": {
33 | "dev-master": "1.1.x-dev"
34 | }
35 | },
36 | "autoload": {
37 | "psr-0": {
38 | "Doctrine\\Common\\Inflector\\": "lib/"
39 | }
40 | },
41 | "notification-url": "https://packagist.org/downloads/",
42 | "license": [
43 | "MIT"
44 | ],
45 | "authors": [
46 | {
47 | "name": "Roman Borschel",
48 | "email": "roman@code-factory.org"
49 | },
50 | {
51 | "name": "Benjamin Eberlei",
52 | "email": "kontakt@beberlei.de"
53 | },
54 | {
55 | "name": "Guilherme Blanco",
56 | "email": "guilhermeblanco@gmail.com"
57 | },
58 | {
59 | "name": "Jonathan Wage",
60 | "email": "jonwage@gmail.com"
61 | },
62 | {
63 | "name": "Johannes Schmitt",
64 | "email": "schmittjoh@gmail.com"
65 | }
66 | ],
67 | "description": "Common String Manipulations with regard to casing and singular/plural rules.",
68 | "homepage": "http://www.doctrine-project.org",
69 | "keywords": [
70 | "inflection",
71 | "pluralize",
72 | "singularize",
73 | "string"
74 | ],
75 | "time": "2015-11-06 14:35:42"
76 | },
77 | {
78 | "name": "filp/whoops",
79 | "version": "2.1.2",
80 | "source": {
81 | "type": "git",
82 | "url": "https://github.com/filp/whoops.git",
83 | "reference": "d13505b240a6f580bc75ba591da30299d6cb0eec"
84 | },
85 | "dist": {
86 | "type": "zip",
87 | "url": "https://api.github.com/repos/filp/whoops/zipball/d13505b240a6f580bc75ba591da30299d6cb0eec",
88 | "reference": "d13505b240a6f580bc75ba591da30299d6cb0eec",
89 | "shasum": ""
90 | },
91 | "require": {
92 | "php": ">=5.5.9"
93 | },
94 | "require-dev": {
95 | "mockery/mockery": "0.9.*",
96 | "phpunit/phpunit": "^4.8 || ^5.0",
97 | "symfony/var-dumper": "~3.0"
98 | },
99 | "suggest": {
100 | "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
101 | "whoops/soap": "Formats errors as SOAP responses"
102 | },
103 | "type": "library",
104 | "extra": {
105 | "branch-alias": {
106 | "dev-master": "2.0-dev"
107 | }
108 | },
109 | "autoload": {
110 | "psr-4": {
111 | "Whoops\\": "src/Whoops/"
112 | }
113 | },
114 | "notification-url": "https://packagist.org/downloads/",
115 | "license": [
116 | "MIT"
117 | ],
118 | "authors": [
119 | {
120 | "name": "Filipe Dobreira",
121 | "homepage": "https://github.com/filp",
122 | "role": "Developer"
123 | }
124 | ],
125 | "description": "php error handling for cool kids",
126 | "homepage": "https://github.com/filp/whoops",
127 | "keywords": [
128 | "error",
129 | "exception",
130 | "handling",
131 | "library",
132 | "whoops",
133 | "zf2"
134 | ],
135 | "time": "2016-04-07 06:16:25"
136 | },
137 | {
138 | "name": "guzzlehttp/guzzle",
139 | "version": "6.2.0",
140 | "source": {
141 | "type": "git",
142 | "url": "https://github.com/guzzle/guzzle.git",
143 | "reference": "d094e337976dff9d8e2424e8485872194e768662"
144 | },
145 | "dist": {
146 | "type": "zip",
147 | "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d094e337976dff9d8e2424e8485872194e768662",
148 | "reference": "d094e337976dff9d8e2424e8485872194e768662",
149 | "shasum": ""
150 | },
151 | "require": {
152 | "guzzlehttp/promises": "~1.0",
153 | "guzzlehttp/psr7": "~1.1",
154 | "php": ">=5.5.0"
155 | },
156 | "require-dev": {
157 | "ext-curl": "*",
158 | "phpunit/phpunit": "~4.0",
159 | "psr/log": "~1.0"
160 | },
161 | "type": "library",
162 | "extra": {
163 | "branch-alias": {
164 | "dev-master": "6.2-dev"
165 | }
166 | },
167 | "autoload": {
168 | "files": [
169 | "src/functions_include.php"
170 | ],
171 | "psr-4": {
172 | "GuzzleHttp\\": "src/"
173 | }
174 | },
175 | "notification-url": "https://packagist.org/downloads/",
176 | "license": [
177 | "MIT"
178 | ],
179 | "authors": [
180 | {
181 | "name": "Michael Dowling",
182 | "email": "mtdowling@gmail.com",
183 | "homepage": "https://github.com/mtdowling"
184 | }
185 | ],
186 | "description": "Guzzle is a PHP HTTP client library",
187 | "homepage": "http://guzzlephp.org/",
188 | "keywords": [
189 | "client",
190 | "curl",
191 | "framework",
192 | "http",
193 | "http client",
194 | "rest",
195 | "web service"
196 | ],
197 | "time": "2016-03-21 20:02:09"
198 | },
199 | {
200 | "name": "guzzlehttp/promises",
201 | "version": "1.2.0",
202 | "source": {
203 | "type": "git",
204 | "url": "https://github.com/guzzle/promises.git",
205 | "reference": "c10d860e2a9595f8883527fa0021c7da9e65f579"
206 | },
207 | "dist": {
208 | "type": "zip",
209 | "url": "https://api.github.com/repos/guzzle/promises/zipball/c10d860e2a9595f8883527fa0021c7da9e65f579",
210 | "reference": "c10d860e2a9595f8883527fa0021c7da9e65f579",
211 | "shasum": ""
212 | },
213 | "require": {
214 | "php": ">=5.5.0"
215 | },
216 | "require-dev": {
217 | "phpunit/phpunit": "~4.0"
218 | },
219 | "type": "library",
220 | "extra": {
221 | "branch-alias": {
222 | "dev-master": "1.0-dev"
223 | }
224 | },
225 | "autoload": {
226 | "psr-4": {
227 | "GuzzleHttp\\Promise\\": "src/"
228 | },
229 | "files": [
230 | "src/functions_include.php"
231 | ]
232 | },
233 | "notification-url": "https://packagist.org/downloads/",
234 | "license": [
235 | "MIT"
236 | ],
237 | "authors": [
238 | {
239 | "name": "Michael Dowling",
240 | "email": "mtdowling@gmail.com",
241 | "homepage": "https://github.com/mtdowling"
242 | }
243 | ],
244 | "description": "Guzzle promises library",
245 | "keywords": [
246 | "promise"
247 | ],
248 | "time": "2016-05-18 16:56:05"
249 | },
250 | {
251 | "name": "guzzlehttp/psr7",
252 | "version": "1.3.1",
253 | "source": {
254 | "type": "git",
255 | "url": "https://github.com/guzzle/psr7.git",
256 | "reference": "5c6447c9df362e8f8093bda8f5d8873fe5c7f65b"
257 | },
258 | "dist": {
259 | "type": "zip",
260 | "url": "https://api.github.com/repos/guzzle/psr7/zipball/5c6447c9df362e8f8093bda8f5d8873fe5c7f65b",
261 | "reference": "5c6447c9df362e8f8093bda8f5d8873fe5c7f65b",
262 | "shasum": ""
263 | },
264 | "require": {
265 | "php": ">=5.4.0",
266 | "psr/http-message": "~1.0"
267 | },
268 | "provide": {
269 | "psr/http-message-implementation": "1.0"
270 | },
271 | "require-dev": {
272 | "phpunit/phpunit": "~4.0"
273 | },
274 | "type": "library",
275 | "extra": {
276 | "branch-alias": {
277 | "dev-master": "1.4-dev"
278 | }
279 | },
280 | "autoload": {
281 | "psr-4": {
282 | "GuzzleHttp\\Psr7\\": "src/"
283 | },
284 | "files": [
285 | "src/functions_include.php"
286 | ]
287 | },
288 | "notification-url": "https://packagist.org/downloads/",
289 | "license": [
290 | "MIT"
291 | ],
292 | "authors": [
293 | {
294 | "name": "Michael Dowling",
295 | "email": "mtdowling@gmail.com",
296 | "homepage": "https://github.com/mtdowling"
297 | }
298 | ],
299 | "description": "PSR-7 message implementation",
300 | "keywords": [
301 | "http",
302 | "message",
303 | "stream",
304 | "uri"
305 | ],
306 | "time": "2016-06-24 23:00:38"
307 | },
308 | {
309 | "name": "illuminate/container",
310 | "version": "v5.2.37",
311 | "source": {
312 | "type": "git",
313 | "url": "https://github.com/illuminate/container.git",
314 | "reference": "7ec395833738b9059f829348ddc9a59d0118ac88"
315 | },
316 | "dist": {
317 | "type": "zip",
318 | "url": "https://api.github.com/repos/illuminate/container/zipball/7ec395833738b9059f829348ddc9a59d0118ac88",
319 | "reference": "7ec395833738b9059f829348ddc9a59d0118ac88",
320 | "shasum": ""
321 | },
322 | "require": {
323 | "illuminate/contracts": "5.2.*",
324 | "php": ">=5.5.9"
325 | },
326 | "type": "library",
327 | "extra": {
328 | "branch-alias": {
329 | "dev-master": "5.2-dev"
330 | }
331 | },
332 | "autoload": {
333 | "psr-4": {
334 | "Illuminate\\Container\\": ""
335 | }
336 | },
337 | "notification-url": "https://packagist.org/downloads/",
338 | "license": [
339 | "MIT"
340 | ],
341 | "authors": [
342 | {
343 | "name": "Taylor Otwell",
344 | "email": "taylorotwell@gmail.com"
345 | }
346 | ],
347 | "description": "The Illuminate Container package.",
348 | "homepage": "http://laravel.com",
349 | "time": "2016-05-29 02:18:23"
350 | },
351 | {
352 | "name": "illuminate/contracts",
353 | "version": "v5.2.37",
354 | "source": {
355 | "type": "git",
356 | "url": "https://github.com/illuminate/contracts.git",
357 | "reference": "f4f44d7c6d20404da8dfc655bd3d6dd788dfdce5"
358 | },
359 | "dist": {
360 | "type": "zip",
361 | "url": "https://api.github.com/repos/illuminate/contracts/zipball/f4f44d7c6d20404da8dfc655bd3d6dd788dfdce5",
362 | "reference": "f4f44d7c6d20404da8dfc655bd3d6dd788dfdce5",
363 | "shasum": ""
364 | },
365 | "require": {
366 | "php": ">=5.5.9"
367 | },
368 | "type": "library",
369 | "extra": {
370 | "branch-alias": {
371 | "dev-master": "5.2-dev"
372 | }
373 | },
374 | "autoload": {
375 | "psr-4": {
376 | "Illuminate\\Contracts\\": ""
377 | }
378 | },
379 | "notification-url": "https://packagist.org/downloads/",
380 | "license": [
381 | "MIT"
382 | ],
383 | "authors": [
384 | {
385 | "name": "Taylor Otwell",
386 | "email": "taylorotwell@gmail.com"
387 | }
388 | ],
389 | "description": "The Illuminate Contracts package.",
390 | "homepage": "http://laravel.com",
391 | "time": "2016-05-31 21:36:13"
392 | },
393 | {
394 | "name": "illuminate/database",
395 | "version": "v5.2.37",
396 | "source": {
397 | "type": "git",
398 | "url": "https://github.com/illuminate/database.git",
399 | "reference": "c0746930dc6a6ff9b72945152609d61a3b3829c6"
400 | },
401 | "dist": {
402 | "type": "zip",
403 | "url": "https://api.github.com/repos/illuminate/database/zipball/c0746930dc6a6ff9b72945152609d61a3b3829c6",
404 | "reference": "c0746930dc6a6ff9b72945152609d61a3b3829c6",
405 | "shasum": ""
406 | },
407 | "require": {
408 | "illuminate/container": "5.2.*",
409 | "illuminate/contracts": "5.2.*",
410 | "illuminate/support": "5.2.*",
411 | "nesbot/carbon": "~1.20",
412 | "php": ">=5.5.9"
413 | },
414 | "suggest": {
415 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).",
416 | "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).",
417 | "illuminate/console": "Required to use the database commands (5.2.*).",
418 | "illuminate/events": "Required to use the observers with Eloquent (5.2.*).",
419 | "illuminate/filesystem": "Required to use the migrations (5.2.*).",
420 | "illuminate/pagination": "Required to paginate the result set (5.2.*)."
421 | },
422 | "type": "library",
423 | "extra": {
424 | "branch-alias": {
425 | "dev-master": "5.2-dev"
426 | }
427 | },
428 | "autoload": {
429 | "psr-4": {
430 | "Illuminate\\Database\\": ""
431 | }
432 | },
433 | "notification-url": "https://packagist.org/downloads/",
434 | "license": [
435 | "MIT"
436 | ],
437 | "authors": [
438 | {
439 | "name": "Taylor Otwell",
440 | "email": "taylorotwell@gmail.com"
441 | }
442 | ],
443 | "description": "The Illuminate Database package.",
444 | "homepage": "http://laravel.com",
445 | "keywords": [
446 | "database",
447 | "laravel",
448 | "orm",
449 | "sql"
450 | ],
451 | "time": "2016-06-06 13:12:46"
452 | },
453 | {
454 | "name": "illuminate/mail",
455 | "version": "v5.2.37",
456 | "source": {
457 | "type": "git",
458 | "url": "https://github.com/illuminate/mail.git",
459 | "reference": "020ffc2448314b6af4607e967f22e07dd2bbee80"
460 | },
461 | "dist": {
462 | "type": "zip",
463 | "url": "https://api.github.com/repos/illuminate/mail/zipball/020ffc2448314b6af4607e967f22e07dd2bbee80",
464 | "reference": "020ffc2448314b6af4607e967f22e07dd2bbee80",
465 | "shasum": ""
466 | },
467 | "require": {
468 | "illuminate/container": "5.2.*",
469 | "illuminate/contracts": "5.2.*",
470 | "illuminate/support": "5.2.*",
471 | "php": ">=5.5.9",
472 | "psr/log": "~1.0",
473 | "swiftmailer/swiftmailer": "~5.1"
474 | },
475 | "suggest": {
476 | "aws/aws-sdk-php": "Required to use the SES mail driver (~3.0).",
477 | "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers (~5.3|~6.0).",
478 | "jeremeamia/superclosure": "Required to be able to serialize closures (~2.0)."
479 | },
480 | "type": "library",
481 | "extra": {
482 | "branch-alias": {
483 | "dev-master": "5.2-dev"
484 | }
485 | },
486 | "autoload": {
487 | "psr-4": {
488 | "Illuminate\\Mail\\": ""
489 | }
490 | },
491 | "notification-url": "https://packagist.org/downloads/",
492 | "license": [
493 | "MIT"
494 | ],
495 | "authors": [
496 | {
497 | "name": "Taylor Otwell",
498 | "email": "taylorotwell@gmail.com"
499 | }
500 | ],
501 | "description": "The Illuminate Mail package.",
502 | "homepage": "http://laravel.com",
503 | "time": "2016-05-30 19:35:01"
504 | },
505 | {
506 | "name": "illuminate/pagination",
507 | "version": "v5.2.37",
508 | "source": {
509 | "type": "git",
510 | "url": "https://github.com/illuminate/pagination.git",
511 | "reference": "55024b578ed3608ad6184bc4e4d7a79f03fb9a48"
512 | },
513 | "dist": {
514 | "type": "zip",
515 | "url": "https://api.github.com/repos/illuminate/pagination/zipball/55024b578ed3608ad6184bc4e4d7a79f03fb9a48",
516 | "reference": "55024b578ed3608ad6184bc4e4d7a79f03fb9a48",
517 | "shasum": ""
518 | },
519 | "require": {
520 | "illuminate/contracts": "5.2.*",
521 | "illuminate/support": "5.2.*",
522 | "php": ">=5.5.9"
523 | },
524 | "type": "library",
525 | "extra": {
526 | "branch-alias": {
527 | "dev-master": "5.2-dev"
528 | }
529 | },
530 | "autoload": {
531 | "psr-4": {
532 | "Illuminate\\Pagination\\": ""
533 | }
534 | },
535 | "notification-url": "https://packagist.org/downloads/",
536 | "license": [
537 | "MIT"
538 | ],
539 | "authors": [
540 | {
541 | "name": "Taylor Otwell",
542 | "email": "taylorotwell@gmail.com"
543 | }
544 | ],
545 | "description": "The Illuminate Pagination package.",
546 | "homepage": "http://laravel.com",
547 | "time": "2016-05-30 02:43:18"
548 | },
549 | {
550 | "name": "illuminate/support",
551 | "version": "v5.2.37",
552 | "source": {
553 | "type": "git",
554 | "url": "https://github.com/illuminate/support.git",
555 | "reference": "6e86ac2b4e3d0c42c2dc846dbac3e74d378a812b"
556 | },
557 | "dist": {
558 | "type": "zip",
559 | "url": "https://api.github.com/repos/illuminate/support/zipball/6e86ac2b4e3d0c42c2dc846dbac3e74d378a812b",
560 | "reference": "6e86ac2b4e3d0c42c2dc846dbac3e74d378a812b",
561 | "shasum": ""
562 | },
563 | "require": {
564 | "doctrine/inflector": "~1.0",
565 | "ext-mbstring": "*",
566 | "illuminate/contracts": "5.2.*",
567 | "paragonie/random_compat": "~1.4",
568 | "php": ">=5.5.9"
569 | },
570 | "suggest": {
571 | "illuminate/filesystem": "Required to use the composer class (5.2.*).",
572 | "jeremeamia/superclosure": "Required to be able to serialize closures (~2.2).",
573 | "symfony/polyfill-php56": "Required to use the hash_equals function on PHP 5.5 (~1.0).",
574 | "symfony/process": "Required to use the composer class (2.8.*|3.0.*).",
575 | "symfony/var-dumper": "Improves the dd function (2.8.*|3.0.*)."
576 | },
577 | "type": "library",
578 | "extra": {
579 | "branch-alias": {
580 | "dev-master": "5.2-dev"
581 | }
582 | },
583 | "autoload": {
584 | "psr-4": {
585 | "Illuminate\\Support\\": ""
586 | },
587 | "files": [
588 | "helpers.php"
589 | ]
590 | },
591 | "notification-url": "https://packagist.org/downloads/",
592 | "license": [
593 | "MIT"
594 | ],
595 | "authors": [
596 | {
597 | "name": "Taylor Otwell",
598 | "email": "taylorotwell@gmail.com"
599 | }
600 | ],
601 | "description": "The Illuminate Support package.",
602 | "homepage": "http://laravel.com",
603 | "time": "2016-05-30 02:40:53"
604 | },
605 | {
606 | "name": "mailgun/mailgun-php",
607 | "version": "v2.0",
608 | "source": {
609 | "type": "git",
610 | "url": "https://github.com/mailgun/mailgun-php.git",
611 | "reference": "976a76a3b5b46eb8d0dedbd48a5c98d054b6054f"
612 | },
613 | "dist": {
614 | "type": "zip",
615 | "url": "https://api.github.com/repos/mailgun/mailgun-php/zipball/976a76a3b5b46eb8d0dedbd48a5c98d054b6054f",
616 | "reference": "976a76a3b5b46eb8d0dedbd48a5c98d054b6054f",
617 | "shasum": ""
618 | },
619 | "require": {
620 | "guzzlehttp/psr7": "~1.2",
621 | "php": "^5.5|^7.0",
622 | "php-http/discovery": "^0.8",
623 | "php-http/httplug": "^1.0"
624 | },
625 | "require-dev": {
626 | "php-http/guzzle6-adapter": "^1.0",
627 | "phpunit/phpunit": "~4.6"
628 | },
629 | "type": "library",
630 | "autoload": {
631 | "psr-0": {
632 | "Mailgun\\Tests": "tests/",
633 | "Mailgun": "src/"
634 | }
635 | },
636 | "notification-url": "https://packagist.org/downloads/",
637 | "license": [
638 | "MIT"
639 | ],
640 | "authors": [
641 | {
642 | "name": "Travis Swientek",
643 | "email": "travis@mailgunhq.com"
644 | }
645 | ],
646 | "description": "The Mailgun SDK provides methods for all API functions.",
647 | "time": "2016-04-02 00:58:54"
648 | },
649 | {
650 | "name": "nesbot/carbon",
651 | "version": "1.21.0",
652 | "source": {
653 | "type": "git",
654 | "url": "https://github.com/briannesbitt/Carbon.git",
655 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7"
656 | },
657 | "dist": {
658 | "type": "zip",
659 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7b08ec6f75791e130012f206e3f7b0e76e18e3d7",
660 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7",
661 | "shasum": ""
662 | },
663 | "require": {
664 | "php": ">=5.3.0",
665 | "symfony/translation": "~2.6|~3.0"
666 | },
667 | "require-dev": {
668 | "phpunit/phpunit": "~4.0|~5.0"
669 | },
670 | "type": "library",
671 | "autoload": {
672 | "psr-4": {
673 | "Carbon\\": "src/Carbon/"
674 | }
675 | },
676 | "notification-url": "https://packagist.org/downloads/",
677 | "license": [
678 | "MIT"
679 | ],
680 | "authors": [
681 | {
682 | "name": "Brian Nesbitt",
683 | "email": "brian@nesbot.com",
684 | "homepage": "http://nesbot.com"
685 | }
686 | ],
687 | "description": "A simple API extension for DateTime.",
688 | "homepage": "http://carbon.nesbot.com",
689 | "keywords": [
690 | "date",
691 | "datetime",
692 | "time"
693 | ],
694 | "time": "2015-11-04 20:07:17"
695 | },
696 | {
697 | "name": "paragonie/random_compat",
698 | "version": "v1.4.1",
699 | "source": {
700 | "type": "git",
701 | "url": "https://github.com/paragonie/random_compat.git",
702 | "reference": "c7e26a21ba357863de030f0b9e701c7d04593774"
703 | },
704 | "dist": {
705 | "type": "zip",
706 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/c7e26a21ba357863de030f0b9e701c7d04593774",
707 | "reference": "c7e26a21ba357863de030f0b9e701c7d04593774",
708 | "shasum": ""
709 | },
710 | "require": {
711 | "php": ">=5.2.0"
712 | },
713 | "require-dev": {
714 | "phpunit/phpunit": "4.*|5.*"
715 | },
716 | "suggest": {
717 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
718 | },
719 | "type": "library",
720 | "autoload": {
721 | "files": [
722 | "lib/random.php"
723 | ]
724 | },
725 | "notification-url": "https://packagist.org/downloads/",
726 | "license": [
727 | "MIT"
728 | ],
729 | "authors": [
730 | {
731 | "name": "Paragon Initiative Enterprises",
732 | "email": "security@paragonie.com",
733 | "homepage": "https://paragonie.com"
734 | }
735 | ],
736 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
737 | "keywords": [
738 | "csprng",
739 | "pseudorandom",
740 | "random"
741 | ],
742 | "time": "2016-03-18 20:34:03"
743 | },
744 | {
745 | "name": "php-http/discovery",
746 | "version": "v0.8.0",
747 | "source": {
748 | "type": "git",
749 | "url": "https://github.com/php-http/discovery.git",
750 | "reference": "fac1240e8a070b3e2f0e38606941de80c849fa53"
751 | },
752 | "dist": {
753 | "type": "zip",
754 | "url": "https://api.github.com/repos/php-http/discovery/zipball/fac1240e8a070b3e2f0e38606941de80c849fa53",
755 | "reference": "fac1240e8a070b3e2f0e38606941de80c849fa53",
756 | "shasum": ""
757 | },
758 | "require": {
759 | "php": "^5.4|7.*"
760 | },
761 | "require-dev": {
762 | "henrikbjorn/phpspec-code-coverage": "^1.0",
763 | "php-http/httplug": "^1.0",
764 | "php-http/message-factory": "^1.0",
765 | "phpspec/phpspec": "^2.4",
766 | "puli/composer-plugin": "1.0.0-beta9"
767 | },
768 | "suggest": {
769 | "php-http/message": "Allow to use Guzzle or Diactoros factories",
770 | "puli/composer-plugin": "Sets up Puli which is required for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details."
771 | },
772 | "bin": [
773 | "bin/puli.phar"
774 | ],
775 | "type": "library",
776 | "extra": {
777 | "branch-alias": {
778 | "dev-master": "0.9-dev"
779 | }
780 | },
781 | "autoload": {
782 | "psr-4": {
783 | "Http\\Discovery\\": "src/"
784 | }
785 | },
786 | "notification-url": "https://packagist.org/downloads/",
787 | "license": [
788 | "MIT"
789 | ],
790 | "authors": [
791 | {
792 | "name": "Márk Sági-Kazár",
793 | "email": "mark.sagikazar@gmail.com"
794 | }
795 | ],
796 | "description": "Finds installed HTTPlug implementations and PSR-7 message factories",
797 | "homepage": "http://httplug.io",
798 | "keywords": [
799 | "adapter",
800 | "client",
801 | "discovery",
802 | "factory",
803 | "http",
804 | "message"
805 | ],
806 | "time": "2016-02-11 09:53:37"
807 | },
808 | {
809 | "name": "php-http/httplug",
810 | "version": "v1.0.0",
811 | "source": {
812 | "type": "git",
813 | "url": "https://github.com/php-http/httplug.git",
814 | "reference": "2061047ca53a08a6b8f52e997b2a76f386b397dd"
815 | },
816 | "dist": {
817 | "type": "zip",
818 | "url": "https://api.github.com/repos/php-http/httplug/zipball/2061047ca53a08a6b8f52e997b2a76f386b397dd",
819 | "reference": "2061047ca53a08a6b8f52e997b2a76f386b397dd",
820 | "shasum": ""
821 | },
822 | "require": {
823 | "php": ">=5.4",
824 | "php-http/promise": "^1.0",
825 | "psr/http-message": "^1.0"
826 | },
827 | "require-dev": {
828 | "henrikbjorn/phpspec-code-coverage": "^1.0",
829 | "phpspec/phpspec": "^2.4"
830 | },
831 | "type": "library",
832 | "extra": {
833 | "branch-alias": {
834 | "dev-master": "1.1-dev"
835 | }
836 | },
837 | "autoload": {
838 | "psr-4": {
839 | "Http\\Client\\": "src/"
840 | }
841 | },
842 | "notification-url": "https://packagist.org/downloads/",
843 | "license": [
844 | "MIT"
845 | ],
846 | "authors": [
847 | {
848 | "name": "Eric GELOEN",
849 | "email": "geloen.eric@gmail.com"
850 | },
851 | {
852 | "name": "Márk Sági-Kazár",
853 | "email": "mark.sagikazar@gmail.com"
854 | }
855 | ],
856 | "description": "HTTPlug, the HTTP client abstraction for PHP",
857 | "homepage": "http://httplug.io",
858 | "keywords": [
859 | "client",
860 | "http"
861 | ],
862 | "time": "2016-01-26 14:34:50"
863 | },
864 | {
865 | "name": "php-http/promise",
866 | "version": "v1.0.0",
867 | "source": {
868 | "type": "git",
869 | "url": "https://github.com/php-http/promise.git",
870 | "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980"
871 | },
872 | "dist": {
873 | "type": "zip",
874 | "url": "https://api.github.com/repos/php-http/promise/zipball/dc494cdc9d7160b9a09bd5573272195242ce7980",
875 | "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980",
876 | "shasum": ""
877 | },
878 | "require-dev": {
879 | "henrikbjorn/phpspec-code-coverage": "^1.0",
880 | "phpspec/phpspec": "^2.4"
881 | },
882 | "type": "library",
883 | "extra": {
884 | "branch-alias": {
885 | "dev-master": "1.1-dev"
886 | }
887 | },
888 | "autoload": {
889 | "psr-4": {
890 | "Http\\Promise\\": "src/"
891 | }
892 | },
893 | "notification-url": "https://packagist.org/downloads/",
894 | "license": [
895 | "MIT"
896 | ],
897 | "authors": [
898 | {
899 | "name": "Márk Sági-Kazár",
900 | "email": "mark.sagikazar@gmail.com"
901 | },
902 | {
903 | "name": "Joel Wurtz",
904 | "email": "joel.wurtz@gmail.com"
905 | }
906 | ],
907 | "description": "Promise used for asynchronous HTTP requests",
908 | "homepage": "http://httplug.io",
909 | "keywords": [
910 | "promise"
911 | ],
912 | "time": "2016-01-26 13:27:02"
913 | },
914 | {
915 | "name": "psr/http-message",
916 | "version": "1.0",
917 | "source": {
918 | "type": "git",
919 | "url": "https://github.com/php-fig/http-message.git",
920 | "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298"
921 | },
922 | "dist": {
923 | "type": "zip",
924 | "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
925 | "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
926 | "shasum": ""
927 | },
928 | "require": {
929 | "php": ">=5.3.0"
930 | },
931 | "type": "library",
932 | "extra": {
933 | "branch-alias": {
934 | "dev-master": "1.0.x-dev"
935 | }
936 | },
937 | "autoload": {
938 | "psr-4": {
939 | "Psr\\Http\\Message\\": "src/"
940 | }
941 | },
942 | "notification-url": "https://packagist.org/downloads/",
943 | "license": [
944 | "MIT"
945 | ],
946 | "authors": [
947 | {
948 | "name": "PHP-FIG",
949 | "homepage": "http://www.php-fig.org/"
950 | }
951 | ],
952 | "description": "Common interface for HTTP messages",
953 | "keywords": [
954 | "http",
955 | "http-message",
956 | "psr",
957 | "psr-7",
958 | "request",
959 | "response"
960 | ],
961 | "time": "2015-05-04 20:22:00"
962 | },
963 | {
964 | "name": "psr/log",
965 | "version": "1.0.0",
966 | "source": {
967 | "type": "git",
968 | "url": "https://github.com/php-fig/log.git",
969 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
970 | },
971 | "dist": {
972 | "type": "zip",
973 | "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
974 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
975 | "shasum": ""
976 | },
977 | "type": "library",
978 | "autoload": {
979 | "psr-0": {
980 | "Psr\\Log\\": ""
981 | }
982 | },
983 | "notification-url": "https://packagist.org/downloads/",
984 | "license": [
985 | "MIT"
986 | ],
987 | "authors": [
988 | {
989 | "name": "PHP-FIG",
990 | "homepage": "http://www.php-fig.org/"
991 | }
992 | ],
993 | "description": "Common interface for logging libraries",
994 | "keywords": [
995 | "log",
996 | "psr",
997 | "psr-3"
998 | ],
999 | "time": "2012-12-21 11:40:51"
1000 | },
1001 | {
1002 | "name": "swiftmailer/swiftmailer",
1003 | "version": "v5.4.2",
1004 | "source": {
1005 | "type": "git",
1006 | "url": "https://github.com/swiftmailer/swiftmailer.git",
1007 | "reference": "d8db871a54619458a805229a057ea2af33c753e8"
1008 | },
1009 | "dist": {
1010 | "type": "zip",
1011 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/d8db871a54619458a805229a057ea2af33c753e8",
1012 | "reference": "d8db871a54619458a805229a057ea2af33c753e8",
1013 | "shasum": ""
1014 | },
1015 | "require": {
1016 | "php": ">=5.3.3"
1017 | },
1018 | "require-dev": {
1019 | "mockery/mockery": "~0.9.1,<0.9.4"
1020 | },
1021 | "type": "library",
1022 | "extra": {
1023 | "branch-alias": {
1024 | "dev-master": "5.4-dev"
1025 | }
1026 | },
1027 | "autoload": {
1028 | "files": [
1029 | "lib/swift_required.php"
1030 | ]
1031 | },
1032 | "notification-url": "https://packagist.org/downloads/",
1033 | "license": [
1034 | "MIT"
1035 | ],
1036 | "authors": [
1037 | {
1038 | "name": "Chris Corbyn"
1039 | },
1040 | {
1041 | "name": "Fabien Potencier",
1042 | "email": "fabien@symfony.com"
1043 | }
1044 | ],
1045 | "description": "Swiftmailer, free feature-rich PHP mailer",
1046 | "homepage": "http://swiftmailer.org",
1047 | "keywords": [
1048 | "email",
1049 | "mail",
1050 | "mailer"
1051 | ],
1052 | "time": "2016-05-01 08:45:47"
1053 | },
1054 | {
1055 | "name": "symfony/finder",
1056 | "version": "v3.1.2",
1057 | "source": {
1058 | "type": "git",
1059 | "url": "https://github.com/symfony/finder.git",
1060 | "reference": "8201978de88a9fa0923e18601bb17f1df9c721e7"
1061 | },
1062 | "dist": {
1063 | "type": "zip",
1064 | "url": "https://api.github.com/repos/symfony/finder/zipball/8201978de88a9fa0923e18601bb17f1df9c721e7",
1065 | "reference": "8201978de88a9fa0923e18601bb17f1df9c721e7",
1066 | "shasum": ""
1067 | },
1068 | "require": {
1069 | "php": ">=5.5.9"
1070 | },
1071 | "type": "library",
1072 | "extra": {
1073 | "branch-alias": {
1074 | "dev-master": "3.1-dev"
1075 | }
1076 | },
1077 | "autoload": {
1078 | "psr-4": {
1079 | "Symfony\\Component\\Finder\\": ""
1080 | },
1081 | "exclude-from-classmap": [
1082 | "/Tests/"
1083 | ]
1084 | },
1085 | "notification-url": "https://packagist.org/downloads/",
1086 | "license": [
1087 | "MIT"
1088 | ],
1089 | "authors": [
1090 | {
1091 | "name": "Fabien Potencier",
1092 | "email": "fabien@symfony.com"
1093 | },
1094 | {
1095 | "name": "Symfony Community",
1096 | "homepage": "https://symfony.com/contributors"
1097 | }
1098 | ],
1099 | "description": "Symfony Finder Component",
1100 | "homepage": "https://symfony.com",
1101 | "time": "2016-06-29 05:41:56"
1102 | },
1103 | {
1104 | "name": "symfony/polyfill-mbstring",
1105 | "version": "v1.2.0",
1106 | "source": {
1107 | "type": "git",
1108 | "url": "https://github.com/symfony/polyfill-mbstring.git",
1109 | "reference": "dff51f72b0706335131b00a7f49606168c582594"
1110 | },
1111 | "dist": {
1112 | "type": "zip",
1113 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594",
1114 | "reference": "dff51f72b0706335131b00a7f49606168c582594",
1115 | "shasum": ""
1116 | },
1117 | "require": {
1118 | "php": ">=5.3.3"
1119 | },
1120 | "suggest": {
1121 | "ext-mbstring": "For best performance"
1122 | },
1123 | "type": "library",
1124 | "extra": {
1125 | "branch-alias": {
1126 | "dev-master": "1.2-dev"
1127 | }
1128 | },
1129 | "autoload": {
1130 | "psr-4": {
1131 | "Symfony\\Polyfill\\Mbstring\\": ""
1132 | },
1133 | "files": [
1134 | "bootstrap.php"
1135 | ]
1136 | },
1137 | "notification-url": "https://packagist.org/downloads/",
1138 | "license": [
1139 | "MIT"
1140 | ],
1141 | "authors": [
1142 | {
1143 | "name": "Nicolas Grekas",
1144 | "email": "p@tchwork.com"
1145 | },
1146 | {
1147 | "name": "Symfony Community",
1148 | "homepage": "https://symfony.com/contributors"
1149 | }
1150 | ],
1151 | "description": "Symfony polyfill for the Mbstring extension",
1152 | "homepage": "https://symfony.com",
1153 | "keywords": [
1154 | "compatibility",
1155 | "mbstring",
1156 | "polyfill",
1157 | "portable",
1158 | "shim"
1159 | ],
1160 | "time": "2016-05-18 14:26:46"
1161 | },
1162 | {
1163 | "name": "symfony/translation",
1164 | "version": "v3.1.2",
1165 | "source": {
1166 | "type": "git",
1167 | "url": "https://github.com/symfony/translation.git",
1168 | "reference": "d63a94528530c3ea5ff46924c8001cec4a398609"
1169 | },
1170 | "dist": {
1171 | "type": "zip",
1172 | "url": "https://api.github.com/repos/symfony/translation/zipball/d63a94528530c3ea5ff46924c8001cec4a398609",
1173 | "reference": "d63a94528530c3ea5ff46924c8001cec4a398609",
1174 | "shasum": ""
1175 | },
1176 | "require": {
1177 | "php": ">=5.5.9",
1178 | "symfony/polyfill-mbstring": "~1.0"
1179 | },
1180 | "conflict": {
1181 | "symfony/config": "<2.8"
1182 | },
1183 | "require-dev": {
1184 | "psr/log": "~1.0",
1185 | "symfony/config": "~2.8|~3.0",
1186 | "symfony/intl": "~2.8|~3.0",
1187 | "symfony/yaml": "~2.8|~3.0"
1188 | },
1189 | "suggest": {
1190 | "psr/log": "To use logging capability in translator",
1191 | "symfony/config": "",
1192 | "symfony/yaml": ""
1193 | },
1194 | "type": "library",
1195 | "extra": {
1196 | "branch-alias": {
1197 | "dev-master": "3.1-dev"
1198 | }
1199 | },
1200 | "autoload": {
1201 | "psr-4": {
1202 | "Symfony\\Component\\Translation\\": ""
1203 | },
1204 | "exclude-from-classmap": [
1205 | "/Tests/"
1206 | ]
1207 | },
1208 | "notification-url": "https://packagist.org/downloads/",
1209 | "license": [
1210 | "MIT"
1211 | ],
1212 | "authors": [
1213 | {
1214 | "name": "Fabien Potencier",
1215 | "email": "fabien@symfony.com"
1216 | },
1217 | {
1218 | "name": "Symfony Community",
1219 | "homepage": "https://symfony.com/contributors"
1220 | }
1221 | ],
1222 | "description": "Symfony Translation Component",
1223 | "homepage": "https://symfony.com",
1224 | "time": "2016-06-29 05:41:56"
1225 | },
1226 | {
1227 | "name": "symfony/var-dumper",
1228 | "version": "v3.1.2",
1229 | "source": {
1230 | "type": "git",
1231 | "url": "https://github.com/symfony/var-dumper.git",
1232 | "reference": "39492b8b8fe514163e677bf154fd80f6cc995759"
1233 | },
1234 | "dist": {
1235 | "type": "zip",
1236 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/39492b8b8fe514163e677bf154fd80f6cc995759",
1237 | "reference": "39492b8b8fe514163e677bf154fd80f6cc995759",
1238 | "shasum": ""
1239 | },
1240 | "require": {
1241 | "php": ">=5.5.9",
1242 | "symfony/polyfill-mbstring": "~1.0"
1243 | },
1244 | "require-dev": {
1245 | "twig/twig": "~1.20|~2.0"
1246 | },
1247 | "suggest": {
1248 | "ext-symfony_debug": ""
1249 | },
1250 | "type": "library",
1251 | "extra": {
1252 | "branch-alias": {
1253 | "dev-master": "3.1-dev"
1254 | }
1255 | },
1256 | "autoload": {
1257 | "files": [
1258 | "Resources/functions/dump.php"
1259 | ],
1260 | "psr-4": {
1261 | "Symfony\\Component\\VarDumper\\": ""
1262 | },
1263 | "exclude-from-classmap": [
1264 | "/Tests/"
1265 | ]
1266 | },
1267 | "notification-url": "https://packagist.org/downloads/",
1268 | "license": [
1269 | "MIT"
1270 | ],
1271 | "authors": [
1272 | {
1273 | "name": "Nicolas Grekas",
1274 | "email": "p@tchwork.com"
1275 | },
1276 | {
1277 | "name": "Symfony Community",
1278 | "homepage": "https://symfony.com/contributors"
1279 | }
1280 | ],
1281 | "description": "Symfony mechanism for exploring and dumping PHP variables",
1282 | "homepage": "https://symfony.com",
1283 | "keywords": [
1284 | "debug",
1285 | "dump"
1286 | ],
1287 | "time": "2016-06-29 05:41:56"
1288 | }
1289 | ],
1290 | "packages-dev": [],
1291 | "aliases": [],
1292 | "minimum-stability": "stable",
1293 | "stability-flags": [],
1294 | "prefer-stable": false,
1295 | "prefer-lowest": false,
1296 | "platform": [],
1297 | "platform-dev": []
1298 | }
1299 |
--------------------------------------------------------------------------------
/config/app.php:
--------------------------------------------------------------------------------
1 | addConnection([
17 | 'driver' => DB_TYPE,
18 | 'host' => DB_HOST,
19 | 'port' => DB_PORT,
20 | 'database' => DB_NAME,
21 | 'username' => DB_USER,
22 | 'password' => DB_PASSWORD,
23 | 'charset' => 'utf8',
24 | 'collation' => 'utf8_unicode_ci',
25 | 'prefix' => '',
26 | 'strict' => false,
27 | 'engine' => null,
28 | ]);
29 | $capsule->setAsGlobal();
30 | $capsule->bootEloquent();
31 |
--------------------------------------------------------------------------------
/config/mail.php:
--------------------------------------------------------------------------------
1 | ');
--------------------------------------------------------------------------------
/include/FormHelper.php:
--------------------------------------------------------------------------------
1 | _postData[$field]=$_POST[$field];
15 | $this->_currentItem=$field;
16 | return $this;
17 | }
18 | public function file($field)
19 | {
20 | $this->_postData[$field]=$_FILES[$field];
21 | $this->_currentItem=$field;
22 | return $this;
23 | }
24 |
25 | public function request($field)
26 | {
27 | $this->_postData[$field]=$_REQUEST[$field];
28 | $this->_currentItem=$field;
29 | return $this;
30 | }
31 | public function fetch($fieldName=false)
32 | {
33 | if ($fieldName) {
34 | if (isset($this->_postData[$fieldName])) {
35 | return $this->_postData[$fieldName];
36 | }
37 | else{
38 | return false;
39 | }
40 | }else{
41 | return $this->_postData;
42 | }
43 | }
44 | public function Validator($validationType,$arg=NULL)
45 | {
46 | $_val=new Validator();
47 | if ($arg==NULL) {
48 | $error=$_val->{$validationType}($this->_postData[$this->_currentItem]);
49 | }else{
50 | $error=$_val->{$validationType}($this->_postData[$this->_currentItem],$arg);
51 | }
52 | if ($error) {
53 | $this->_error[$this->_currentItem]=$error;
54 | }
55 | return $this;
56 | }
57 | public function submit()
58 | {
59 | Session::set('old',$this->_postData);
60 | if (empty($this->_error)) {
61 | return true;
62 | }else{
63 | Session::init();
64 | Session::set('errors',$this->_error);
65 | $str='';
66 | foreach ($this->_error as $key => $value) {
67 | $str.=$key.','.$value.',';
68 | }
69 | $str=rtrim($str,',');
70 | throw new Exception($str);
71 | }
72 | }
73 | }
74 | ?>
--------------------------------------------------------------------------------
/include/Pagination.php:
--------------------------------------------------------------------------------
1 | current_page = (int)$page;
11 | $this->per_page = (int)$per_page;
12 | $this->total_page = (int)$total_page;
13 | }
14 | public function offset()
15 | {
16 | return ($this->current_page - 1) * $this->per_page;
17 | }
18 | public function totalPages()
19 | {
20 | return ceil($this->total_page/$this->per_page);
21 | }
22 | public function prevPage()
23 | {
24 | return $this->current_page -1;
25 | }
26 | public function nextPage()
27 | {
28 | return $this->current_page +1;
29 | }
30 | public function hasNextPage()
31 | {
32 | return $this->nextPage() <= $this->totalPages() ? TRUE : FALSE;
33 | }
34 | public function hasPrevPage()
35 | {
36 | return $this->prevPage() >=1 ? TRUE :FALSE;
37 | }
38 | public function createPaginationArea(Pagination $pagination,$page)
39 | {
40 | $area="";
62 | return $area;
63 | }
64 |
65 | }
--------------------------------------------------------------------------------
/include/Validator.php:
--------------------------------------------------------------------------------
1 | $len) {
55 | return "You Are Required To Enter Maximun: $len Value!!";
56 | }
57 | }
58 | public function isMatched($param1=-1,$param2=NULL,$type='Password')
59 | {
60 | if ($param1!=$param2) {
61 | return "$type does not Match!!";
62 | }
63 | }
64 | public function isRequired($param)
65 | {
66 | if (!isset($param) || empty($param)) {
67 | return "$param Cannot be Blank!!";
68 | }
69 | }
70 | public function isFileOk($file,$option=array('type'=>array('image/jpeg','image/pjpeg'),'maxUploadSize'=>20480,'isOptional'=>false))
71 | {
72 | if($option['isOptional']){return;}
73 | $upload_errors=array(
74 | UPLOAD_ERR_OK =>"NO ERRORS.",
75 | UPLOAD_ERR_INI_SIZE =>"File is Larger Then upload_max_size.",
76 | UPLOAD_ERR_FORM_SIZE =>"File is Larger Then MAX_FILE_SIZE.",
77 | UPLOAD_ERR_PARTIAL =>"Partial Upload ERRORS.",
78 | UPLOAD_ERR_NO_FILE =>"NO FILE SELECTED. Please Upload A File.",
79 | UPLOAD_ERR_NO_TMP_DIR =>"NO Temporary Directory.",
80 | UPLOAD_ERR_CANT_WRITE =>"Can't Write to Disk.",
81 | UPLOAD_ERR_EXTENSION =>"File Upload Stopped by Extension."
82 | );
83 | if(!is_uploaded_file($file['tmp_name'])){
84 | return $upload_errors[$file['error']];
85 | }
86 | if (!in_array($file['type'], $option['type']) || $file['size'] > $option['maxUploadSize'] ) {
87 | return "File Not Allowed. Try Different!! ";
88 | }
89 |
90 | }
91 | public function __call($name, $arg)
92 | {
93 | throw new Exception("$name does not exists in ".__CLASS__);
94 |
95 | }
96 | }
97 | ?>
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 | __init();
8 |
9 |
10 | ?>
--------------------------------------------------------------------------------
/libs/Auth.php:
--------------------------------------------------------------------------------
1 | prepare("SElECT * FROM users WHERE email=:email AND password=:password");
14 | $st->execute(array(
15 | ':email'=>$email,
16 | ':password'=>Hash::make($password)
17 | ));
18 | $data=$st->fetch();
19 | $count=$st->rowCount();
20 | if ($count > 0) {
21 | self::$user_id=$data['id'];
22 | self::$username=$data['username'];
23 | self::$email=$data['email'];
24 | return TRUE;
25 | }
26 | return FALSE;
27 | }
28 | public static function login($username,$password)
29 | {
30 | if(self::check($username,$password)){
31 | Session::init();
32 | Session::set('loggedIn',TRUE);
33 | Session::set('id',self::$user_id);
34 | Session::set('username',self::$username);
35 | Session::set('email',self::$email);
36 | return true;
37 | }
38 | return false;
39 | }
40 | public static function logout()
41 | {
42 | Session::init();
43 | self::$user_id=NULL;
44 | self::$username=NULL;
45 | self::$email=NULL;
46 | Session::remove('loggedIn');
47 | Session::remove('id');
48 | Session::remove('username');
49 | Session::remove('email');
50 | // Session::destroy();
51 | }
52 | }
--------------------------------------------------------------------------------
/libs/BaseController.php:
--------------------------------------------------------------------------------
1 | view=new View();
10 | }
11 | public function loadModel($name)
12 | {
13 | $file=__MODELS__.ucfirst($name).'.php';
14 | if (file_exists($file)) {
15 | // require $file;
16 | $modelName="\\App\\Models\\".ucwords($name);
17 | $this->model=new $modelName();
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/libs/BaseModel.php:
--------------------------------------------------------------------------------
1 | __getUrl();
15 | if (empty($this->_url[0])) {
16 | $this->__loadDefaultController();
17 | return false;
18 | }
19 | $this->__loadExistingController();
20 | $this->__loadControllerMethod();
21 |
22 |
23 | }
24 | private function __getUrl()
25 | {
26 | $url=isset($_GET['url'])? $_GET['url'] : null;
27 | $url= rtrim($url,'/');
28 | $url=filter_var($url,FILTER_SANITIZE_URL);
29 | $this->_url=explode('/', $url);
30 | }
31 | private function __loadDefaultController()
32 | {
33 | require __CONTROLLERS__.'Index.php';
34 | $this->_controller=new Index();
35 | $this->_controller->loadModel( 'Index' );
36 | $this->_controller->index();
37 | }
38 | private function __loadExistingController()
39 | {
40 | $file=__CONTROLLERS__.ucwords($this->_url[0]).'s.php';
41 | if(file_exists($file)){
42 | // require $file;
43 | $cc=ucwords($this->_url[0]).'s';
44 | $cc = "\\App\\Controllers\\{$cc}";
45 | $this->_controller=new $cc;
46 | $this->_controller->loadModel( $this->_url[0] );
47 | }else{
48 | $this->error();
49 | }
50 | }
51 | private function __loadControllerMethod()
52 | {
53 | # Find if controller exist
54 | # if controller does not exist call error method.
55 | $length=count($this->_url);
56 | if ($length > 1) {
57 | if(!method_exists($this->_controller, $this->_url[1])){
58 | $this->error();
59 | }
60 | }
61 | # if controller exist load the controller's method
62 | switch ($length) {
63 | case 5:
64 | $this->_controller->{$this->_url[1]}($this->_url[2],$this->_url[3],$this->_url[4]);
65 | break;
66 | case 4:
67 | $this->_controller->{$this->_url[1]}($this->_url[2],$this->_url[3]);
68 | break;
69 | case 3:
70 | $this->_controller->{$this->_url[1]}($this->_url[2]);
71 | break;
72 | case 2:
73 | $this->_controller->{$this->_url[1]}();
74 | break;
75 | default:
76 | $this->_controller->Index();
77 | break;
78 | }
79 | }
80 | function error(){
81 | // require __CONTROLLERS__.'Error.php';
82 | $this->_controller=new \Errors();
83 | $this->_controller->Index();
84 | exit();
85 |
86 | }
87 | }
--------------------------------------------------------------------------------
/libs/Database.php:
--------------------------------------------------------------------------------
1 | prepare($sql);
16 | foreach ($array as $key => $value) {
17 | $st->bindValue(":`$key`",$value);
18 | }
19 | $st->execute();
20 | return $st->fetchAll($fetchmode);
21 | }
22 | public function insert($table,$data)
23 | {
24 | ksort($data);
25 | $fieldNames=implode(',', array_keys($data));
26 | $fieldValues=':'.implode(',:', array_keys($data));
27 | $st=$this->prepare("INSERT INTO $table($fieldNames) VALUES($fieldValues)");
28 | foreach ($data as $key => $value) {
29 | $st->bindValue(":$key",$value);
30 | }
31 | return $st->execute();
32 | }
33 | public function update($table, $data,$where)
34 | {
35 | ksort($data);
36 | $fieldDetails=NULL;
37 | foreach ($data as $key => $value) {
38 | $fieldDetails.="$key=:$key,";
39 | }
40 | $fieldDetails=rtrim($fieldDetails,',');
41 | $st=$this->prepare("UPDATE $table SET $fieldDetails where $where");
42 | foreach ($data as $key => $value) {
43 | $st->bindValue(":$key",$value);
44 | }
45 | return $st->execute();
46 | }
47 |
48 | public function delete($table,$where)
49 | {
50 | return $this->exec("DELETE FROM $table WHERE $where ");
51 | }
52 | }
--------------------------------------------------------------------------------
/libs/Exceptions/HttpPageNotFoundException.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/libs/Session.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/css/style.css:
--------------------------------------------------------------------------------
1 | *{
2 | margin: 0;
3 | padding: 0;
4 | }
5 | body{
6 | padding: 60px 0 20px;
7 | /*background: #2A2E37;*/
8 | /*background: #171D1E;*/
9 | /*color: #fff;*/
10 | }
11 | .error{
12 | color: #b92c28;
13 | padding-left: 5px;
14 | font-style: italic;
15 | }
16 | .error:before{
17 | content: '*';
18 | }
19 | .navbar-inverse .navbar-nav>.active>a,
20 | .navbar-inverse
21 | .navbar-nav>.active>a:hover,
22 | .navbar-inverse
23 | .navbar-nav>
24 | .active>a:focus{
25 | background: #4A86B3;
26 | }
27 | .dropdown-menu>li>a:hover{
28 | color: #fff;
29 | background-color: #4A86B3;
30 | }
31 | #main-content{
32 | min-height: 620px;
33 | }
34 | ul{
35 | list-style: none;
36 | }
37 | .sorting{
38 | color: #468847;
39 | border-bottom: 3px solid #419641;
40 | padding: 5px 10px;
41 | }
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/abhishekkhaware/mvc/9334adf54d1c223821718761f54ed91f0c405bdd/public/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/abhishekkhaware/mvc/9334adf54d1c223821718761f54ed91f0c405bdd/public/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/public/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/abhishekkhaware/mvc/9334adf54d1c223821718761f54ed91f0c405bdd/public/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/public/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/abhishekkhaware/mvc/9334adf54d1c223821718761f54ed91f0c405bdd/public/images/favicon.ico
--------------------------------------------------------------------------------
/public/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/abhishekkhaware/mvc/9334adf54d1c223821718761f54ed91f0c405bdd/public/images/favicon.png
--------------------------------------------------------------------------------
/public/images/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/abhishekkhaware/mvc/9334adf54d1c223821718761f54ed91f0c405bdd/public/images/logo.jpg
--------------------------------------------------------------------------------
/public/images/sort_asc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/abhishekkhaware/mvc/9334adf54d1c223821718761f54ed91f0c405bdd/public/images/sort_asc.png
--------------------------------------------------------------------------------
/public/images/sort_desc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/abhishekkhaware/mvc/9334adf54d1c223821718761f54ed91f0c405bdd/public/images/sort_desc.png
--------------------------------------------------------------------------------
/public/js/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.0.1 by @fat and @mdo
3 | * Copyright 2013 Twitter, Inc.
4 | * Licensed under http://www.apache.org/licenses/LICENSE-2.0
5 | *
6 | * Designed and built with all the love in the world by @mdo and @fat.
7 | */
8 |
9 | if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery);
--------------------------------------------------------------------------------
/public/js/html5shiv.js:
--------------------------------------------------------------------------------
1 | /*
2 | HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3 | */
4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x";
6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
8 | for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d
2 | Add New Branch
3 |
38 |
39 |
--------------------------------------------------------------------------------
/resources/views/branch_detail/index.php:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 | Display All
17 |
18 |
19 | details) && !empty($this->details)): ?>
20 |
90 |
91 | createLinks; ?>
92 |
93 | NO RECORD FOUND!!
94 |
95 |
--------------------------------------------------------------------------------
/resources/views/branch_detail/js/details.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by abhishek on 6/2/14.
3 | */
4 | function BranchDetailController($scope,$http){
5 | $http.get('http://bank.com/branchdetail/showBranchIssuesInJson',{params :{b_id: $('#branchid').val()}}).success(function(details){
6 | $scope.details=details;
7 | // console.log($scope.details);
8 | });
9 | }
10 |
--------------------------------------------------------------------------------
/resources/views/branch_detail/show.php:
--------------------------------------------------------------------------------
1 |
2 | details) && !empty($this->details)): ?>
3 |
4 |
5 |
6 |
7 |
8 | List Of Issues At Branch Code: = $this->details->id ?> And
9 | Branch Manager is: = $this->details->branch_manager ?>
10 |
11 |
12 |
13 |
14 |
15 | Issue ID
16 | |
17 |
18 | Issue Ticket
19 | |
20 |
21 | Created At
22 | |
23 |
24 | Issue
25 | |
26 |
27 | Action
28 | |
29 |
30 |
31 |
32 |
33 | {{ detail.id }} |
34 | {{ detail.issue_ticket}} |
35 | {{ detail.issue_ticket_created_at }} |
36 | {{ detail.issue }} |
37 | Response |
38 |
39 |
40 | No Record Found |
41 |
42 |
43 |
44 |
45 |
46 |
NO RECORD FOUND!!
47 |
48 |
--------------------------------------------------------------------------------
/resources/views/branch_issue/add.php:
--------------------------------------------------------------------------------
1 |
2 |
Add New Issue
3 |
16 |
--------------------------------------------------------------------------------
/resources/views/branch_issue/index.php:
--------------------------------------------------------------------------------
1 |
6 | issues) && !empty($this->issues)): ?>
7 |
8 | List All Issues
9 |
10 |
11 |
12 |
13 |
14 | |
15 |
16 |
17 | |
18 |
19 |
20 | |
21 |
22 |
23 | |
24 |
25 |
26 | |
27 |
28 |
29 |
30 |
31 | Action
32 | |
33 |
34 |
35 |
36 | issues as $issue): ?>
37 |
38 | = $issue->id ?> |
39 | = $issue->branchdetail_id ?> |
40 | = $issue->issue_ticket_created_at ?> |
41 | = $issue->issue_ticket ?> |
42 | = ($issue->status)? "SOLVED":
43 | "UNSOLVED" ?> |
44 |
45 |
48 | Response
49 |
86 | |
87 |
88 |
89 |
90 |
91 |
92 | createLinks; ?>
93 |
94 | NO RECORD FOUND!!
95 |
96 |
--------------------------------------------------------------------------------
/resources/views/branch_issue/show.php:
--------------------------------------------------------------------------------
1 | issues) && !empty($this->issues)): ?>
2 |
3 | List All Issues
4 |
5 |
6 |
7 |
8 |
9 | |
10 |
11 |
12 | |
13 |
14 |
15 | |
16 |
17 |
18 | |
19 |
20 |
21 | |
22 |
23 | Action
24 | |
25 |
26 |
27 |
28 | issues as $issue): ?>
29 |
30 | = $issue->id ?> |
31 | = $issue->issue_ticket_created_at ?> |
32 | = $issue->issue_ticket ?> |
33 | = $issue->issue ?> |
34 | = ($issue->status)? "SOLVED":
35 | "UNSOLVED" ?> |
36 |
37 | = ($issue->result=='unresolved')? "UNRESOLVED": $issue->result.
38 | " (RESOLVED)"; ?>
39 | |
40 | Response |
41 |
42 |
43 |
44 |
45 |
46 | createLinks; ?>
47 |
48 | NO RECORD FOUND!!
49 |
50 |
--------------------------------------------------------------------------------
/resources/views/error/index.php:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/views/footer.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | © Bank.com. All Rights Reserved ®.
7 | Designed & Developed By: ABHISHEK KHAWARE
8 |
9 |
10 |
11 |
12 |
13 |
14 |