MANAGEMENT SYSTEM
Dibuat Oleh,
BANDUNG
2021
SURAT PERNYATAAN
TIDAK MELAKUKAN PLAGIARISME
Yang bertanda tangan di bawah ini :
Nama : Donny Dongoran
NPM : 1164019
Program Studi : D4 Teknik Informatika
Judul : Platform Opencart Berbasis Content Management System
Menyatakan bahwa :
Proyek Pemrograman Aplikasi (PROYEK I) saya ini adalah asli dan belum pernah
diajukan untuk memenuhi kelulusan matakuliah Proyek 2 pada Program Studi DIV
Teknik Informatika baik di Politeknik Pos Indonesia maupun di Perguruan Tinggi
lainnya.
Proyek Pemrograman Aplikasi (PROYEK I) ini adalah murni gagasan, rumusan, dan
penelitian saya sendiri tanpa bantuan pihak lain, kecuali arahan pembimbing.
Dalam Proyek Pemrograman Aplikasi (PROYEK I) ini tidak terdapat karya atau
pendapat yang telah ditulis atau dipublikasikan orang lain, kecuali secara tertulis
dengan jelas dicantumkan sebagai acuan dalam naskah dengan disebutkan nama
pengarang dan dicantumkan dalam daftar pustaka.
Pernyataan ini saya buat dengan sesungguhnya dan apabila di kemudian hari terdapat
penyimpangan-penyimpangan dan ketidakbenaran dalam pernyataan ini, maka saya
bersedia menerima sanksi akademik berupa pencabutan gelar yang telah diperoleh
karena karya ini, serta sanksi lainnya sesuai dengan norma yang berlaku diperguruan
tinggi lain.
Bandung, 17 Juli 2021
Yang Membuat Pernyataan,
Donny Dongoran
NPM. 1164001
ABSTRAK
E-commerce merupakan sarana transaksi jual beli barang atau jasa yang
melibatkan beberapa orang dengan menggunakan jaringan internet. Salah satunya
adalah Platform Opencart. Platform Opencart merupakan salah satu aplikasi web
berbasis Content Management Sistem dengan menggunakan bahasa pemrograman
PHP. Content Management Sistem ini merancang Platform Opencart untuk sistem
online shooping atau berbisnis secara online yang bersifat terbuka (open sorce).
Platform Opencart memiliki keunggulan atau kelebihan dalam pembuatannya.
Diantaranya memiliki fitur dan desain yang memudahkan dalam penggunananya.
Untuk itu, tujuan di bentuknya Platform Opencart berbasis Content Management
Sistem ini adalah menganalisis rancangan database dan desain admin maupun user
yang terdapat dalam Platform Opencart Berbasis Content Management Sistem. Maka
dari itu untuk menganalisis rancangan di butuhkan MySQL sebagai Relational
Database Management System (RDBMS) nya.
i
ABSTRACT
E-commerce merupakan sarana transaksi jual beli barang atau jasa yang
melibatkan beberapa orang dengan menggunakan jaringan internet. Salah satunya
adalah Platform Opencart. Platform Buka salah satu aplikasi berbasis web Sistem
Manajemen Konten dengan menggunakan bahasa pemrograman PHP. Content
Management System ini meluncurkan Platform untuk membuka sistem belanja online
atau bisnis online yang bersifat terbuka (open sorce). Platform Openencart memiliki
keunggulan atau kelebihan dalam pembuatannya. Diantaranya memiliki fitur dan
desain yang memudahkan penggunananya. Untuk itu, tujuan di bentuknya Platform
Pembuka berbasis Content Management System ini dirancang database dan desain
admin atau pengguna yang disediakan dalam Pembuka Platform Berbasis Content
Management System. Maka dari itu untuk menganalisis rancangan menggunakan
MySQL sebagai Sistem Manajemen Basis Data Relasional (RDBMS) nya.
Keywords : E-commerce, Plaform Opencart, PHP, Relational Database
Management System, Content Management System.
ii
KATA PENGANTAR
Dengan menyebut nama Allah SWT Yang Maha Pengasih lagi Maha
Penyayang, penulis panjatkan puji syukur atas kehadirat Allah SWT. yang telah
memberikan rahmat, kesehatan, serta hidayahNya, sehingga penulis dapat
menyelesaikan Proyek I ini yang berjudul Platform Opencart Berbasis Content
Management System dengan tepat waktu.
Dalam penulisan laporan proyek I ini terdapat banyak kendala, terutama
disebabkan karena keterbatasan ilmu pengetahuan, pengalaman serta kemampuan
yang terbatas. Penulis mengharapkan kritik dan saran dari semua pihak demi
penyempurnaan pembuatan laporan ini. Dalam laporan proyek ini tidak lepas dari
bantuan, bimbingan dari semua pihak. Untuk itu penulis mengucapkan terima kasih
kepada:
1. Allah SWT, karena dengan Rahmat dan Ridho-Nya penulis dapat
menyelesaikan poyek I ini.
2. Kedua orang tua dan keluarga penulis yang telah mendukung dan memberi
semangat kepada penulis.
3. Bapak M. Yusril Helmi Setyawan, S.Kom., M.Kom selaku Ketua Program
Studi DIV Teknik Informatika.
4. Bapak Harry K Saputra, S.T. selaku Koordinator Proyek I dan selaku dosen
pemimbing yang telah memberikan ilmu dan pengetahuan serta masukan
yang sangat bermanfaat dalam membimbing dan mengarahkan dalam
menyelesaikan Proyek I ini.
5. Teman-teman seperjuangan D4 TI. Serta pihak lain yang turut membantu
dalam penyelesaian Tugas Proyek ini.
Harapan penulis semoga apa yang telah penulis tulis semoga dapat
dikembangkan lagi dan bermanfaat bagi pihak-pihak yang menggunakan.
Penulis
iii
DAFTAR ISI
ABSTRAK.....................................................................................................................i
ABSTRACT...................................................................................................................ii
KATA PENGANTAR.................................................................................................iii
DAFTAR ISI...............................................................................................................iv
DAFTAR GAMBAR...................................................................................................ix
DAFTAR TABEL......................................................................................................xii
DAFTAR SIMBOL...................................................................................................xiii
DAFTAR LAMPIRAN............................................................................................xvii
BAB I PENDAHULUAN..........................................................................................I-1
1.1 Latar Belakang............................................................................................I-1
1.2 Identifikasi Masalah....................................................................................I-2
1.3 Tujuan..........................................................................................................I-2
1.4 Ruang Lingkup............................................................................................I-2
1.5 Sistematika Penulisan..................................................................................I-3
BAB II LANDASAN TEORI...................................................................................II-4
2.1 Tinjauan Pustaka........................................................................................II-4
2.2.1 Aplikasi...............................................................................................II-8
2.2.2 E-commerce........................................................................................II-8
2.2.3 Opencart..............................................................................................II-8
2.2.4 PHP.....................................................................................................II-8
2.2.5 RDBMS...............................................................................................II-9
BAB III ANALISIS DAN PERANCANGAN......................................................III-12
3.1 Analisis.......................................................................................................III-12
3.1.1 Analisi Sistem Yang Sedang Berjalan................................................III-12
3.1.1.1 Analisis Prosedur/Flow Map Berjalan...........................................III-12
3.1.1.2 Analisis Dokumen Yang Digunakan...............................................III-14
3.1.1.3 Analisi Sistem Yang Akan Digunakan............................................III-14
3.1.2.1 Analisis Kebutuhan Aplikasi...........................................................III-14
3.1.2.2 Analisis kebutuhan perangkat Lunak dan Keras.............................III-14
3.2 Perancangan............................................................................................III-20
iv
3.2.1 Context Diagram.............................................................................III-20
3.2.2 Data Flow Diagram........................................................................III-20
3.2.2.1 Data Flow Diagram level 0 platform Opencart Berbasis Content
Management System..................................................................................III-21
3.2.3 Kamus Alir Data..............................................................................III-27
3.2.4 Perancangan DataBase....................................................................III-29
3.2.4.1 Conceptual Data Model.................................................................III-29
3.2.4.2 Physical Data Model......................................................................III-30
3.2.4.3 Kamus Data Tabel (Database).......................................................III-30
3.2.5 Structur Menu..................................................................................III-38
3.2.6 Perancangan Antarmuka..................................................................III-48
3.2.6.1 Perancangan Antarmuka Login Admin Dan User.........................III-49
3.2.6.2 Perancangan Antarmuka Tampilan Utama Admin........................III-50
3.2.6.3 Perancangan Antarmuka Utama Customer (Admin).....................III-51
3.2.6.4 Perancangan Antarmuka Tampilan Categori (Admin)..................III-52
3.2.6.5 Perancangan Antarmuka Tampilan Product (Admin)...................III-53
3.2.6.6 Perancangan Antarmuka Tampilan Banners (Admin)...................III-54
3.2.6.7 Perancangan Antarmuka Tampilan Order (Admin).......................III-55
3.2.6.8 Perancangan Antarmuka Tampilan Utama User...........................III-56
3.2.6.9 Perancangan Antarmuka Register User.........................................III-57
3.2.6.10 Perancangan Antarmuka Checkout User.....................................III-58
BAB IV IMPLEMENTASI DAN PENGUJIAN..................................................IV-75
4.1 Implementasi...............................................................................................IV-75
4.1.1 Lingkungan Implementasi...............................................................IV-75
4.1.2 Kebutuhan Perangkat Lunak...........................................................IV-75
4.1.3 Kebutuhan Perangkat Keras............................................................IV-75
4.2 Tampilan Antarmuka (interface)............................................................IV-76
4.2.1 Halaman Login Admin.....................................................................IV-76
4.2.2 Halaman Utama Admin...................................................................IV-76
4.2.3 Halaman Data Category.................................................................IV-77
4.2.4 Halaman Data Product...................................................................IV-77
4.2.5 Halaman Data Orders.....................................................................IV-78
v
4.2.6 Halaman Data Costumers...............................................................IV-78
4.2.7 Halaman Utama user.......................................................................IV-79
4.2.8 Halaman Login user........................................................................IV-79
4.2.9 Halaman Register User...................................................................IV-80
4.2.10 Halaman Tambah Billing Details....................................................IV-80
4.2.11 Halaman Payment Method..............................................................IV-80
BAB V KESIMPULAN DAN SARAN.................................................................V-84
5.1 Kesimpulan...................................................................................................V-86
5.2 Saran.............................................................................................................V-86
DAFTAR PUSTAKA
LAMPIRAN A
LAMPIRAN B
vi
DAFTAR GAMBAR
ix
DAFTAR TABEL
xiii
DAFTAR SIMBOL
xiii
2. Simbol Class Diagram
xiii
Spesifikasi dari komunikasi antar objek
3 Message yang memuat informasi-informasi tentang
aktifitas yang terjadi
Activity Final
4 Bagaimana objek dibentuk dan dihancurkan
Node
Initial Pseudo
2 Bagaimana objek dibentuk atau diawali
State
xiii
DAFTAR LAMPIRAN
Lampiran-A Category.php....................................................................................A-1
Lampiran-A Product.php....................................................................................A-14
xvii
BAB I
PENDAHULUAN
I-1
I-2
1.3 Tujuan
Maksud dan tujuan dari Platform Opencart berbasis Content Management System ,
yaitu:
1. Mengetahui rancangan database yang terdapat pada Platform Opencart
berbasis Content Management System.
2. Mengetahui desain admin maupun user yang terdapat pada Platform
Opencart berbasis Management System.
2.2.1 Aplikasi
Adalah penggunaan dalam suatu komputer, instruksi atau pernyataan yang
disusun sedemikian rupa sehingga komputer dapat memproses input menjadi
output.
2.2.2 E-Commerce
E-Commerce adalah proses pembelian, penjualan atau pertukaran produk,
jasa dan informasi melalui jaringan komputer. E-commerce (electronic
commerce) sebagai perdagangan elektronik dimana untuk transaksi perdagangan
baik membeli maupun menjual dilakukan melalui elektronik pada jaringan
internet. Keberadaan e-commerce sendiri dalam internet dapat dikenali melalui
adanya fasilitas pemasangan iklan, penjualan, dan service support terbaik bagi
seluruh pelanggannya dengan menggunakan sebuah toko online berbentuk web
yang setiap harinya beroperasi selama 24 jam [1].
2.2.3 Opencart
Opencart salah satu Content Manajemen System (CMS) E-commerce yang
terbuka (open source) yang diperuntukan untuk belanja online berbasiskan
bahasa pemograman PHP. Sebuah Solusi E-commerce untuk berjualan melalui
internet [2].
II-4
II-5
2.2.4 PHP
PHP adalah singkatan dari "PHP: Hypertext Prepocessor", yaitu
bahasa pemrograman yang digunakan secara luas untuk penanganan
pembuatan dan pengembangan sebuah situs web dan bisa digunakan
bersamaan dengan HTML. PHP diciptakan oleh Rasmus Lerdorf pertama kali
tahun 1994. Pada awalnya PHP adalah singkatan dari "Personal Home Page
Tools". Selanjutnya diganti menjadi FI ("Forms Interpreter"). Sejak versi 3.0,
nama bahasa ini diubah menjadi "PHP: Hypertext Prepocessor" dengan
singkatannya "PHP". PHP versi terbaru adalah versi ke-7.
Dalam penelitian ini,bahasa pemrograman PHP digunakan untuk sisi
back-end nya.
MySQL.
BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisis
Analisis adalah proses untuk menentukan bentuk dari kebutuhan aplikasi baik
berupa kebutuhan pada saat membangun maupun pada saat implementasi. Analisis
merupakan suatu tahap pemahaman terhadap suatu sistem yang telah dibuat. Tahap
ini bertujuan untuk mengetahui sistem, proses-proses yang terlibat dalam aplikasi
serta hubungan antar proses. Analisis juga dapat didefinisikan sebagai penguraian
dari suatu sistem yang utuh kedalam bagian-bagian komponennya dengan maksud
untuk mengidentifikasi dan mengevaluasi masalah-masalah, kesempatan-
kesempatan, hambatan-hambatan yang terjadi serta kebutuhan yang diharapkan
sehingga dapat diusulkan perbaikan.
Tahap analisis sistem merupakan tahap yang kritis yang sangat penting
karena kesalahan dalam tahap ini mengakibatkan pada tahap selanjutnya. Suatu
penelitian membuktikan bahwa kesalahan yang diperbaiki setelah tahap analisis akan
memakan biaya yang lebih besar dari pada jika diperbaiki saat dilakukan analisis
III-12
III-7
Data User
Dibuat Oleh : Superadmin
Ditujukan : Superadmin dan Admin
Untuk
Isi : customer_id, customer_group_id, store_id,
language_id, firtsname, lastname, email, telephone,
fax, password, salt, cart, wishlist, newsletter,
address_id, custom_field, ip, status, safe, token, code,
date_added
Tujuan : Untuk menampung data dan informasi
Frekuensi : Tidak tentu,setiap ada pengguna baru
Data Orderan
Dibuat Oleh : Superadmin
Ditujukan : Superadmin dan Admin
Untuk
Isi : category_id, image, parent_id, top, column,
sort_order, status, date_added, date_modified
Tujuan : Untuk pustaka data jenis barang
Frekuensi : Tidak tentu,setiap ada jenis barang baru
Data Orderan
III-9
Data Orderan
Dibuat Oleh : Superadmin
Ditujukan : Superadmin dan Admin
Untuk
Isi : order_id, invoice_no, invoice_prefix, store_id,
store_name, store_url, customer_id,
customer_group_id, fistname, lastname, email,
telephone, fax, custom_field, payment_firstname,
payment_lastname, payment_company,
payment_address_1, payment_address2, payment_city,
payment_postcode, payment_country,
payment_country_id, payment_address_format,
payment_custom_field, payment_method,
payment_code, shipping_firstname, shipping_lastname,
shipping_company, shipping_address_1,
shipping_address_2, shipping_city, shipping_postcode,
shipping_country, shipping_country_id, shipping_zone,
shipping_zone_id, shipping_address_format,
shipping_custom_field, shipping_method,
shipping_code, comment, total, order_status_id,
commission, marketing_id, tracking, language_id,
currency_id, currency_code, currency_value, ip,
forward_ip, user_agent, accept_language, date_added,
date_modified.
Tujuan : Untuk pustaka data pemesanan barang
Frekuensi : Setiap pada data pesanan baru
III-10
Data Orderan
Dibuat Oleh : Admin
Ditujukan : Superadmin
Untuk
Isi : product_id, model, sku, upc, ean, jan isbn, mpn
location, quantity, stock_status_id, image,
manufacturer_id, shipping, price, points, tax_class_id,
date_available, weight, weight_class_id, length, width,
height, length_class_id, subtract, minimum, sort_order,
viewed, date_added, date_modified
Tujuan : Untuk pustaka data barang yang di jual
Frekuensi : Tidak tentu,setiap ada barang baru yang di jual
Data Orderan
Dibuat Oleh : Admin
Ditujukan : Superadmin
Untuk
Isi : shipping_courier, shipping_courier_code,
shipping_courier_name
Tujuan : Untuk penyimpanan data pengiriman
Frekuensi : Setiap ada data pengiriman baru
Berikut adalaha data data atau document yang akan digunakan, data
data tersebut nantinya akan digunakan didalam aplikasi yang akan dibangun.
Fungsi dari dokumen yang telah dipaparkan sebelumnya yaitu untuk
menyimpan data yang nantinya akan dikelola dan dijadikan sebuah informasi
bagi pengguna aplikasi.
Data Category digunakan untuk menampung data dan jenis barang yang
terdapat platform Opencart berbasis Content Management System. Data Cart
digunakan untuk menampung data barang pada platform Opencart berbasis
Content Management System. Data Information digunakan untuk menampung
data keterangan barang yang terdapat platform Opencart berbasis Content
Management System. Data Layout digunakan untuk menampung data
tampilan pada platform Opencart berbasis Content Management System. Data
Order digunakan untuk menampung data pemesanan barang pada platform
Opencart berbasis Content Management System. Data Product digunakan
untuk menampung data barang pada platform Opencart berbasis Content
Management System. Data Shipping digunakan untuk menampung data
pengiriman barang pada platform Opencart berbasis Content Management
System.
3.2 Perancangan
Then
Konfirmasi Login
Endif
End
2 Kelola Data Data Admin Informasi data Begin
Admin Admin If
add
Data user
Then
Informasi Data
Admin
Endif
End
3 Kelola Data Data Informasi Data Begin
Product Product Product Barang If
Barang Barang update
Data Product Barang
Then
Informasi Data
Product Barang
Endif
End
4 Kelola Data Data Informasi Data Begin
Category Category Category If
Barang Barang Barang input
Data Category
Barang
Then
Informasi Data
Category Barang
Endif
End
5 Kelola Data Data Informasi Data Begin
Pesanan Pesanan Pesanan If
add
Data Pesanan
Then
Informasi Data
Pesanan
Endif
End
6 Kelola Data Data Cart Informasi Data Begin
Cart Cart If
add
Data Cart
Then
Informasi Data Cart
Endif
III-18
End
7 Kelola Data Data Informasi Data Begin
Shipping Shipping Shipping If
input
Data Shipping
Then
Informasi Data
Shipping
Endif
End
8 Regristrasi Data Informasi Data Begin
User Regristrasi Regristrasi If
User User input
Data Regristrasi
Then
Informasi Data
Regristrasi
Endif
End
Kelola Data Data User Informasi Data Begin
9 User User If
update
Data user
Then
Informasi Data User
Endif
End
10 Laporan Laporan Laporan Begin
Pesanan Pesanan Pemesanan If
input
Laporan Pesanan
Then
Laporan Pesanan
Endif
End
11 Laporan Laporan Laporan Begin
Penjualan Penjualan Penjualan If
input
Laporan Penjualan
Then
Laporan Penjualan
Endif
End
Tabel 3. 10 User
Nama Tabel User
Primary Key id_user
Foreign Key -
Keterangan Untuk merekap data user (pengelolaan data
user, semua data tentang user) serta data
yang digunakan untuk login ke dalam system.
Nama Field Tipe data Deskripsi
id_users Integer Primary key table
users
Store_id Int(11) Tabel store
Username Varchar (100) Username user
Password Varchar (40) Password user
Status Enum Status user apakah
(‘nonaktif’.’aktif’) aktif atau tidak
aktif.
Language_id Int(11) Tabel Bahasa User
Firstname Varchar (32) Keterangan User
Lastname Varchar (32) Keterangan User
Email Varchar (96) Nama email
Telephone Varchar (32) Nomor telepon
Fax Varchar (32) Kode pos
Salt Varchar (9) Keterangan User
Wishlist Text daftar barang user
Newsletter Tinyint(1) Keterangan berita
address_id Int(11) Keterangan alamat
custom_field Text Menambahkan
kelas baru
Ip Varchar (40) ip User
Status Tinyint(1) Keterangan statsus
Safe Tinyint(1) safe User
Token Text token User
Code Varchar (40) code User
date_added Datetime Tanggal pesanan
Tabel 3. 13 Order
Nama Tabel Tbl order
Primary Key Order_id
Foreign Key -
Keterangan Untik menyimpan data pesanan
Nama Field Tipe data Deskripsi
Order_id Integer Primary key table
tbltagihan
no_invoice Int (11) Keterangan invoice
no_invoice_prefix Varchar (26) Keterangan
inoviiuce prefix
Id_store Int (11) Keterangan toko
Store_name Varchar (64) Keterangan nama
toko
Store_url Varchar (225) Keterangan utl
Id_customer Int (11) Keterangan atau
deksripsi perihal
tagihan.
Id_customer_group Int (11)
Fistname Varchar (32) Batas akhir
pembayaran.
Lastname Varchar (32) Jumlah bayaran
III-24
pengiriman
Shipping_postcode Varchar (10) Keterangan kode
pos pengiriman
Shipping_country Varchar (128) Keterangan negara
pengiriman
Shipping_country_ Int (11) Keterangan id
Id negara pengiriman
Shipping_zone Varchar (128) Keterangan daerah
pengiriman
shipping_zone_id Int (11) Keterangan id
daerah pengiriman
shipping_address_ Text Keterangan format
format alamat pengiriman
shipping_custom_ Text Keterangan kelas
field baru dalam
pengiriman
shipping_method Varchar (128) Keterangan cara
pengiriman
shipping_code Varchar (128) Keterangan kode
pengiriman
Comment Text Keterangan
comment
Total Decimal (15,4) Total pembelian
order_status_id Int (11) Keterangan status
order
commission Decimal (15,4) Keterangan komisi
marketing_id Int (11) Keterangan
marketing
Tracking Varchar (64) Lacak barang
language_id Int (11) Bahasa yang di
pakai
currency_id Int (11) Konversi nilai mata
uang
currency_code Varchar (3) Kode mata uang
currency_value Decimal (15,8) Nilai manauang
Ip Varchar (40) Alamat ip user
forward_ip Varchar (40) Penerusan ip user
user_agent Varchar (255) Keterangan user
accept_language Varchar (255) Konfirmasi bahasa
date_added datetime Tanggal yang di
gunakan
date_modified datetime Memperbahatui
tanggal
Tabel 3. 14 Product
Nama Tabel Tblproduct
III-26
Konfirmasi Melakukan
Order Login
Melakukan
Shipping
Keterangan:
1. Label Login Administrator 3. TextBox Password
2. Textbox Username 4. Button Login
Keterangan :
Keterangan :
Keterangan :
Keterangan :
Keterangan :
Keterangan :
Keterangan :
Keterangan :
Keterangan:
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Setelah dilakukannya analisis dan perancangan pada sistem yang akan
dibangun, maka selanjutnya sistem telah siap untuk di implementasikan.
Tahap ini merupakan tahap peletakan sistem agar dapat dioperasikan sesuai
dengan analisis yang telah dibuat. Pada tahap ini juga dilakukan pemrograman
dan penyesuaian terhadap rancangan yang telah dilakukan sebelumnya.
Adapun lingkungan aplikasi yang dibuat ini meliputi lingkungan perangkat
lunak dan perangkat keras.
4.1.1 Lingkungan Implementasi
Perancangan aplikasi ini dapat berjalan baik karena didukung oleh
perangkat lunak dan perangkat keras yang memadai.
Petunjuk Penggunaan:
1. Menampilkan halaman yang berisi form agar pengelola dapat masuk ke
halaman utama dan mengoperasikan sistem;
2. Klik menu yang dikehendaki untuk membuka halaman.
III-41
Petunjuk Penggunaan:
1. Masukkan alamat situs;
2. Klik menu yang dikehendaki untuk membuka halamannya.
III-42
Petunjuk Penggunaan:
1. Menampilkan halaman yang berisi from untuk proses menambah dan edit
data category;
2. Klik menu edit data kemudian klik save, kemudian pilih button tambah
data category kemudian klik save,
3. Klik button delete data category kemudian klik menu yes.
III-43
Petunjuk Penggunaan:
1. Menampilkan halaman yang berisi form untuk menambah dan edit data
product.
2. Klik menu edit data kemudian klik save,
3. Klik button delete data produk kemudian klik yes,
4. kemudian pilih button filter data Product kemudian klik save.
III-44
Petunjuk Penggunaan:
1. Menampilkan halaman yang berisi form untuk proses menambah dan edit
data user.
2. Klik menu tambah kemudian data user, kemudian pilih button tambah
data user,
3. Klik menu filter kemudian pilih button filter.
III-46
Petunjuk Penggunaan:
1. Menampilkan halaman yang berisi form untuk menambah data order.
2. Klik menu barang kemudian pilih button add to cart,
3. kemudian pilih button checkout.
III-47
Petunjuk Penggunaan:
1. Menampilkan halaman yang berisi form agar pengelola dapat masuk ke
halaman selanjutnya;
2. Klik menu email kemudian password, kemudian pilih button login,
3. Klik menu register kemudian pilih button continue.
III-48
Petunjuk Penggunaan:
1. Menampilkan halaman yang berisi form register user untuk menambah
data user.
2. Klik menu register data, kemudian pilih centang kemudian pilih button
continue.
III-49
Petunjuk Penggunaan:
1. Menampilkan halaman yang berisi form data data user untuk memambah
alamat user.
2. Klik menu billing details data kemudian pilih radio button kemudian pilih
alamat tujuan, kemudian pilih button continue.
III-50
Petunjuk Penggunaan:
1. Menampilkan halaman yang berisi form data user untuk menambah
payment method.
2. Klik menu Payment Method kemudian isi sesuai keinginnan, kemudian
pilih centang kemudian pilih button continue.
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan penelitan yang berjudul “Platform Opencart berbasis Content
Management System”, dapat disimpulkan bahwa untuk membuat sebuah aplikasi
Platform Opencart berbasis Content Management System yang datanya terintegrasi ke
database membutuhkan RDBMS.
5.2 Saran
Aplikasi yang telah dibangun ini tentunya masih dapat dikembangkan menuju
ruang lingkup yang lebih luas lagi, seperti meliputi payment method dan integrasi
dengan driver truk pengantar.
Oleh sebab itu penulis menyarankan untuk mengembangkan aplikasi dengan
harapan aplikasi ini dapat dijalankan secara online dan dapat berjalan di platform
mobile.
V-51
DAFTAR PUSTAKA
[3] Komputindo, P. E. (2013). Membangun Bisnis Online Mall dengan Joomla dan
Virtuemart. Jakarta: PT Elex Media Komputindo.
[4] Nugroho, A. (2010). Rekayasa Perangkat Lunak Menggunakan UML dan Java.
Yogyakarta: Andi Offset
[5] Koding, Mahir. “Belajar Eloquent Dasar Laravel”. 1 Januari 2019.
https://www.mahirkoding.com/belajar-eloquent-dasar-laravel/.
[6] Dharwiyanti S, Satria R. (2003). Pengantar Unified Modeling Language (UML)
jurnal informatika
[7] Ladjamudin. (2005). Analisis dan Desain Sistem Informasi. Yogyakarta:Graha
Ilmu
[8] Witt, J. D. (1990). An Evaluation of Microcomputer-based Software Packages
for Project Management. European Journal of Operational Research.
Category.php
<?php
class ControllerCatalogCategory extends Controller {
private $error = array();
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/category');
$this->getList();
}
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/category');
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->response->redirect($this->url->link('catalog/category', 'user_token='
A-1
A-2
$this->getForm();
}
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/category');
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->response->redirect($this->url->link('catalog/category', 'user_token='
. $this->session->data['user_token'] . $url, true));
}
$this->getForm();
}
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/category');
A-3
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->response->redirect($this->url->link('catalog/category', 'user_token='
. $this->session->data['user_token'] . $url, true));
}
$this->getList();
}
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/category');
if ($this->validateRepair()) {
$this->model_catalog_category->repairCategories();
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
A-4
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->response->redirect($this->url->link('catalog/category', 'user_token='
. $this->session->data['user_token'] . $url, true));
}
$this->getList();
}
if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'ASC';
}
if (isset($this->request->get['page'])) {
$page = $this->request->get['page'];
} else {
$page = 1;
}
$url = '';
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$data['breadcrumbs'] = array();
A-5
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/dashboard', 'user_token=' . $this-
>session->data['user_token'], true)
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('catalog/category', 'user_token=' . $this->session-
>data['user_token'] . $url, true)
);
$data['categories'] = array();
$filter_data = array(
'sort' => $sort,
'order' => $order,
'start' => ($page - 1) * $this->config->get('config_limit_admin'),
'limit' => $this->config->get('config_limit_admin')
);
$category_total = $this->model_catalog_category->getTotalCategories();
$results = $this->model_catalog_category->getCategories($filter_data);
if (isset($this->error['warning'])) {
$data['error_warning'] = $this->error['warning'];
A-6
} else {
$data['error_warning'] = '';
}
if (isset($this->session->data['success'])) {
$data['success'] = $this->session->data['success'];
unset($this->session->data['success']);
} else {
$data['success'] = '';
}
if (isset($this->request->post['selected'])) {
$data['selected'] = (array)$this->request->post['selected'];
} else {
$data['selected'] = array();
}
$url = '';
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$url = '';
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
$pagination->limit = $this->config->get('config_limit_admin');
$pagination->url = $this->url->link('catalog/category', 'user_token=' . $this-
>session->data['user_token'] . $url . '&page={page}', true);
$data['pagination'] = $pagination->render();
$data['results'] = sprintf($this->language->get('text_pagination'),
($category_total) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 :
0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($category_total -
$this->config->get('config_limit_admin'))) ? $category_total : ((($page - 1) *
$this->config->get('config_limit_admin')) + $this->config-
>get('config_limit_admin')), $category_total, ceil($category_total / $this->config-
>get('config_limit_admin')));
$data['sort'] = $sort;
$data['order'] = $order;
$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');
$this->response->setOutput($this->load->view('catalog/category_list',
$data));
}
if (isset($this->error['warning'])) {
$data['error_warning'] = $this->error['warning'];
} else {
$data['error_warning'] = '';
}
if (isset($this->error['name'])) {
$data['error_name'] = $this->error['name'];
} else {
$data['error_name'] = array();
}
if (isset($this->error['meta_title'])) {
$data['error_meta_title'] = $this->error['meta_title'];
} else {
$data['error_meta_title'] = array();
}
if (isset($this->error['keyword'])) {
A-8
$data['error_keyword'] = $this->error['keyword'];
} else {
$data['error_keyword'] = '';
}
if (isset($this->error['parent'])) {
$data['error_parent'] = $this->error['parent'];
} else {
$data['error_parent'] = '';
}
$url = '';
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$data['breadcrumbs'] = array();
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/dashboard', 'user_token=' . $this-
>session->data['user_token'], true)
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('catalog/category', 'user_token=' . $this->session-
>data['user_token'] . $url, true)
);
if (!isset($this->request->get['category_id'])) {
$data['action'] = $this->url->link('catalog/category/add', 'user_token=' .
$this->session->data['user_token'] . $url, true);
} else {
$data['action'] = $this->url->link('catalog/category/edit', 'user_token=' .
$this->session->data['user_token'] . '&category_id=' . $this->request-
>get['category_id'] . $url, true);
}
A-9
$data['user_token'] = $this->session->data['user_token'];
$this->load->model('localisation/language');
$data['languages'] = $this->model_localisation_language->getLanguages();
if (isset($this->request->post['category_description'])) {
$data['category_description'] = $this->request-
>post['category_description'];
} elseif (isset($this->request->get['category_id'])) {
$data['category_description'] = $this->model_catalog_category-
>getCategoryDescriptions($this->request->get['category_id']);
} else {
$data['category_description'] = array();
}
if (isset($this->request->post['path'])) {
$data['path'] = $this->request->post['path'];
} elseif (!empty($category_info)) {
$data['path'] = $category_info['path'];
} else {
$data['path'] = '';
}
if (isset($this->request->post['parent_id'])) {
$data['parent_id'] = $this->request->post['parent_id'];
} elseif (!empty($category_info)) {
$data['parent_id'] = $category_info['parent_id'];
} else {
$data['parent_id'] = 0;
}
$this->load->model('catalog/filter');
if (isset($this->request->post['category_filter'])) {
$filters = $this->request->post['category_filter'];
} elseif (isset($this->request->get['category_id'])) {
$filters = $this->model_catalog_category->getCategoryFilters($this-
>request->get['category_id']);
A-10
} else {
$filters = array();
}
$data['category_filters'] = array();
if ($filter_info) {
$data['category_filters'][] = array(
'filter_id' => $filter_info['filter_id'],
'name' => $filter_info['group'] . ' > ' . $filter_info['name']
);
}
}
$this->load->model('setting/store');
$data['stores'] = array();
$data['stores'][] = array(
'store_id' => 0,
'name' => $this->language->get('text_default')
);
$stores = $this->model_setting_store->getStores();
if (isset($this->request->post['category_store'])) {
$data['category_store'] = $this->request->post['category_store'];
} elseif (isset($this->request->get['category_id'])) {
$data['category_store'] = $this->model_catalog_category-
>getCategoryStores($this->request->get['category_id']);
} else {
$data['category_store'] = array(0);
}
if (isset($this->request->post['image'])) {
$data['image'] = $this->request->post['image'];
} elseif (!empty($category_info)) {
$data['image'] = $category_info['image'];
A-11
} else {
$data['image'] = '';
}
$this->load->model('tool/image');
if (isset($this->request->post['top'])) {
$data['top'] = $this->request->post['top'];
} elseif (!empty($category_info)) {
$data['top'] = $category_info['top'];
} else {
$data['top'] = 0;
}
if (isset($this->request->post['column'])) {
$data['column'] = $this->request->post['column'];
} elseif (!empty($category_info)) {
$data['column'] = $category_info['column'];
} else {
$data['column'] = 1;
}
if (isset($this->request->post['sort_order'])) {
$data['sort_order'] = $this->request->post['sort_order'];
} elseif (!empty($category_info)) {
$data['sort_order'] = $category_info['sort_order'];
} else {
$data['sort_order'] = 0;
}
if (isset($this->request->post['status'])) {
$data['status'] = $this->request->post['status'];
A-12
$this->load->model('design/layout');
$data['layouts'] = $this->model_design_layout->getLayouts();
$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');
$this->response->setOutput($this->load->view('catalog/category_form',
$data));
}
if ($this->request->post['category_seo_url']) {
$this->load->model('design/seo_url');
foreach ($this->request->post['category_seo_url'] as $store_id =>
$language) {
foreach ($language as $language_id => $keyword) {
if (!empty($keyword)) {
if (count(array_keys($language, $keyword)) > 1) {
$this->error['keyword'][$store_id][$language_id] = $this-
>language->get('error_unique');
}
$seo_urls = $this->model_design_seo_url-
>getSeoUrlsByKeyword($keyword);
foreach ($seo_urls as $seo_url) {
if (($seo_url['store_id'] == $store_id) && (!isset($this->request-
>get['category_id']) || ($seo_url['query'] != 'category_id=' . $this->request-
>get['category_id']))) {
$this->error['keyword'][$store_id][$language_id] = $this-
>language->get('error_keyword');
break;
}
}
}
A-14
}
}
}
if ($this->error && !isset($this->error['warning'])) {
$this->error['warning'] = $this->language->get('error_warning');
}
return !$this->error;
}
return !$this->error;
}
return !$this->error;
}
if (isset($this->request->get['filter_name'])) {
$this->load->model('catalog/category');
$filter_data = array(
'filter_name' => $this->request->get['filter_name'],
'sort' => 'name',
'order' => 'ASC',
'start' => 0,
'limit' => 5
);
$results = $this->model_catalog_category->getCategories($filter_data);
);
}
}
$sort_order = array();
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
Product.php
<?php
class ControllerCatalogProduct extends Controller {
private $error = array();
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/product');
$this->getList();
}
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/product');
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['filter_name'])) {
A-16
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request-
>get['filter_model'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_price'])) {
$url .= '&filter_price=' . $this->request->get['filter_price'];
}
if (isset($this->request->get['filter_quantity'])) {
$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
}
if (isset($this->request->get['filter_status'])) {
$url .= '&filter_status=' . $this->request->get['filter_status'];
}
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->getForm();
}
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/product');
$this->session->data['success'] = $this->language->get('text_success');
A-17
$url = '';
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request-
>get['filter_name'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request-
>get['filter_model'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_price'])) {
$url .= '&filter_price=' . $this->request->get['filter_price'];
}
if (isset($this->request->get['filter_quantity'])) {
$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
}
if (isset($this->request->get['filter_status'])) {
$url .= '&filter_status=' . $this->request->get['filter_status'];
}
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->getForm();
}
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/product');
$this->model_catalog_product->deleteProduct($product_id);
}
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request-
>get['filter_name'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request-
>get['filter_model'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_price'])) {
$url .= '&filter_price=' . $this->request->get['filter_price'];
}
if (isset($this->request->get['filter_quantity'])) {
$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
}
if (isset($this->request->get['filter_status'])) {
$url .= '&filter_status=' . $this->request->get['filter_status'];
}
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->getList();
}
$this->document->setTitle($this->language->get('heading_title'));
A-19
$this->load->model('catalog/product');
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request-
>get['filter_name'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request-
>get['filter_model'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_price'])) {
$url .= '&filter_price=' . $this->request->get['filter_price'];
}
if (isset($this->request->get['filter_quantity'])) {
$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
}
if (isset($this->request->get['filter_status'])) {
$url .= '&filter_status=' . $this->request->get['filter_status'];
}
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->getList();
}
if (isset($this->request->get['filter_name'])) {
$filter_name = $this->request->get['filter_name'];
} else {
$filter_name = '';
}
if (isset($this->request->get['filter_model'])) {
$filter_model = $this->request->get['filter_model'];
} else {
$filter_model = '';
}
if (isset($this->request->get['filter_price'])) {
$filter_price = $this->request->get['filter_price'];
} else {
$filter_price = '';
}
if (isset($this->request->get['filter_quantity'])) {
$filter_quantity = $this->request->get['filter_quantity'];
} else {
$filter_quantity = '';
}
if (isset($this->request->get['filter_status'])) {
$filter_status = $this->request->get['filter_status'];
} else {
$filter_status = '';
}
if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'pd.name';
}
if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'ASC';
}
if (isset($this->request->get['page'])) {
$page = $this->request->get['page'];
} else {
$page = 1;
}
$url = '';
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request-
>get['filter_name'], ENT_QUOTES, 'UTF-8'));
A-21
}
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request-
>get['filter_model'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_price'])) {
$url .= '&filter_price=' . $this->request->get['filter_price'];
}
if (isset($this->request->get['filter_quantity'])) {
$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
}
if (isset($this->request->get['filter_status'])) {
$url .= '&filter_status=' . $this->request->get['filter_status'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$data['breadcrumbs'] = array();
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session-
>data['user_token'], true)
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('catalog/product', 'user_token=' . $this->session-
>data['user_token'] . $url, true)
);
$data['products'] = array();
$filter_data = array(
'filter_name' => $filter_name,
'filter_model' => $filter_model,
A-22
$this->load->model('tool/image');
$product_total = $this->model_catalog_product->getTotalProducts($filter_data);
$results = $this->model_catalog_product->getProducts($filter_data);
$special = false;
$product_specials = $this->model_catalog_product-
>getProductSpecials($result['product_id']);
break;
}
}
$data['products'][] = array(
'product_id' => $result['product_id'],
'image' => $image,
'name' => $result['name'],
'model' => $result['model'],
'price' => $this->currency->format($result['price'], $this->config-
>get('config_currency')),
'special' => $special,
'quantity' => $result['quantity'],
'status' => $result['status'] ? $this->language->get('text_enabled') : $this-
>language->get('text_disabled'),
'edit' => $this->url->link('catalog/product/edit', 'user_token=' . $this-
>session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true)
);
}
A-23
$data['user_token'] = $this->session->data['user_token'];
if (isset($this->error['warning'])) {
$data['error_warning'] = $this->error['warning'];
} else {
$data['error_warning'] = '';
}
if (isset($this->session->data['success'])) {
$data['success'] = $this->session->data['success'];
unset($this->session->data['success']);
} else {
$data['success'] = '';
}
if (isset($this->request->post['selected'])) {
$data['selected'] = (array)$this->request->post['selected'];
} else {
$data['selected'] = array();
}
$url = '';
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request-
>get['filter_name'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request-
>get['filter_model'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_price'])) {
$url .= '&filter_price=' . $this->request->get['filter_price'];
}
if (isset($this->request->get['filter_quantity'])) {
$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
}
if (isset($this->request->get['filter_status'])) {
$url .= '&filter_status=' . $this->request->get['filter_status'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$url = '';
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request-
>get['filter_name'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request-
>get['filter_model'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_price'])) {
$url .= '&filter_price=' . $this->request->get['filter_price'];
}
if (isset($this->request->get['filter_quantity'])) {
$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
}
if (isset($this->request->get['filter_status'])) {
$url .= '&filter_status=' . $this->request->get['filter_status'];
}
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
$data['pagination'] = $pagination->render();
$data['filter_name'] = $filter_name;
$data['filter_model'] = $filter_model;
$data['filter_price'] = $filter_price;
$data['filter_quantity'] = $filter_quantity;
$data['filter_status'] = $filter_status;
$data['sort'] = $sort;
$data['order'] = $order;
$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');
$this->response->setOutput($this->load->view('catalog/product_list', $data));
}
if (isset($this->error['warning'])) {
$data['error_warning'] = $this->error['warning'];
} else {
$data['error_warning'] = '';
}
if (isset($this->error['name'])) {
$data['error_name'] = $this->error['name'];
} else {
$data['error_name'] = array();
}
if (isset($this->error['meta_title'])) {
$data['error_meta_title'] = $this->error['meta_title'];
} else {
$data['error_meta_title'] = array();
}
if (isset($this->error['model'])) {
$data['error_model'] = $this->error['model'];
} else {
A-26
$data['error_model'] = '';
}
if (isset($this->error['keyword'])) {
$data['error_keyword'] = $this->error['keyword'];
} else {
$data['error_keyword'] = '';
}
$url = '';
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request-
>get['filter_name'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request-
>get['filter_model'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_price'])) {
$url .= '&filter_price=' . $this->request->get['filter_price'];
}
if (isset($this->request->get['filter_quantity'])) {
$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
}
if (isset($this->request->get['filter_status'])) {
$url .= '&filter_status=' . $this->request->get['filter_status'];
}
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$data['breadcrumbs'] = array();
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session-
>data['user_token'], true)
);
A-27
$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('catalog/product', 'user_token=' . $this->session-
>data['user_token'] . $url, true)
);
if (!isset($this->request->get['product_id'])) {
$data['action'] = $this->url->link('catalog/product/add', 'user_token=' . $this-
>session->data['user_token'] . $url, true);
} else {
$data['action'] = $this->url->link('catalog/product/edit', 'user_token=' . $this-
>session->data['user_token'] . '&product_id=' . $this->request->get['product_id'] . $url,
true);
}
$data['user_token'] = $this->session->data['user_token'];
$this->load->model('localisation/language');
$data['languages'] = $this->model_localisation_language->getLanguages();
if (isset($this->request->post['product_description'])) {
$data['product_description'] = $this->request->post['product_description'];
} elseif (isset($this->request->get['product_id'])) {
$data['product_description'] = $this->model_catalog_product-
>getProductDescriptions($this->request->get['product_id']);
} else {
$data['product_description'] = array();
}
if (isset($this->request->post['model'])) {
$data['model'] = $this->request->post['model'];
} elseif (!empty($product_info)) {
$data['model'] = $product_info['model'];
} else {
$data['model'] = '';
}
if (isset($this->request->post['sku'])) {
$data['sku'] = $this->request->post['sku'];
} elseif (!empty($product_info)) {
$data['sku'] = $product_info['sku'];
} else {
$data['sku'] = '';
A-28
}
if (isset($this->request->post['upc'])) {
$data['upc'] = $this->request->post['upc'];
} elseif (!empty($product_info)) {
$data['upc'] = $product_info['upc'];
} else {
$data['upc'] = '';
}
if (isset($this->request->post['ean'])) {
$data['ean'] = $this->request->post['ean'];
} elseif (!empty($product_info)) {
$data['ean'] = $product_info['ean'];
} else {
$data['ean'] = '';
}
if (isset($this->request->post['jan'])) {
$data['jan'] = $this->request->post['jan'];
} elseif (!empty($product_info)) {
$data['jan'] = $product_info['jan'];
} else {
$data['jan'] = '';
}
if (isset($this->request->post['isbn'])) {
$data['isbn'] = $this->request->post['isbn'];
} elseif (!empty($product_info)) {
$data['isbn'] = $product_info['isbn'];
} else {
$data['isbn'] = '';
}
if (isset($this->request->post['mpn'])) {
$data['mpn'] = $this->request->post['mpn'];
} elseif (!empty($product_info)) {
$data['mpn'] = $product_info['mpn'];
} else {
$data['mpn'] = '';
}
if (isset($this->request->post['location'])) {
$data['location'] = $this->request->post['location'];
} elseif (!empty($product_info)) {
$data['location'] = $product_info['location'];
} else {
$data['location'] = '';
}
$this->load->model('setting/store');
$data['stores'] = array();
A-29
$data['stores'][] = array(
'store_id' => 0,
'name' => $this->language->get('text_default')
);
$stores = $this->model_setting_store->getStores();
if (isset($this->request->post['product_store'])) {
$data['product_store'] = $this->request->post['product_store'];
} elseif (isset($this->request->get['product_id'])) {
$data['product_store'] = $this->model_catalog_product->getProductStores($this-
>request->get['product_id']);
} else {
$data['product_store'] = array(0);
}
if (isset($this->request->post['shipping'])) {
$data['shipping'] = $this->request->post['shipping'];
} elseif (!empty($product_info)) {
$data['shipping'] = $product_info['shipping'];
} else {
$data['shipping'] = 1;
}
if (isset($this->request->post['price'])) {
$data['price'] = $this->request->post['price'];
} elseif (!empty($product_info)) {
$data['price'] = $product_info['price'];
} else {
$data['price'] = '';
}
$this->load->model('catalog/recurring');
$data['recurrings'] = $this->model_catalog_recurring->getRecurrings();
if (isset($this->request->post['product_recurrings'])) {
$data['product_recurrings'] = $this->request->post['product_recurrings'];
} elseif (!empty($product_info)) {
$data['product_recurrings'] = $this->model_catalog_product-
>getRecurrings($product_info['product_id']);
} else {
$data['product_recurrings'] = array();
}
A-30
$this->load->model('localisation/tax_class');
$data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses();
if (isset($this->request->post['tax_class_id'])) {
$data['tax_class_id'] = $this->request->post['tax_class_id'];
} elseif (!empty($product_info)) {
$data['tax_class_id'] = $product_info['tax_class_id'];
} else {
$data['tax_class_id'] = 0;
}
if (isset($this->request->post['date_available'])) {
$data['date_available'] = $this->request->post['date_available'];
} elseif (!empty($product_info)) {
$data['date_available'] = ($product_info['date_available'] != '0000-00-00') ?
$product_info['date_available'] : '';
} else {
$data['date_available'] = date('Y-m-d');
}
if (isset($this->request->post['quantity'])) {
$data['quantity'] = $this->request->post['quantity'];
} elseif (!empty($product_info)) {
$data['quantity'] = $product_info['quantity'];
} else {
$data['quantity'] = 1;
}
if (isset($this->request->post['minimum'])) {
$data['minimum'] = $this->request->post['minimum'];
} elseif (!empty($product_info)) {
$data['minimum'] = $product_info['minimum'];
} else {
$data['minimum'] = 1;
}
if (isset($this->request->post['subtract'])) {
$data['subtract'] = $this->request->post['subtract'];
} elseif (!empty($product_info)) {
$data['subtract'] = $product_info['subtract'];
} else {
$data['subtract'] = 1;
}
if (isset($this->request->post['sort_order'])) {
$data['sort_order'] = $this->request->post['sort_order'];
} elseif (!empty($product_info)) {
$data['sort_order'] = $product_info['sort_order'];
} else {
$data['sort_order'] = 1;
}
A-31
$this->load->model('localisation/stock_status');
$data['stock_statuses'] = $this->model_localisation_stock_status-
>getStockStatuses();
if (isset($this->request->post['stock_status_id'])) {
$data['stock_status_id'] = $this->request->post['stock_status_id'];
} elseif (!empty($product_info)) {
$data['stock_status_id'] = $product_info['stock_status_id'];
} else {
$data['stock_status_id'] = 0;
}
if (isset($this->request->post['status'])) {
$data['status'] = $this->request->post['status'];
} elseif (!empty($product_info)) {
$data['status'] = $product_info['status'];
} else {
$data['status'] = true;
}
if (isset($this->request->post['weight'])) {
$data['weight'] = $this->request->post['weight'];
} elseif (!empty($product_info)) {
$data['weight'] = $product_info['weight'];
} else {
$data['weight'] = '';
}
$this->load->model('localisation/weight_class');
$data['weight_classes'] = $this->model_localisation_weight_class-
>getWeightClasses();
if (isset($this->request->post['weight_class_id'])) {
$data['weight_class_id'] = $this->request->post['weight_class_id'];
} elseif (!empty($product_info)) {
$data['weight_class_id'] = $product_info['weight_class_id'];
} else {
$data['weight_class_id'] = $this->config->get('config_weight_class_id');
}
if (isset($this->request->post['length'])) {
$data['length'] = $this->request->post['length'];
} elseif (!empty($product_info)) {
$data['length'] = $product_info['length'];
} else {
$data['length'] = '';
}
if (isset($this->request->post['width'])) {
$data['width'] = $this->request->post['width'];
} elseif (!empty($product_info)) {
A-32
$data['width'] = $product_info['width'];
} else {
$data['width'] = '';
}
if (isset($this->request->post['height'])) {
$data['height'] = $this->request->post['height'];
} elseif (!empty($product_info)) {
$data['height'] = $product_info['height'];
} else {
$data['height'] = '';
}
$this->load->model('localisation/length_class');
$data['length_classes'] = $this->model_localisation_length_class-
>getLengthClasses();
if (isset($this->request->post['length_class_id'])) {
$data['length_class_id'] = $this->request->post['length_class_id'];
} elseif (!empty($product_info)) {
$data['length_class_id'] = $product_info['length_class_id'];
} else {
$data['length_class_id'] = $this->config->get('config_length_class_id');
}
$this->load->model('catalog/manufacturer');
if (isset($this->request->post['manufacturer_id'])) {
$data['manufacturer_id'] = $this->request->post['manufacturer_id'];
} elseif (!empty($product_info)) {
$data['manufacturer_id'] = $product_info['manufacturer_id'];
} else {
$data['manufacturer_id'] = 0;
}
if (isset($this->request->post['manufacturer'])) {
$data['manufacturer'] = $this->request->post['manufacturer'];
} elseif (!empty($product_info)) {
$manufacturer_info = $this->model_catalog_manufacturer-
>getManufacturer($product_info['manufacturer_id']);
if ($manufacturer_info) {
$data['manufacturer'] = $manufacturer_info['name'];
} else {
$data['manufacturer'] = '';
}
} else {
$data['manufacturer'] = '';
}
// Categories
$this->load->model('catalog/category');
A-33
if (isset($this->request->post['product_category'])) {
$categories = $this->request->post['product_category'];
} elseif (isset($this->request->get['product_id'])) {
$categories = $this->model_catalog_product->getProductCategories($this-
>request->get['product_id']);
} else {
$categories = array();
}
$data['product_categories'] = array();
if ($category_info) {
$data['product_categories'][] = array(
'category_id' => $category_info['category_id'],
'name' => ($category_info['path']) ? $category_info['path'] . ' > ' .
$category_info['name'] : $category_info['name']
);
}
}
// Filters
$this->load->model('catalog/filter');
if (isset($this->request->post['product_filter'])) {
$filters = $this->request->post['product_filter'];
} elseif (isset($this->request->get['product_id'])) {
$filters = $this->model_catalog_product->getProductFilters($this->request-
>get['product_id']);
} else {
$filters = array();
}
$data['product_filters'] = array();
if ($filter_info) {
$data['product_filters'][] = array(
'filter_id' => $filter_info['filter_id'],
'name' => $filter_info['group'] . ' > ' . $filter_info['name']
);
}
}
// Attributes
$this->load->model('catalog/attribute');
if (isset($this->request->post['product_attribute'])) {
A-34
$product_attributes = $this->request->post['product_attribute'];
} elseif (isset($this->request->get['product_id'])) {
$product_attributes = $this->model_catalog_product->getProductAttributes($this-
>request->get['product_id']);
} else {
$product_attributes = array();
}
$data['product_attributes'] = array();
if ($attribute_info) {
$data['product_attributes'][] = array(
'attribute_id' => $product_attribute['attribute_id'],
'name' => $attribute_info['name'],
'product_attribute_description' =>
$product_attribute['product_attribute_description']
);
}
}
// Options
$this->load->model('catalog/option');
if (isset($this->request->post['product_option'])) {
$product_options = $this->request->post['product_option'];
} elseif (isset($this->request->get['product_id'])) {
$product_options = $this->model_catalog_product->getProductOptions($this-
>request->get['product_id']);
} else {
$product_options = array();
}
$data['product_options'] = array();
if (isset($product_option['product_option_value'])) {
foreach ($product_option['product_option_value'] as $product_option_value) {
$product_option_value_data[] = array(
'product_option_value_id' =>
$product_option_value['product_option_value_id'],
'option_value_id' => $product_option_value['option_value_id'],
'quantity' => $product_option_value['quantity'],
'subtract' => $product_option_value['subtract'],
'price' => $product_option_value['price'],
'price_prefix' => $product_option_value['price_prefix'],
'points' => $product_option_value['points'],
'points_prefix' => $product_option_value['points_prefix'],
A-35
$data['product_options'][] = array(
'product_option_id' => $product_option['product_option_id'],
'product_option_value' => $product_option_value_data,
'option_id' => $product_option['option_id'],
'name' => $product_option['name'],
'type' => $product_option['type'],
'value' => isset($product_option['value']) ? $product_option['value'] : '',
'required' => $product_option['required']
);
}
$data['option_values'] = array();
$this->load->model('customer/customer_group');
$data['customer_groups'] = $this->model_customer_customer_group-
>getCustomerGroups();
if (isset($this->request->post['product_discount'])) {
$product_discounts = $this->request->post['product_discount'];
} elseif (isset($this->request->get['product_id'])) {
$product_discounts = $this->model_catalog_product->getProductDiscounts($this-
>request->get['product_id']);
} else {
$product_discounts = array();
}
$data['product_discounts'] = array();
if (isset($this->request->post['product_special'])) {
$product_specials = $this->request->post['product_special'];
} elseif (isset($this->request->get['product_id'])) {
$product_specials = $this->model_catalog_product->getProductSpecials($this-
>request->get['product_id']);
} else {
$product_specials = array();
}
$data['product_specials'] = array();
$this->load->model('tool/image');
// Images
A-37
if (isset($this->request->post['product_image'])) {
$product_images = $this->request->post['product_image'];
} elseif (isset($this->request->get['product_id'])) {
$product_images = $this->model_catalog_product->getProductImages($this-
>request->get['product_id']);
} else {
$product_images = array();
}
$data['product_images'] = array();
$data['product_images'][] = array(
'image' => $image,
'thumb' => $this->model_tool_image->resize($thumb, 100, 100),
'sort_order' => $product_image['sort_order']
);
}
// Downloads
$this->load->model('catalog/download');
if (isset($this->request->post['product_download'])) {
$product_downloads = $this->request->post['product_download'];
} elseif (isset($this->request->get['product_id'])) {
$product_downloads = $this->model_catalog_product-
>getProductDownloads($this->request->get['product_id']);
} else {
$product_downloads = array();
}
$data['product_downloads'] = array();
if ($download_info) {
$data['product_downloads'][] = array(
'download_id' => $download_info['download_id'],
'name' => $download_info['name']
);
}
}
A-38
if (isset($this->request->post['product_related'])) {
$products = $this->request->post['product_related'];
} elseif (isset($this->request->get['product_id'])) {
$products = $this->model_catalog_product->getProductRelated($this->request-
>get['product_id']);
} else {
$products = array();
}
$data['product_relateds'] = array();
if ($related_info) {
$data['product_relateds'][] = array(
'product_id' => $related_info['product_id'],
'name' => $related_info['name']
);
}
}
if (isset($this->request->post['points'])) {
$data['points'] = $this->request->post['points'];
} elseif (!empty($product_info)) {
$data['points'] = $product_info['points'];
} else {
$data['points'] = '';
}
if (isset($this->request->post['product_reward'])) {
$data['product_reward'] = $this->request->post['product_reward'];
} elseif (isset($this->request->get['product_id'])) {
$data['product_reward'] = $this->model_catalog_product-
>getProductRewards($this->request->get['product_id']);
} else {
$data['product_reward'] = array();
}
if (isset($this->request->post['product_seo_url'])) {
$data['product_seo_url'] = $this->request->post['product_seo_url'];
} elseif (isset($this->request->get['product_id'])) {
$data['product_seo_url'] = $this->model_catalog_product-
>getProductSeoUrls($this->request->get['product_id']);
} else {
$data['product_seo_url'] = array();
}
if (isset($this->request->post['product_layout'])) {
$data['product_layout'] = $this->request->post['product_layout'];
} elseif (isset($this->request->get['product_id'])) {
$data['product_layout'] = $this->model_catalog_product-
>getProductLayouts($this->request->get['product_id']);
A-39
} else {
$data['product_layout'] = array();
}
$this->load->model('design/layout');
$data['layouts'] = $this->model_design_layout->getLayouts();
$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');
$this->response->setOutput($this->load->view('catalog/product_form', $data));
}
if ($this->request->post['product_seo_url']) {
$this->load->model('design/seo_url');
foreach ($this->request->post['product_seo_url'] as $store_id => $language) {
foreach ($language as $language_id => $keyword) {
if (!empty($keyword)) {
if (count(array_keys($language, $keyword)) > 1) {
$this->error['keyword'][$store_id][$language_id] = $this->language-
>get('error_unique');
}
$seo_urls = $this->model_design_seo_url-
>getSeoUrlsByKeyword($keyword);
foreach ($seo_urls as $seo_url) {
if (($seo_url['store_id'] == $store_id) && (!isset($this->request-
A-40
return !$this->error;
}
return !$this->error;
}
return !$this->error;
}
if (isset($this->request->get['filter_name'])) {
$filter_name = $this->request->get['filter_name'];
} else {
$filter_name = '';
}
if (isset($this->request->get['filter_model'])) {
$filter_model = $this->request->get['filter_model'];
} else {
A-41
$filter_model = '';
}
if (isset($this->request->get['limit'])) {
$limit = $this->request->get['limit'];
} else {
$limit = 5;
}
$filter_data = array(
'filter_name' => $filter_name,
'filter_model' => $filter_model,
'start' => 0,
'limit' => $limit
);
$results = $this->model_catalog_product->getProducts($filter_data);
$product_options = $this->model_catalog_product-
>getProductOptions($result['product_id']);
if ($option_info) {
$product_option_value_data = array();
foreach ($product_option['product_option_value'] as
$product_option_value) {
$option_value_info = $this->model_catalog_option-
>getOptionValue($product_option_value['option_value_id']);
if ($option_value_info) {
$product_option_value_data[] = array(
'product_option_value_id' =>
$product_option_value['product_option_value_id'],
'option_value_id' =>
$product_option_value['option_value_id'],
'name' => $option_value_info['name'],
'price' => (float)$product_option_value['price'] ? $this-
>currency->format($product_option_value['price'], $this->config->get('config_currency'))
: false,
'price_prefix' => $product_option_value['price_prefix']
);
}
}
$option_data[] = array(
'product_option_id' => $product_option['product_option_id'],
A-42
$json[] = array(
'product_id' => $result['product_id'],
'name' => strip_tags(html_entity_decode($result['name'], ENT_QUOTES,
'UTF-8')),
'model' => $result['model'],
'option' => $option_data,
'price' => $result['price']
);
}
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
api.php (route)
<?php
use Illuminate\Http\Request;
/*
|----------------------------------------------------------------------
----
| API Routes
|----------------------------------------------------------------------
----
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
})->middleware('auth:api');
Route::get('/profile/{id}', 'EstiquentApi@getProfile');
Route::get('/nwc', 'EstiquentApi@selectForNWC');
Route::put('/update-profile/{id}', 'EstiquentApi@updateProfile');
Route::get('/users/{cc}', 'EstiquentApi@getUser');
Route::post('/insert-user', 'EstiquentApi@storeUser');
Route::post('/login', 'EstiquentApi@loginUser');
Route::get('/user/{id}', 'EstiquentApi@showUser');
Route::put('/update-user/{id}', 'EstiquentApi@updateUser');
Route::delete('/delete-user/{id}', 'EstiquentApi@destroyUser');
Route::get('/companies', 'EstiquentApi@getCompany');
Route::post('/insert-company', 'EstiquentApi@storeCompany');
Route::get('/company/{id}', 'EstiquentApi@showCompany');
Route::put('/update-company/{id}', 'EstiquentApi@updateCompany');
Route::delete('/delete-company/{id}', 'EstiquentApi@destroyCompany');
Route::get('/warehouses/{cc}', 'EstiquentApi@getWarehouse');
Route::post('/insert-warehouse', 'EstiquentApi@storeWarehouse');
Route::get('/warehouse/{id}', 'EstiquentApi@showWarehouse');
Route::put('/update-warehouse/{id}', 'EstiquentApi@updateWarehouse');
Route::delete('/delete-warehouse/{id}',
'EstiquentApi@destroyWarehouse');
Route::get('/destinations/{cc}', 'EstiquentApi@getDestination');
Route::post('/insert-destination', 'EstiquentApi@storeDestination');
A-44
Route::get('/destination/{id}', 'EstiquentApi@showDestination');
Route::put('/update-destination/{id}',
'EstiquentApi@updateDestination');
Route::delete('/delete-destination/{id}',
'EstiquentApi@destroyDestination');
Route::get('/transactions/{cc}', 'EstiquentApi@getTransaction');
Route::post('/insert-transaction', 'EstiquentApi@storeTransaction');
Route::get('/transaction/{id}', 'EstiquentApi@showTransaction');
Route::put('/update-transaction/{id}',
'EstiquentApi@updateTransaction');
Route::delete('/delete-transaction/{id}',
'EstiquentApi@destroyTransaction');
Route::get('/costs/{cc}', 'EstiquentApi@getCost');
Route::post('/insert-cost', 'EstiquentApi@storeCost');
Route::get('/cost/{id}', 'EstiquentApi@showCost');
Route::put('/update-cost/{id}', 'EstiquentApi@updateCost');
Route::delete('/delete-cost/{id}', 'EstiquentApi@destroyCost');
web.php (route)
<?php
/*
|----------------------------------------------------------------------
----
| Web Routes
|----------------------------------------------------------------------
----
|
| Here is where you can register web routes for your application. These
A-45
Route::get('/', function () {
return view('login');
});
Route::group(['middleware' => 'StoreSession'],function(){
// Route::get('/', 'Profile@index');
Route::get('/admin', 'Admin@index');
Route::get('/profile', 'Profile@index');
Route::get('/warehouses', 'Warehouses@index');
Route::post('/warehouses/tes', 'Warehouses@tes');
Route::get('/destinations', 'Destinations@index');
Route::get('/transactions', 'Transactions@index');
Route::get('/costs', 'Costs@index');
Route::get('/company', 'Company@index');
Route::get('/logs', 'Logs@index');
Route::get('/users', 'Users@index');
Route::get('/nwc', 'NWC@index');
});
Route::get('/register', 'Register@index');
Route::get('/session/{id}/{pw}', 'Session@index');
Route::get('/logout', 'Session@logout');
LAMPIRAN B
DATABASE APLIKASI
Users
Warehouses
Destinations
Costs
Transactions
B-1