Capstone Library Management System
Capstone Library Management System
CHRISTIAN SCHOOL
A Capstone Project
Presented to the Faculty of the
Information and Communications Technology Program
STI College Batangas
In Partial Fulfilment
of the Requirements for the Degree
Bachelor of Science in Information Technology
November 2022
EXECUTIVE SUMMARY
ii
ACKNOWLEDGEMENT
This project would not have been possible without the support of many people specially
God. Many thanks to, Mr. Ariel A. Magnaye, the researchers adviser who had been very
patient and understanding with us and all of our struggles in pursuing this study.
The developers would also want to give special thanks to their parents and their family
for their continuous support and understanding when undertaking our research and
writing our project. Also thanks to our panel members, Engr. Kriselle C. Punzalan,
Engr. Rhonnette Amor P. Comia, and to our lead panel Ms. Marivic M. Calanog, Lt.,
MSIT. We are very thankful to our program head, Engr. Rhonnette Amor P. Comia
and Capstone Project Coordinator Mr. Jan Jhariel S. Baroro who offered guidance and
full support.
Thanks to STI College Batangas for being an institution to learn what we have
accomplished and finally thanks to the people that become part of this project. We would
like to thank God, for letting the reasearchers endure and for the constant guidance
through the all difficulties. Thank you so much and God bless.
E.A.J.S.N
B.L.M.B
L.K.H.L
L.J.A.B
iii
TABLE OF CONTENTS
Page
Title Page i
Executive Summary ii
Acknowledgment iv
Table of Contents v
List of Figures vi
Introduction 1-5
Project Context 1
Synthesis 12
Technical Background 14 - 19
Calendar of Activities 17
Resources 19
iv
Methodology, Result and Discussion 21 - 40
Requirements Analysis 21
Requirements Documentation 25
Appendix 43
Reference 43
Resource Person 45
Approval Form 47
Endorsement Form 48
Certificate of Grammarian 49
Interview 50
Supporting Details 58
Process Flow 63
v
CHAPTER I
INTRODUCTION
Project Context
The project proposed entitled “Library System with SMS Notification for Batangas
Christian School” is a web-based library system for monitoring and controlling the
transactions in a library. It mainly focuses on basic operations in a library like adding
new members, new books and updating new information, searching books and members
and facility to borrow and return books. This helps to keep the records of whole
transactions of the books available in the library. Library System is a web-based system
that displays the books that are available inside the library, and shows which students are
currently borrowing books. It is also notifies the book borrowers the date when the book
must be returned to the library. This system will also notify the users the total penalty if
the book is not returned on the exact date or if the book is lost by the borrower.
Library System helps manage the effective delivery of library services. It will have a role
in planning and implementing library automation projects, keeping these things in mind
to develop a library system for Batangas Christian School. It removes manual process
involved and simplified way of issuing book saving time and effort. Students can also
check the availability status of a particular book online. It will enhance the effectiveness
of the library. A good library system should enable librarian to manage library resources
in a more effective way to save time and effort. This Library system is constructed in
such a way that it completely automates the traditional library process. It will aid in the
maintenance of information about members, books, and all other operations. It will also
aid in maintenance at any time, reducing almost all of the human workload required for
the proper library management. This Library System has the same features as other
library systems, but the researchers added one more feature that characterizes it SMS
Library System is a process of reserving books in the school library through a web-based
system. This system includes the information, policy of the school library, details,
reservation, borrowing, and inventory or records of the books through online. This
project aims to provide features on updating the record of the students, updating the
record of the books, and SMS (Short Message Services) support will be used as
notification for the borrowers when will they need to return the book to the library, and if
they exceed the given deadline the system/administrator will send an SMS to the
borrower.
This system will help the library change their manual process into an online process of
reserving a book, visualize the data of the students, and to get information efficiently.
Furthermore, it will provide database and statistical analysis of the present profile of the
school library. A library should use a software system that helps in effectively managing
the data in a library. The library database includes all relevant information regarding
assets to membership details. The software records details on all reading and reference
material available for reading and lending. Membership information, lending details and
renewal dates are managed by the software. The feature of the software assists in
inventory and circulation management of the books. Books in stock, on the shelves, in
circulation, missing or to be ordered can be tracked by the system. Acquiring new assets
becomes easier with the software. This system provides mobile access to search the
library catalog, books and resources from anywhere at any given time via smartphone or
tablet.
To design, develop and implement a Library System with SMS Notification for Batangas
Christian School that will store the student’s records such as student’s basic information,
books record, and list of borrowers, returned books, borrowed books, and prescription of
library and to improve the current library system and generate accurate and timely reports
like inventory, acquiring of books and monthly monitoring of borrowed, returned and
inquiry of books.
To create a module that will monitor the availability of the books in the library.
To develop a database which could store user details and book details
To create a module that will remind the borrowers to return the book through
SMS notification.
Scope
User Authentication Module - the log-in module that allows user to enter their
valid username and password to access their own account for the protection of the
system.
Admin/Librarian – this user can access the overall transaction in the
library.
Student – this user can search books and reserve books.
User Management Module – this module allows admin to add and update user
information.
Book Management Module – allows the librarian to search, add, and edit the book
information.
Limitation
Library Administrator should manually update the details of the books.
Foreign Literature
The Library Management System is a system which manages the flow of all books, the
information regarding the books available in the library as well as the records of them.
All this work when done manually requires time and efforts since this is a complex task.
With all the modern techniques available in the 21st century it is important for humans
and computers to be coordinated. The Library management system is designed in such a
manner, that it completely computerizes the whole traditional library process. It will help
in keeping the information about the members, books and all other operations. It will also
help in the maintenance at any instance, which reduces almost all the human workload
which is required for management of traditional library. The findings also indicates that
74% of the respondents want a notification system for library so they are updates as soon
as a book is available or when their return dates is approaching in turn saving them from
some penalties. 100% of the respondents agreed that there should be an app for library
which should also contain the library contents in electronic media format as all of them
like to study on their electronic devices which includes mobile phones, laptops and
computers. Respondents were receptive towards implementing a system that can improve
the traditional library process via mobile technology by the use of a notification system,
as the evaluation from the respondents indicates a positive reaction (Khan, M.T. et al. ,
2021)
Libraries are essential in a process of giving citizens to knowledge. In digital times they
are needed more than ever before. In our country, library systems are written that's why
we make a great use of paper. By making paper we cut trees. It is very harmful for our
environment. For our environment, we take this step to reduce this. It reduces the manual
paperwork through it and gives proper information of books has been recorded
As the library and information services community seeks to cope with new patterns of
information provision, new technology and changing financial circumstances, it is critical
to gain new thinking across the profession. The Latest research, innovative theory and
best organizational practice are all presented in Library Management System. Library
Management System website which is used to supply the books to the user. This is done
through JAVA technologies. This has various technical areas. It includes WINDOWS XP
as the operating System, Oracle as Database. The front end deals with GUI and source
code deals with Oracle (Backend). (Prasanna, N.S.N.L. & Gupta, B.N.S. , 2020)
Local Literature
Over time, information and communication technology (ICT) have shown unprecedented
changes to the services ad operations of modern libraries. Today, carrying out library task
and services through information and communication technology (ICT) are established to
complement all types of libraries, but still unsubstantiated in the majority of school
libraries. The Library Information Library Information System aids in borrowing and
returning books and reading materials via shopping cart and provides an organized tool in
performing library tasks and services in public high schools from basic to
complementary. The librarian can add newly acquired library materials in the online
catalog. Library users can easily track reading materials usage and availability through
the system. The librarian can monitor users overdue books and reading materials
borrowed by users. Inventory Report generation in Portable Data Format (PDF),for
submission purposes, can be done by the system without manual counting. (Mayo, A. ,
2016).
The manual library system of Canumay East National High School was directly replaced
with the computerized library system. It is difficult for the librarian to search for a book,
The library used manual process in preparing the book inventory that the student will
borrow in the library and if the student returned the book, they will log it in and out again
and again. They have a problem when it comes in computing the numbers of the
borrowers. The process of the student that will want to borrow a book in the library, is
signing in and out in the record book. In other words, the papers used will be stacked and
it will take much time and effort if the librarian will look to find the record of the students
in their drawer. Both of the librarian and the students have a hard time in tedious manual
process. This system develop a module that the librarian will used and to have a digital
record of the student’s information. Reduce the time and effort in monitoring and
updating the library records. Notify the student’s if the borrowed books are not returned
on the exact date. Print reports of currently borrowed and available books. (De Guzman,
M. & Santos, R. , 2017)
Foreign Study
In University of Mumbai, India the Library Management System with SMS Auto reply.
In this system the a Library Management software for monitoring and controlling the
flow of books in a library. The operations done by the administrator are adding new
books, removing some books, editing information about the book and viewing member.
The Students can perform the following operations: registration, borrow books, return
books, view books and searching. The software is easy to use for both beginners and
advanced users. The database will consist of information about the books issued and the
available books. There is also a need of verification of users which is done in order to
check that only authorized person is accessing the library. This project proposes SMS
communication for various library purposes, the library notification systems helps
students as a reminder and reduces time and effort. Making “Utilization of Short Message
Services (SMS) for Library Notification System”, Reference conducted a case study at
University of Malaya Library with a total of 110 respondents in which 38% Strongly
agreed while 37% agreed that they should have an SMS system for overdue books, new
books arrival and book reservations. It concluded that findings reveal that 58% concur
that integrating SMS in the proposed notification system would facilitate to resolve the
problem of notifying students on overdue books, arrival of new books and operating
Schedule more efficiently. (Khan, M.T. et al. , 2021)
Library Management System is all about organizing, managing the library and library
oriented tasks. It also involves maintaining the database of entering new books and the
record of the books that have been retrieved or issued, with their respective dates. The
main objective of the Library Management system is organizing and managing the library
tasks. Library is place where all kind of books are available. This web base application
The Interface of the Online Library Management System has to be simple to use, as the
target end-users for the system are non-technical persons. This system also aim to provide
a complete IT solution in managing a library. This system automate the functions
performance by the librarian. Operations such as cataloguing the books, managing
member information, searching books, issuing books, collecting fines etc. are included in
this system. This system provide powerful functionalities to the user by making use of
simple easy-to-easy interface. Proposed system is the one that is going to me automated,
so that it is easy retrieve the responses from the system faslty and updating the details
once the response or services are provided. (Prasanna, N.S.N.L. & Gupta, B.N.S. , 2020)
In Public High Schools Online Library System the e system is capable of reducing time
spent and errors associated with the identification and verification library reading
materials as well as charging-in and charging out through the use of computer
technology. Since the system will hold an online public access catalog (OPAC), the
library will be kept organize and library collection will be located immediately, if in case
available on shelf. Nevertheless, whether the book or any other reading material has been
checked-in or checked-out will appear in the book information. Speed of data retrieval for
library users will also be more appreciated. Users should be able to enter/exit the library
with minimal sign in/out time. Also, because of the absence of human intervention, the
report generated by the system is perfect and accurate. Moreover, there is a lack of this
system that will perform some of library tasks and services in public high schools. Due to
changing demand, like the implementation of K-12, there is a necessity to enhance the
quality of education including the library where most students spend time for reading
assignment, research or even past time. So, not only to be recognized as comparable to
other developing countries in Asia but also to be proven efficient in providing quality
basic education. (Mayo, A. , 2016).
In Canumay East National High School developed the computerized library system,
which is a secure, accessible, and accurate system. The computerized library system, the
librarian can now easily manage the library and search for a book. This system had a
login form to make sure that only authorized personnel can use the system to prevent
losing and tricking data. This system has a search bar to search where the book is located.
This system also had a record feature to know the due date of returning books. This
system also has a transaction feature to make borrowing of books fast and accurate.
This Online Library System with SMS Notification is a process of reserving books in the
school library through website. This system includes the information, policy of the school
library, details, reservation, borrowing, and inventory or records of the books through
online. This project aims to provide features on updating the record of the students,
updating the record of the books, and SMS (Short Message Services) support will be used
as notification for the borrowers when will they need to return the book to the library, and
if they exceed the given deadline the system/administrator will send an SMS to the
borrower. This system will help the library change their manual process into an online
process of reserving a book, visualize the data of the students, and to get information
efficiently. Furthermore, it will provide database and statistical analysis of the present
profile of the school library. (De Guzman, M. & Santos, R. , 2017)
Synthesis
In this study, the researchers learned that the library system showed that a digital
computerized system was much better than the manual process. The study stated that
having a database was important lines. In the studies, traditional library management has
been stressful for everyone specially to the librarian, researchers and teachers. Some of
the studies stated that is difficult for the librarian to search for a book, have a record of
the transaction in the library, and manage books in manual process. The studies stated
that the system automate the functions performance by the librarian. Operations such as
cataloguing the books, managing member information, searching books, issuing books,
collecting fines etc are included. This system lessens the work of the librian to monitor
the all transaction in library. Batangas Christian School also used manual process to
create the book inventory that students will borrow from the library, and if they return the
book, they will log it in and out repeatedly. When it comes to computing the borrowers'
numbers, they have a difficulty. Signing in and out in the record book is the process for a
The existing library system of the school is manually done. The library does not have an
existing technology that is essential and necessary for fast and easy monitoring, records
keeping, transactions, generation reports and sms notification. Using the computerized
library system with SMS notification is taking advantage of the technology in
monitoring, processing data and record keeping. This Library System with SMS
notification can be used to maintain records of user details like registering books,
checking balance penalty amount and more. This system not only works from admin side
but also from user side. User can also check his/her own details and get the notification
for balance amount of penalty, books returning date, can also check available books. This
application also works by SMS. Users can directly send SMS to a particular phone no.
with some predefined text and value. And he/she will get reply via SMS. He will be
getting all kind of information via SMS, if someone wants the information only through
SMS then the application is not required to be installed.
Futhermore, there are three modules in the system namely, Admin, User and SMS User.
Admin can register user details and provide him/her a login id and password, can also
manage user search and renew activities, he/she can add books as well and can view the
due dates and penalty amount. Users get login id and password, he/she can view his
personal details, check for desire books and get update of due dates, issue date of books
and penalty amount to be paid. Through SMS user can send text message on dedicated
number and he/she can get information about books, penalty, due date, issue date and
more. alert via SMS.
For Deployment
The hardware that will be used for the development of the proposed system is as follows:
Desktop, Laptop and Smartphone
Mouse
Keyboard
Internet Cable Connection
Local Area Network connectivity
The software that will be used for the development and deployment of the proposed
system is as follows
For Development
Hardware
The hardware that will be used for the development of the proposed system is as follows:
Computer
Laptop
ASUS X407U
Storage: 500GB
Software
The software that will be used for the development of the proposed system is as follows:
This chapter deals with method and techniques used by the developers in conducting the study,
the system development method and its result and discussion.
The developers utilized different data gathering techniques in the conduct of this capstone
project and employed different analytical tools to help justify the conduct of the study. The data
gathering techniques allowed the developers to identify the problem encountered by the librarian
and students. The analytical tools include interviews, observation, and brainstorming. The data
will be analyzed and used as a basic in the system design and development of the system.
The computerized library system for Batangas Christian School runs using web browers. The
system requires a computer, laptop or smartphone that is compatible with the Library System
web page. Thus, the system requires internet connection.
The PHP is a server-side scripting language that is used to develop Static websites or Dynamic
websites or Web applications. PHP stands for Hypertext Preprocessor, which earlier stood for
Personal Home Pages.The technologies that the developers used to perform and execute all
necessary functions that were needed during the development of the system.
A. Requirements Analysis
The developers conduct this research about library where the involved people are the students,
teachers and librarian.
The developers interviewed the librarian of the Batangas Christian School how their library
work. Based on the interview, the reasearchers develop a Library System for the better way to
use their library. They also provide the equipment to perform the system.
Librarian – the librarian has a logbook in the library. The students will sign-in in the
logbook. The input also the date of the day that the book is being used and borrowed,
The developers conduct this research about library where the involved people are the students,
teachers and librarian. The developers interviewed the librarian of the Batangas Christian School
how they library work. Based on the interview, we develop a Library System for the better way
to use their library. They also provide the equipment to perform the system. Batangas Christian
School is the beneficiary of the proposed system that is located at De Joya Compound,
Alangilan, Batangas City. The proposed system will be used by all members of the school. All
records in library will input in the system to check the condition of old books that are used by the
past user.
Batangas Chirstian School has procedure that needs to be followed when it comes in the library.
The first procedure is student must enrolled in the school. Meaning to say no one can borrow a
book from the outsiders only students of BCS can borrow to the library. Before the students go to
the library they must have an index card. The students will input the date of the day that the book
being borrowed, quantity of the book and the librarian will sign the index card before they give
the book.
Logbook – this where the students put their Full name, Date, Grade and Section, and their
Signature. They put their information for proof that they borrow a book from the library.
Index Card – this where they input the title of the book. They also input the number of the book
and the author of the book.
SYSTEM FUNCTIONALITY
Librarian – The librarian manages the overall system. All transaction like the updating, deleting
archive of the books and authors can be performed. It also can be used in accomplishing reports.
Student – The student may create an account, after creating an account. They can now look at
the book they can borrow. There are all different kinds of books in the system, and they can all
be booked. To remind students that the book they borrowed is due, the librarian will send an
SMS reminder. There will be minimal charge if the borrowers failed to return at the expected
date in return.
Teacher – The teacher may create an account, after the teacher's account creation. Additionally,
they have access to all of the books, and if one is not currently accessible, they can reserve it.
Additionally, the librarian notifies them when the book they borrowed is about to due.
Figure 2.0
Home Page
Librarian Interface
Figure 2.1
Log-In / Log-Out
Figure 2.2
Dashboard
Figure 2.3
Author Management
Figure 2.5
Book Management
Figure 2.7
Issue Book Management
Figure 2.9
SMS Notification
SMS Receipt
Student Interface
Figure 2.10
User Log-In
Figure 2.12
Search Book
Planning Phase
In the planning phase, the objective of the project is determining the requirements to produce the
product is considered. An estimate of resources, such as personnel and costs, is prepared along
with a concept for the new product. All of the information is analyzed to see if there is an
alternative solution in creating a new project. If there is no other viable alternative, the
information is assembled into a project plan and presented to management for approval
[WIKI2017].
In this phase, the developers determine what are the following requirements needed for the
system, cost estimation of resources, gathering all information and the assembly plan for the
system.
Analysis Phase
The analysis stage of the project team determines the end-user requirements. Often this is done
with the assistance of client focus group, which provide an explanation of their needs and what
their expectations are for the finished product and how it will perform. The project team
documents are all of the user requirements and get a sign-off from the client and management to
move forward with system design [WIKI2017].
Design Phase
The design phase is the “architectural” phase of the system design. The flow of data processing
is developed into charts, and the project teams determines the most logical design and structure
for the data flow and storage. Fo the user interface, the project team design mock-up screen
layout that the developers use to write the code for the actual interface [WIKI2017].
In this phase the developers designed the user interface of the system, determine the data flow
process into charts and block diagrams to structural data flow storage.
Implementation Phase
The implementation phase involves installing approval applications into production enviroments.
Primary task include announcing of the implementation schedule,training end users, and
installing the product. In addition, organizations should input and verify data, configure and test
system and security parameters, and conduct post-implementation reviews. Management should
circulate implementation schedules to all affected parties and should notify users of any
implementation responsibilities [WIKI2017].
In the implementation phase, the developed machine is implemented thus the test of the system,
this phase also creates the documentation and tools the customers users to make informed
decisions about how to deploy your software securely.
Maintenance Phase
The Maintenance Phase occurs once the system is operational. It includes implementation of
changes that software might undergo over period of time, or implementation of new
In this phase, the developers are making changes to hardware, software, and documentation to
support its operational effectiveness. It includes making changes to improve a system’s
performance, correct problems, enhance security, or address user requirements.
Data Flow Diagram – A data flow diagram(or DFD) is a graphical representation of the flow of
data through an information system. It shows how information is input and output from the
system, sources and destinations of the information, where that information is stored.
(CHOPE2017)
Figure 4.1
Borrow Transaction
Figure 4.2
Returning with out Penalty Transaction
Figure 4.3
Returning with Penalty Transaction
Figure 4.5
Reports
Entity Relationship Diagram – An entity relationship diagram (ERD), also known as an entity
relationship model, is a graphical representation that depicts relationship among the people,
objects, places, concepts, or events within and information technology (IT) sytem. An ERD uses
data modeling techniques that can help define business processes and serve as the foundation for
a relational database. (TechTarget)
A. Functionality
1. Suitability - Software performs the task required.
2. Accurateness - The result is as expected.
3. Interoperability - System interacts with other systems.
4. Security - Software prevents unauthorized access.
B. Usability
1. Understandability - The software is easy to use.
2. Learnability - The system is easily learned.
3. Operability - The system is used without much effort.
4. Attractiveness - GUI interface looks good.
C. Reliability
1. Maturity - Most of the faults in the software have been eliminated over time.
2. Fault Tolerance - Software handles errors.
3. Recoverability - Software resumes working and restores lost data.
D. Efficiency
1. Time Behavior – The system responds quickly.
2. Resource Utilization – System utilizes resources efficiently.
E. Portability
1. Adaptability – The software can be moved to other environments.
2. Install ability – The software installed easily.
CRITERIA RATING SD WM
A. Functionality 1 2 3 4 5
1. Suitability. Software performs the tasks required. 1 20 69 0.55 4.67
2. Accurateness. The result is as expected. 5 31 54 0.62 4.45
3. Interoperability. System interacts with other 5 39 46 0.61 4.37
systems.
4. Security. Software prevents unauthorized access. 6 34 50 0.63 4.41
B. Usability
1. Understandability. The software is easy to use 5 26 59
2. Learnability. The system is easily learned. 5 24 61
3. Operability. The system is used without much 5 20 65
effort.
4. Attractiveness. GUI interface looks good. 4 21 65
C. Reliability
1. Maturity. Most of the faults in the software been 4 27 59
eliminated over time
2. Fault Tolerance. Software handles errors. 6 24 60
The total number of students being surveyed was 90. After the data had been analyzed, always
yielded to above 50%. Hence, it is an indicator that the library being established passed the high
standard of criteria.
Table shows the complete percentage rate of all the criteria.
1. Suitability – 93.42%
2. Accuranteness – 88.92%
3. Interoperability – 87.44%
4. Security – 88.21%
E. Description of Prototype
This section displays the created system’s required report layout and screen form in the
developed system.
Report Layout
The developers will provide documents for the system, such as list of enrolled students and
enrollment form.
Forms on Screen
CHAPTER V
The library of Batangas Christian School now works manually. As it was discussed in the first
chapter, the stated manual method has a variety of issues with its transactions. The developers of
the mentioned library performed research to address the issues produced by these cited issues. In
order to improve the current manual flow at Batangas Christian School, our group designed and
developed “Library System with SMS notification for Batangas Christian School”. This system
will include various transactions for borrowing and returning books as well as the use of SMS
notification to assist the librarian in informing students about important issues, with a primary
focus on monitoring penalties. In addition to generating reports that comprise the Master List of
Books, the proposed system also involves calculating penalties. Reports on books that have been
borrowed, returned, lost, or damaged are all available. The performance study showed that the
developers had accomplished the planned system's goals, demonstrating that the library system is
more effective to the manual method.
Appendix
The following pages contain the references, resource person(s), and curriculum vitae of the
researchers. Resource persons are those who contributed to the development of this research.
APPENDIX A: REFERENCES
References
Khan, M.T. et al.(2021). Library Management System with SMS Auto Reply. Obtained from
https://www.jetir.org/papers/JETIR2104051.pdf?
fbclid=IwAR2E9Pv24q5O1fbv878U14jBjFJ3A9v05LCZ7TjK2vRrhJZ-zrNDmCJAinI
Prasanna, N.S.N.L. & Gupta, B.N.S. (May2020). Online Library Management System. Obtained
from https://www.jetir.org/view?
paper=JETIRDU06021&fbclid=IwAR1mpfyicrHKQlyjVzN9FM0h6_33Pi_591gAlZJCf6tLwC1
4RyPYidJ_GxA
Paden, M. et al.(April 1, 2020). Library System for Canumay East National High School.
Obtained from https://ojs.aaresearchindex.com/index.php/aasgbcpjmra/article/view/2359?
fbclid=IwAR37Lk48qyk5uPWuevQEJ-Or73ic7igZWJD4agMmN49rRl0YNtPXZ1QufcM
Mayo, A. (February 2016). Public High School Online Library System. Obtained from
http://dspace.cas.upm.edu.ph/jspui/bitstream/123456789/429/1/Library%20System.pdf?
fbclid=IwAR2E9Pv24q5O1fbv878U14jBjFJ3A9v05LCZ7TjK2vRrhJZ-zrNDmCJAinI
De Guzman, M. & Santos, R. ( September 2017) Online Library System with SMS
Notification for FFHNAS. Obtained from https://www.facebook.com/messenger_file/?
attachment_id=377689514327795&message_id=mid.
%24cAAAB8IOOMv6GgqZJ_GAUWD2r10Lf&thread_id=100009104915873
This is to certify that the undersigned has reviewed and went through all the pages of the
thesis manuscript entitled “LIBRARY SYSTEM WITH SMS NOTIFICATION FOR
BATANGAS CHRISTIAN SCHOOL” prepared by ANTHONY JAMES SYMON N.
EBORA, LIZA MAE B. BRIONES, JOHN ANGELO B. LEAL, and KIM HARRY L.
LALAMUNAN, in accordance with the set of structural rules that govern the composition of
sentences, phrases, and word in the English language.
Signed:
Date Signed:
Transcript of Interview
3. When is it established?
Year 2000
17. How do you arrange the books? What is the classification of the books?
By Level and Its classification
21. What if there’s a need for you to show some reports from the library?
I will check the all records manually in the record books
25.Penalty is continues?
Yes
34. Do you limit the number of the books to be borrowed by specific borrower?
Maximum of 3 books per student but teachers can have many
36. Do you fine penalty to overdue books? If so, how much? Is it possible that the
penalty will increase? Do you issue receipts?
Yes, 10 pesos every day with receipt
37. Do you fine penalty to lost? Damaged books? If so, how is it settled?
If lost and damaged, they have to pay for amount of book
41. How do you deal to the borrowers that have overdue books, lost, or damaged
books that haven’t settled yet their accountabilities?
I record their accounts and at the end of school year, clearance are not signed
unless settlements are done to both students and teachers
43.What if the overdue book is lost or damaged, how will you compute their
penalty?
Both, lost/damaged and overdue books are separately to computed
68. What if the borrower wants to extend the borrowing out book?
The student will need to record again
76. What is your basis for the lost book? What if it’s declared lost and in a certain
day he found it?
If it is declared lost, then he will pay for it. The recorded status cannot be altered.
78. Is the borrower who had lost book still allowed to borrow book?
If the borrower has unsettled accountabilities, and then he is not allowed to
borrow anymore unless settlements are made.
HOMEPAGE
Log in Form –
Fill up the textbox the click the Login Button
CATEGORY LIST
BOOK LIST
Select the Books Category, Author and Location Rack then click Add.
USER LIST
View Button – If you need to view the details of the book, user details and issue book details.
If you want to print the report just click the Print Button.
If you want to search the history you just click the search button.
SMS
NOFICATION LIST
If someone pop-up in the SMS Notification you need to click the SMS Notification Button to sent the
reminder.
SEARCH BOOK
LIST
If you want to search your reserved history just click the search box.
If the user want to edit the profile information just click the Profile Button in the upper right side
USER
SELECT
include
$data
=
array();
if(empty($_POST['admin_password'])) <?php
{ if($message != '')
$message .= '<li>Password is {
required</li>';
<?php
<form if(is_admin_login())
method="POST"> {
?>
<div </main>
class="mb-3"> <footer class="py-4 bg-light mt-auto">
<div class="container-fluid px-4">
<label class="form-label">Email address</label> <div class="d-flex align-items-center justify-
content-between small">
<div class="text-muted">Copyright ©
<input type="text" name="admin_email" Library Management System <?php echo date('Y'); ?></div>
id="admin_email" class="form-control" /> <div>
<a href="terms.php">Terms &
Conditions</a>
</div> </div>
</div>
<div </div>
class="mb-3"> </footer>
</div>
<label class="form-label">Password</label> </div>
<?php
}
<input type="password" name="admin_password" else
id="admin_password" class="form-control" /> {
<input type="checkbox" onclick="myFunction()"> ?>
Show Password <footer class="pt-3 mt-4 text-muted border-top">
<section>
<script> <div class="container">
function myFunction() { <div class="row">
var x = <div class="col-12">
document.getElementById("admin_password"); <center>
if (x.type === "password") { <h2>Contact us</h2>
x.type = "text"; </center>
} else { </div>
x.type = "password"; </div>
} <div class="row">
} <div class="col-md-4">
</script> <center>
<h4>Admission's Office</h4>
</div> </center>
<h6>Mobile</h6>
<div <p><i class="fas fa-phone"></i> (0916) 200-
class="d-flex align-items-center justify-content-center mt-4 mb- 1679 (Globe)</p>
0"> <p><i class="fas fa-phone"></i> (0961) 419-
7381 (Smart)</p>
<h6>Telephone</h6>
<input type="submit" name="login_button" <p><i class="fas fa-phone"></i> (043) 980-
class="btn btn-primary" value="Login" /> 6176</p>
<h6>Email</h6>
<p><i class="fas fa-envelope"></i>
</div> [email protected]</p>
</form> </div>
</div> <div class="col-md-4">
</div> <center>
</div> <h4>Accounting Office </h4>
</div> </center>
<?php
<?php
if(is_admin_login()) }
{ else
{
?>
<body class="sb-nav-fixed"> ?>
</header> <?php
<?php
} //issue_book_details.php
?>
include 'database_connection.php';
index.php
include 'function.php';
<?php
if(!is_user_login())
include 'database_connection.php'; {
include 'function.php'; header('location:user_login.php');
}
if(is_user_login())
{ $query = "
header('location:issue_book_details.php'); SELECT * FROM lms_issue_book
} INNER JOIN lms_book
ON lms_book.book_isbn_number =
include 'header.php'; lms_issue_book.book_id
WHERE lms_issue_book.user_id = '".
?> $_SESSION['user_id']."'
ORDER BY lms_issue_book.issue_book_id DESC
<section> ";
<img src="image/home-bg.jpg" class="img-fluid"/>
</section> $statement = $connect->prepare($query);
<section>
<div class="container"> $statement->execute();
<div class="row">
<div class="col-12"> include 'header_user.php';
<center>
<h2>Our Features</h2> ?>
<p><b>Our 3 Primary Features</b></p> <div class="container-fluid py-4" style="min-height: 700px;">
</center> <center>
</div> <img width="100px" src="image/books1.png"/>
</div> <h1>Your Issued Book Detail</h1>
<div class="row"> </center>
<div class="col-md-4"> <div class="card mb-4">
<center> <div class="card-header">
<img width="150" src="image/digital- <div class="row">
inventory.png"/> <div class="col
<h4>Digital Book Inventory</h4> col-md-6">
<p class="text-justify">A digital inventory that shows <i
every book that is available in the library, it also show how many class="fas fa-table me-1"></i> Your Issued Book Detail
of that books is available.</p> </div>
</center> <div class="col
</div> col-md-6" align="right">
<div class="col-md-4"> </div>
<center> </div>
<img width="150" src="image/search-online.png"/> </div>
<h4>Search Books</h4> <div class="card-body">
<p class="text-justify">Search any books that is <table id="datatablesSimple">
available from the library. Search via authors, book title, <thead>
categories, etc.</p> <tr>
</center> <th>Book ISBN No.</th>
</div> <th>Book
<div class="col-md-4"> Name</th>
<center> <th>Issue
<img width="150" src="image/defaulters-list.png"/> Date</th>
<h4>SMS Notifications</h4> <th>Expected
Return Date</th>
{ ?>
} ?>
profile.php
if($status == 'Not Return')
<?php
{
//profile.php
$status = '<span class="badge bg-
danger">Not Return</span>'; include 'database_connection.php';
} include 'function.php';
if(!is_user_login())
if($status == 'Return') {
header('location:user_login.php');
{ }
$statement->execute($data); </div>
</div> <div
<div class="mb-3">
class="col-md-6 mb-3">
<label class="form-label">Contact Number</label>
<label class="form-label">Last Name</label>
<input type="text" name="user_contact_no"
<input type="text" name="user_last_name"
Library System with SMS Notification for Batangas Christian School 100
id="user_contact_no" class="form-control" value="<?php echo $success = '';
$row['user_contact_no']; ?>"/>
if(isset($_POST["reset_pass"]))
</div> {
<div $check_token = $connect->prepare("SELECT reset_link_token
class="mb-3"> from lms_user where user_email_address=? and
reset_link_token=?");
<label class="form-label">Address</label> $check_token->execute([$_POST['user_email_address'],
$_POST['user_token']]);
<textarea name="user_address" id="user_address"
class="form-control"><?php echo $row['user_address']; if($check_token->rowCount()>0)
?></textarea> {
$formdata = array();
</div>
<div if(empty($_POST["user_password"]))
class="mb-3"> {
$message .= '<li>Password is required</li>';
<label class="form-label">User Photo</label><br /> }
else
<input type="file" name="user_profile" {
id="user_profile" /> $formdata['user_password'] =
trim($_POST['user_password']);
<br /> }
Library System with SMS Notification for Batangas Christian School 101
?>
<div class="row">
<div class="col"> include 'footer.php';
<center>
<h4>Reset Password</h4> ?>
</center>
</div> search_book.php
</div>
<?php
<form method="POST" enctype="multipart/form-
data"> //search_book.php
<input type="hidden" name="user_email_address"
id="user_email_address" class="form-control" value="<? include 'database_connection.php';
=$_GET['key']?>"/>
<input type="hidden" name="user_token" include 'function.php';
id="user_token" class="form-control" value="<?
=$_GET['token']?>"/> if(!is_user_login())
{
header('location:user_login.php');
}
<label class="form-label">Password</label>
$error = '';
<input type="password" name="user_password"
id="user_password" class="form-control" /> if(isset($_POST["reserve_book_button"]))
{
<label class="form-label">Re-Enter $formdata = array();
Password</label>
if(empty($_POST["book_id"]))
<input type="password" name="user_password1" {
id="user_password1" class="form-control" /> $error .= '<li>Book ISBN Number is required</li>';
}
else
{
<div $formdata['book_id'] = trim($_POST['book_id']);
class="mb-3"> }
if($statement->rowCount() > 0)
<?php {
Library System with SMS Notification for Batangas Christian School 102
foreach($statement->fetchAll() as $user_row) $query = "
{ SELECT * FROM lms_book
if($user_row['user_verification_status'] == 'Yes') WHERE book_status = 'Enable'
{ ORDER BY book_id DESC
$data = array( ";
':book_id' => $formdata['book_id'],
':user_id' => $formdata['user_id'], $statement = $connect->prepare($query);
':issue_date_time' => '',
':expected_return_date' => '', $statement->execute();
':return_date_time' => '',
':book_fines' => 0,
':book_issue_status' => 'Reserve'
); include 'header_user.php';
Library System with SMS Notification for Batangas Christian School 103
<?php
if(isset($_GET['msg'])) if($row['book_no_of_copy'] > 0)
{
if($_GET['msg'] == 'reserve') {
{
echo '<div class="alert alert-success alert-dismissible fade $book_status = '<div class="badge bg-
show" role="alert">New book reserved successfully<button success">Available</div>';
type="button" class="btn-close" data-bs-dismiss="alert" aria-
label="Close"></button></div>'; }
}
} else
?>
<div class="card mb-4"> {
<div class="card-header">
<div class="row"> $book_status = '<div class="badge bg-
<div class="col danger">Not Available</div>';
col-md-6">
<i }
class="fas fa-table me-1"></i> Book List
</div> echo '
</div>
</div> <tr>
<div class="card-body">
<table <td>'.
id="datatablesSimple"> $row["book_name"].'</td>
<thead>
<tr> <td>'.
$row["book_isbn_number"].'</td>
<th>Book Name</th>
<td>'.
<th>ISBN No.</th> $row["book_category"].'</td>
<th>Category</th> <td>'.
$row["book_author"].'</td>
<th>Author/Publisher</th>
<td>'.
<th>Location Rack</th> $row["book_location_rack"].'</td>
<td>
<th>Action</th> <a href="search_book.php?
</tr> action=reserve&code='.convert_data($row["book_id"]).'"
</thead> class="btn btn-success btn-sm">Reserve Book</a>
<tfoot> </td>
<tr>
</tr>
<th>Book Name</th>
';
<th>ISBN No.</th> }
}
<th>Category</th> else
{
<th>Author/Publisher</th> echo '
<tr>
<th>Location Rack</th>
<td colspan="8" class="text-center">No Data
<th>No. of Available Copy</th> Found</td>
</tr>
<th>Status</th> ';
}
<th>Action</th> ?>
</tr> </tbody>
</tfoot> </table>
<tbody> </div>
<?php </div>
<?php
if($statement- }
>rowCount() > 0) ?>
{ </div>
Library System with SMS Notification for Batangas Christian School 104
search_book_home.php <th>Status</th>
</tr>
<?php </tfoot>
<tbody>
//search_book_home.php <?php
</div> <td>'.
</div> $row["book_isbn_number"].'</td>
</div>
<div class="card-body"> <td>'.
<table $row["book_category"].'</td>
id="datatablesSimple">
<thead> <td>'.
<tr> $row["book_author"].'</td>
<th>Author/Publisher</th> <td>'.$book_status.'</td>
<th>Author/Publisher</th> ?>
</tbody>
<th>Location Rack</th> </table>
</div>
<th>No. of Available Copy</th> </div>
</div>
Library System with SMS Notification for Batangas Christian School 105
foreach($statement-
<?php >fetchAll() as $row)
{
include 'footer.php';
if($row['user_status'] == 'Enable')
?> {
user_login.php if($row['user_password'] ==
$formdata['user_password'])
<?php {
include 'database_connection.php';
//Inserting of audit trail
include 'function.php';
$msg = 'User Account: <strong>'.
if(is_user_login()) $row['user_first_name'].' '.$row['user_last_name'].' </strong>
{ login to the system';
header('location:issue_book_details.php');
} $audit = "INSERT INTO lms_audit
(`audit_desc`,`date_created`) VALUES ('$msg', '".date("Y-m-d
$message = ''; H:i:s")."')";
if(empty($_POST["user_email_address"])) header('location:issue_book_details.php');
{ }
$message .= '<li>Email Address is else
required</li>'; {
}
else $message = '<li>Wrong Password</li>';
{ }
if(! }
filter_var($_POST["user_email_address"], else
FILTER_VALIDATE_EMAIL)) {
{
$message .= '<li>Invalid $message = '<li>Your Account has been
Email Address</li>'; disabled</li>';
} }
else }
{ }
else
$formdata['user_email_address'] = {
trim($_POST['user_email_address']); $message = '<li>Wrong Email
} Address</li>';
} }
}
if(empty($_POST['user_password'])) }
{
$message .= '<li>Password is include 'header_user.php';
required</li>';
} ?>
else
{ <div class="container">
$formdata['user_password'] = <div class="row">
trim($_POST['user_password']); <div class="d-flex align-items-center justify-content-center"
} style="height:700px;">
<div class="col-md-6">
if($message == '') <?php
{
$data = array( if($message != '')
':user_email_address' {
=> $formdata['user_email_address'] echo '<div class="alert alert-
); danger"><ul>'.$message.'</ul></div>';
}
$query = "
SELECT * FROM lms_user ?>
WHERE user_email_address = :user_email_address <div class="card">
"; <div class="card-body">
<div class="row">
$statement = $connect->prepare($query); <div class="col mt-3">
<center>
$statement->execute($data); <img width="150px"
src="image/generaluser.png"/>
if($statement->rowCount() > 0) </center>
{ </div>
</div>
Library System with SMS Notification for Batangas Christian School 106
<div class="row"> </div>
<div class="col"> </div>
<center> </div>
<h3>User Login</h3>
</center> <?php
</div>
</div> include 'footer.php';
<form
method="POST"> ?>
<div
class="mb-3"> user_registration.php
Library System with SMS Notification for Batangas Christian School 107
}
if(in_array($img_ext, $extensions))
if(empty($_POST["user_password"])) {
{ if($image_size <= 5000000)
$message .= '<li>Password is {
required</li>'; if($width == '600'
} && $height == '600')
else {
{
$formdata['user_password'] = $new_img_name = time() . '-' . rand() . '.' . $img_ext;
trim($_POST['user_password']);
} if(move_uploaded_file($tmp_name, "upload/".
$new_img_name))
{
if(empty($_POST["user_password1"]))
{ $formdata['user_profile'] = $new_img_name;
$message .= '<li>Re-Enter Password is }
required</li>'; }
} else
else {
{
$formdata['user_password1'] = $message .= '<li>Image dimension should be within
trim($_POST['user_password1']); 225 X 225</li>';
} }
}
if ($_POST["user_password"] === else
$_POST["user_password1"]) {
{ $message .=
// success! '<li>Image size exceeds 2MB</li>';
} }
else }
{ else
$message .= '<li>You entered two different passwords</li>';// {
failed $message .= '<li>Invalid
} Image File</li>';
}
if(empty($_POST['user_address'])) }
{ else
$message .= '<li>User Address Detail is {
required</li>'; $message .= '<li>Please Select Profile
} Image</li>';
else }
{
$formdata['user_address'] = if($message == '')
trim($_POST['user_address']); {
} $data = array(
':user_email_address'
if(empty($_POST['user_contact_no'])) => $formdata['user_email_address']
{ );
$message .= '<li>User Contact Number
Detail is required</li>'; $query = "
} SELECT * FROM lms_user
else WHERE user_email_address = :user_email_address
{ ";
$formdata['user_contact_no'] =
trim($_POST['user_contact_no']); $statement = $connect->prepare($query);
}
$statement->execute($data);
if(!empty($_FILES['user_profile']['name']))
{ if($statement->rowCount() > 0)
$img_name = $_FILES['user_profile'] {
['name']; $message = '<li>Email
$img_type = $_FILES['user_profile'] Already Register</li>';
['type']; }
$tmp_name = $_FILES['user_profile'] else
['tmp_name']; {
$fileinfo = @getimagesize($tmp_name); $user_verificaton_code =
$width = $fileinfo[0]; md5(uniqid());
$height = $fileinfo[1];
$user_unique_id = 'U' .
$image_size = $_FILES['user_profile'] rand(10000000,99999999);
['size'];
$data = array(
$img_explode = explode(".", ':user_first_name'
$img_name); => $formdata['user_first_name'],
':user_last_name'
$img_ext = => $formdata['user_last_name'],
strtolower(end($img_explode)); ':user_address'
=>
$extensions = ["jpeg", "png", "jpg"]; $formdata['user_address'],
Library System with SMS Notification for Batangas Christian School 108
':user_contact_no $user_unique_id.'</b> which you will use for borrowing
' => books.</p>
$formdata['user_contact_no'],
':user_profile' <p>To verify your account, please click the link to verify
=> your email address.</p>
$formdata['user_profile'], <p><a href="'.base_url().'verify.php?code='.
':user_email_add $user_verificaton_code.'">Click to Verify</a></p>
ress' => $formdata['user_email_address'], <p>Thank you!</p>
':user_password' ';
=> $formdata['user_password'],
':user_verificaton $mail->send();
_code'=> $user_verificaton_code,
':user_verificatio $success = 'You are
n_status' => 'No', successfully registered, you can login but cant borrow books
':user_unique_id' verify your email first. Verification Email sent to ' .
=> $user_unique_id, $formdata['user_email_address'] . ',.';
':user_status' }
=> 'Enable',
':user_created_on }
' => get_date_time($connect) }
);
include 'header_user.php';
$query = "
INSERT INTO lms_user ?>
(user_first_name, user_last_name, user_address,
user_contact_no, user_profile, user_email_address, <style>
user_password, user_verificaton_code, user_verification_status, .asterisk_input::after
user_unique_id, user_status, user_created_on) {
VALUES content:" *";
(:user_first_name, :user_last_name, :user_address, :user_contact color: #e32;
_no, :user_profile, :user_email_address, :user_password, :user_ve }
rificaton_code, :user_verification_status, :user_unique_id, :user_s </style>
tatus, :user_created_on)
";
<div class="d-flex align-items-center justify-content-center mt-5
$statement = $connect- mb-5" style="min-height:700px;">
>prepare($query); <div class="col-md-6">
<?php
$statement->execute($data);
if($message != '')
require {
'vendor/autoload.php'; echo '<div class="alert alert-
danger"><ul>'.$message.'</ul></div>';
$mail = new }
PHPMailer(true);
if($success != '')
$mail->isSMTP(); {
echo '<div class="alert alert-
$mail->Host = success">'.$success.'</div>';
'smtp.hostinger.com'; }
Library System with SMS Notification for Batangas Christian School 109
</div>
<div <div
class="col-md-6 mb-3"> class="mb-3">
</div> </div>
<div
</div> class="mb-3">
<label class="form-label
<div asterisk_input">Address</label>
class="mb-3">
<textarea name="user_address" id="user_address"
<label class="form-label asterisk_input">Email class="form-control"></textarea>
address</label>
</div>
<input type="text" name="user_email_address" <div
id="user_email_address" class="form-control" /> class="mb-3">
</div> <div
<div class="mb-0 d-flex align-items-center justify-content-center">
class="col-md-6 mb-3"> <p>
</div>
<div
</div> class="text-center mt-4 mb-2">
Library System with SMS Notification for Batangas Christian School 110
include 'header_user.php';
if(isset($_POST["action"]))
if(isset($_GET['code'])) {
{ if($_POST["action"] == 'search_book_isbn')
$data = array( {
':user_verificaton_code' => $query = "
trim($_GET['code']) SELECT book_isbn_number, book_name
); FROM lms_book
WHERE book_isbn_number LIKE '%".
$query = " $_POST["request"]."%'
SELECT user_verification_status FROM lms_user AND book_status = 'Enable'
WHERE user_verificaton_code ";
= :user_verificaton_code
"; $result = $connect->query($query);
Library System with SMS Notification for Batangas Christian School 111
{
?> $formdata['author_name'] =
<div class="container-fluid py-4" style="min-height: 700px;"> trim($_POST["author_name"]);
<h1>Audit Trail</h1> }
<ol class="breadcrumb mt-4 mb-4 bg-light p-2
border"> if($error == '')
<li class="breadcrumb-item"><a {
href="index.php">Dashboard</a></li> $query = "
<li class="breadcrumb-item active">Audit Trail</li> SELECT * FROM lms_author
</ol> WHERE author_name = '".$formdata['author_name']."'
<div class="row"> ";
<div class="col-md-12">
<div class="card mb-12"> $statement = $connect->prepare($query);
<div class="card-header">
<i class="fas fa-table me-1"></i> Audit Trail $statement->execute();
</div>
<div class="card-body"> if($statement->rowCount() > 0)
<table id="datatablesSimple"> {
<thead> $error = '<li>Author Name
<tr> Already Exists</li>';
<th>Description</th> }
<th>Date</th> else
</tr> {
</thead> $data = array(
<tfoot> ':author_name'
<tr> =>
<th>Description</th> $formdata['author_name'],
<th>Date</th> ':author_status'
</tr> => 'Enable',
</tfoot> ':author_created_
<tbody> on' => get_date_time($connect)
<?php foreach($statement->fetchAll() as $row):?> );
<tr>
<td><?php echo $row['audit_desc'];?></td> $query = "
<td><?php echo $row['date_created'];?></td> INSERT INTO lms_author
</tr> (author_name, author_status, author_created_on)
<?php endforeach; ?> VALUES
</tbody> (:author_name, :author_status, :author_created_on)
</table> ";
</div>
</div> $statement = $connect-
</div> >prepare($query);
</div>
</div> $statement->execute($data);
<?php header('location:author.php?
msg=add');
include '../footer.php'; }
}
?> }
author.php if(isset($_POST["edit_author"]))
{
<?php $formdata = array();
//author.php if(empty($_POST["author_name"]))
{
include '../database_connection.php'; $error .= '<li>Author Name is
required</li>';
include '../function.php'; }
else
if(!is_admin_login()) {
{ $formdata['author_name'] =
header('location:../admin_login.php'); trim($_POST['author_name']);
} }
Library System with SMS Notification for Batangas Christian School 112
<div class="container-fluid py-4" style="min-height: 700px;">
if($statement->rowCount() > 0) <h1>Author/Publisher Management</h1>
{ <?php
$error = '<li>Author Name
Already Exists</li>'; if(isset($_GET["action"]))
} {
else if($_GET["action"] == "add")
{ {
$data = array( ?>
':author_name'
=> $formdata['author_name'], <ol class="breadcrumb mt-4 mb-4 bg-light p-2
':author_updated border">
_on'=> get_date_time($connect), <li class="breadcrumb-item"><a
':author_id' href="index.php">Dashboard</a></li>
=> $author_id <li class="breadcrumb-item"><a
); href="author.php">Author Management</a></li>
<li class="breadcrumb-item active">Add Author</li>
$query = " </ol>
UPDATE lms_author
SET author_name = :author_name, <div class="row">
author_updated_on = :author_updated_on <div class="col-md-6">
WHERE author_id = :author_id <?php
";
if($error != '')
$statement = $connect- {
>prepare($query); echo '<div class="alert alert-
danger alert-dismissible fade show" role="alert"><ul class="list-
$statement->execute($data); unstyled">'.$error.'</ul> <button type="button" class="btn-
close" data-bs-dismiss="alert"
header('location:author.php? aria-label="Close"></button></div>';
msg=edit'); }
}
} ?>
} <div class="card mb-4">
<div class="card-header">
if(isset($_GET["action"], $_GET["code"], $_GET["status"]) && <i class="fas fa-
$_GET["action"] == 'delete') user-plus"></i> Add New Author
{ </div>
$author_id = $_GET["code"]; <div class="card-body">
<form method="post">
$status = $_GET["status"]; <div class="mb-3">
<label class="form-
$data = array( label">Author Name</label>
':author_status' <input type="text"
=> $status, name="author_name" id="author_name" class="form-
':author_updated_on' => control" />
get_date_time($connect), </div>
':author_id' <div class="mt-4 mb-0">
=> $author_id <input type="submit"
); name="add_author" class="btn btn-success" value="Add" />
</div>
$query = " </form>
UPDATE lms_author </div>
SET author_status = :author_status, </div>
author_updated_on = :author_updated_on </div>
WHERE author_id = :author_id </div>
";
<?php
$statement = $connect->prepare($query); }
else if($_GET["action"] == 'edit')
$statement->execute($data); {
$author_id =
header('location:author.php? convert_data($_GET["code"], 'decrypt');
msg='.strtolower($status).'');
} if($author_id > 0)
{
$query = "
$query = " SELECT *
SELECT * FROM lms_author FROM lms_author
ORDER BY author_name ASC WHERE author_id = '$author_id'
"; ";
Library System with SMS Notification for Batangas Christian School 113
<ol class="breadcrumb mt-4 mb-4 bg-light p-2 {
border"> echo '<div class="alert alert-
<li class="breadcrumb-item"><a success alert-dismissible fade show" role="alert">Author Status
href="index.php">Dashboard</a></li> Change to Disable <button type="button" class="btn-close" data-
<li class="breadcrumb-item"><a bs-dismiss="alert" aria-label="Close"></button></div>';
href="author.php">Author Management</a></li> }
<li class="breadcrumb-item active">Edit Author</li>
</ol> if($_GET["msg"] == 'enable')
{
<div class="row"> echo '<div class="alert alert-
<div class="col-md-6"> success alert-dismissible fade show" role="alert">Author Status
<div class="card mb-4"> Change to Enable <button type="button" class="btn-close" data-
<div class="card-header"> bs-dismiss="alert" aria-label="Close"></button></div>';
<i class="fas fa- }
user-edit"></i> Edit Author Details }
</div>
<div class="card-body"> ?>
<form <div class="card mb-4">
method="post"> <div class="card-header">
<div <div class="row">
class="mb-3"> <div class="col
col-md-6">
<label class="form-label">Author Name</label> <i
class="fas fa-table me-1"></i> Author/Publisher Management
<input type="text" name="author_name" </div>
id="author_name" class="form-control" value="<?php echo <div class="col
$author_row['author_name']; ?>" /> col-md-6" align="right">
<a
</div> href="author.php?action=add" class="btn btn-success btn-
<div sm">Add</a>
class="mt-4 mb-0"> </div>
</div>
<input type="hidden" name="author_id" value="<? </div>
php echo $_GET['code']; ?>" /> <div class="card-body">
<table
<input type="submit" name="edit_author" id="datatablesSimple">
class="btn btn-primary" value="Edit" /> <thead>
<tr>
</div>
</form> <th>Author/Publisher Name</th>
</div>
</div> <th>Status</th>
</div>
</div> <th>Created On</th>
Library System with SMS Notification for Batangas Christian School 114
}
if($row['author_status'] == 'Enable') ?>
</tbody>
{ </table>
</div>
$author_status = '<div class="badge bg- </div>
success">Enable</div>';
<script>
}
function delete_data(code, status)
else {
var new_status = 'Enable';
{
if(status == 'Enable')
$author_status = '<div class="badge bg- {
danger">Disable</div>'; new_status =
'Disable';
} }
Library System with SMS Notification for Batangas Christian School 115
$error .= '<li>Book Category is e, :book_isbn_number, :book_no_of_copy, :book_status, :book_a
required</li>'; dded_on)
} ";
else
{ $statement = $connect->prepare($query);
$formdata['book_category'] =
trim($_POST["book_category"]); $statement->execute($data);
}
if(empty($_POST["book_location_rack"])) header('location:book.php?msg=add');
{ }
$error .= '<li>Book Location Rack is }
required</li>';
} if(isset($_POST["edit_book"]))
else {
{ $formdata = array();
$formdata['book_location_rack'] =
trim($_POST["book_location_rack"]); if(empty($_POST["book_name"]))
} {
$error .= '<li>Book Name is
if(empty($_POST["book_isbn_number"])) required</li>';
{ }
$error .= '<li>Book ISBN Number is else
required</li>'; {
} $formdata['book_name'] =
else trim($_POST["book_name"]);
{ }
$formdata['book_isbn_number'] =
trim($_POST["book_isbn_number"]); if(empty($_POST["book_category"]))
} {
if(empty($_POST["book_no_of_copy"])) $error .= '<li>Book Category is
{ required</li>';
$error .= '<li>Book No. of Copy is }
required</li>'; else
} {
else $formdata['book_category'] =
{ trim($_POST["book_category"]);
$formdata['book_no_of_copy'] = }
trim($_POST["book_no_of_copy"]);
} if(empty($_POST["book_author"]))
{
if($error == '') $error .= '<li>Book Author is
{ required</li>';
$data = array( }
':book_category' else
=> $formdata['book_category'], {
':book_author' $formdata['book_author'] =
=> $formdata['book_author'], trim($_POST["book_author"]);
':book_location_rack' => }
$formdata['book_location_rack'],
':book_name' if(empty($_POST["book_location_rack"]))
=> $formdata['book_name'], {
':book_isbn_number' $error .= '<li>Book Location Rack is
=> $formdata['book_isbn_number'], required</li>';
':book_no_of_copy' }
=> $formdata['book_no_of_copy'], else
':book_status' {
=> 'Enable', $formdata['book_location_rack'] =
':book_added_on' trim($_POST["book_location_rack"]);
=> get_date_time($connect) }
);
if(empty($_POST["book_isbn_number"]))
$query = " {
INSERT INTO lms_book $error .= '<li>Book ISBN Number is
(book_category, book_author, book_location_rack, required</li>';
book_name, book_isbn_number, book_no_of_copy, book_status, }
book_added_on) else
VALUES {
(:book_category, :book_author, :book_location_rack, :book_nam
Library System with SMS Notification for Batangas Christian School 116
$formdata['book_isbn_number'] = header('location:book.php?
trim($_POST["book_isbn_number"]); msg='.strtolower($status).'');
} }
if(empty($_POST["book_no_of_copy"]))
{
$error .= '<li>Book No. of Copy is $query = "
required</li>'; SELECT * FROM lms_book
} ORDER BY book_id DESC
else ";
{
$formdata['book_no_of_copy'] = $statement = $connect->prepare($query);
trim($_POST["book_no_of_copy"]);
} $statement->execute();
if($error == '')
{ include '../header.php';
$data = array(
':book_category' ?>
=> $formdata['book_category'],
':book_author' <div class="container-fluid py-4" style="min-height: 700px;">
=> $formdata['book_author'], <h1>Book Management</h1>
':book_location_rack' => <?php
$formdata['book_location_rack'], if(isset($_GET["action"]))
':book_name' {
=> $formdata['book_name'], if($_GET["action"] == 'add')
':book_isbn_number' {
=> $formdata['book_isbn_number'], ?>
':book_no_of_copy'
=> $formdata['book_no_of_copy'], <ol class="breadcrumb mt-4 mb-4 bg-light p-2
':book_updated_on' border">
=> get_date_time($connect), <li class="breadcrumb-item"><a
':book_id' href="index.php">Dashboard</a></li>
=> $_POST["book_id"] <li class="breadcrumb-item"><a href="book.php">Book
); Management</a></li>
$query = "
UPDATE lms_book <li class="breadcrumb-item active">Add Book</li>
SET book_category = :book_category, </ol>
book_author = :book_author,
book_location_rack = :book_location_rack, <?php
book_name = :book_name,
book_isbn_number = :book_isbn_number, if($error != '')
book_no_of_copy = :book_no_of_copy, {
book_updated_on = :book_updated_on echo '<div class="alert alert-danger alert-dismissible
WHERE book_id = :book_id fade show" role="alert"><ul class="list-unstyled">'.$error.'</ul>
"; <button type="button" class="btn-close" data-bs-
dismiss="alert" aria-label="Close"></button></div>';
$statement = $connect->prepare($query); }
$statement->execute($data); ?>
Library System with SMS Notification for Batangas Christian School 117
</div> $book_result =
</div> $connect->query($query);
</div>
<div class="row">
<div class="col-md-6"> foreach($book_result as $book_row)
<div class="mb- {
3"> ?>
<ol class="breadcrumb mt-4 mb-4 bg-light p-2
<label class="form-label">Select Category</label> border">
<li class="breadcrumb-item"><a
<select name="book_category" id="book_category" href="index.php">Dashboard</a></li>
class="form-control"> <li class="breadcrumb-item"><a href="book.php">Book
Management</a></li>
<?php echo fill_category($connect); ?> <li class="breadcrumb-item active">Edit Book</li>
</ol>
</select> <div class="card mb-4">
</div> <div class="card-header">
</div> <i class="fas fa-user-plus"></i> Edit
<div class="col-md-6"> Book Details
<div class="mb- </div>
3"> <div class="card-body">
<form method="post">
<label class="form-label">Select Location <div class="row">
Rack</label> <div class="col-
md-6">
<select name="book_location_rack" <div
id="book_location_rack" class="form-control"> class="mb-3">
Library System with SMS Notification for Batangas Christian School 118
{
<?php echo if($_GET["msg"] == 'add')
fill_location_rack($connect); ?> {
echo '<div class="alert alert-
</select> success alert-dismissible fade show" role="alert">New Book
Added<button type="button" class="btn-close" data-bs-
</div> dismiss="alert" aria-label="Close"></button></div>';
</div> }
</div> if($_GET['msg'] == 'edit')
<div class="row"> {
<div class="col- echo '<div class="alert alert-
md-6"> success alert-dismissible fade show" role="alert">Book Data
<div Edited <button type="button" class="btn-close" data-bs-
class="mb-3"> dismiss="alert" aria-label="Close"></button></div>';
}
<label class="form-label">Book ISBN if($_GET["msg"] == 'disable')
Number</label> {
echo '<div class="alert alert-
<input type="text" name="book_isbn_number" success alert-dismissible fade show" role="alert">Book Status
id="book_isbn_number" class="form-control" value="<?php Change to Disable <button type="button" class="btn-close" data-
echo $book_row['book_isbn_number']; ?>" /> bs-dismiss="alert" aria-label="Close"></button></div>';
}
</div> if($_GET['msg'] == 'enable')
</div> {
<div class="col- echo '<div class="alert alert-
md-6"> success alert-dismissible fade show" role="alert">Book Status
<div Change to Enable <button type="button" class="btn-close" data-
class="mb-3"> bs-dismiss="alert" aria-label="Close"></button></div>';
}
<label class="form-label">No. of Copy</label> }
Library System with SMS Notification for Batangas Christian School 119
<th>ISBN $row["book_id"].'`,
No.</th> `'.$row["book_status"].'`)">Disable</button>';
}
<th>Category</th> else{
<th>Author</th> echo '
<th>Location <a
Rack</th> href="book.php?
<th>No. of action=edit&code='.convert_data($row["book_id"]).'" class="btn
Copy</th> btn-sm btn-primary">Edit</a>
<th>Status</th>
<th>Created <button type="button" name="delete_button"
On</th> class="btn btn-success btn-sm" onclick="delete_data(`'.
<th>Updated $row["book_id"].'`,
On</th> `'.$row["book_status"].'`)">Enable</button>';
<th>Action</th> }?>
</tr> </td>
</tfoot> </tr>
<tbody>
<?php
Library System with SMS Notification for Batangas Christian School 120
if(!is_admin_login()) <th>Book Title</th>
{ <th>Book ISBN #</th>
header('location:../admin_login.php'); <th>No. of Copy</th>
} <th>Book Added ON</th>
<th>Book Upudated ON</th>
?> </tr>";
<?php
if(isset($_GET['submit'])){ while($row = $select_orders-
echo "<body onload=window.print()>"; >fetch(PDO::FETCH_ASSOC)){
} echo "<tr><td>" .
?> htmlspecialchars($row['book_category']) . "</td><td>".
<html> htmlspecialchars($row['book_author']) . "</td><td>".
<head> htmlspecialchars($row['book_name']) . "</td><td>".
<link href="<?php echo base_url(); ?>asset/css/styles.css" htmlspecialchars($row['book_isbn_number']) . "</td><td>".
rel="stylesheet" /> htmlspecialchars($row['book_no_of_copy']) . "</td><td>".
<style> htmlspecialchars($row['book_added_on']) . "</td><td>".
table htmlspecialchars($row['book_updated_on']) . "</td></tr>";
{ }
font-family: arial, sans-serif; echo "</table>";
border-collapse: collapse; }else{
width: 100%; $select_orders= $connect->prepare("SELECT * FROM
} lms_book where book_category=?");
$select_orders->execute([$_GET["category"]]);
td, th
{ echo "<table>
border: 2px solid #808080; <tr>
text-align: left; <th>Book Category</th>
padding: 8px; <th>Author</th>
} <th>Book Title</th>
<th>Book ISBN #</th>
tr:nth-child(even) <th>No. of Copy</th>
{ <th>Book Added ON</th>
background-color: #dddddd; <th>Book Upudated ON</th>
} </tr>";
<?php //bookstatusprints.php
if(isset($_GET['category']))
{ include '../database_connection.php';
if($_GET['category'] == "All")
{ include '../function.php';
$select_orders= $connect->prepare("SELECT * FROM
lms_book"); if(!is_admin_login())
$select_orders->execute(); {
echo "<table> header('location:../admin_login.php');
<tr> }
<th>Book Category</th>
<th>Author</th> include '../header.php';
Library System with SMS Notification for Batangas Christian School 121
</tr>";
?>
<?php while($row = $select_orders-
if(isset($_GET['submit'])){ >fetch(PDO::FETCH_ASSOC)){
echo "<body onload=window.print()>"; echo "<tr><td>" .
} htmlspecialchars($row['book_id']) . "</td><td>" .
htmlspecialchars($row['user_id']) . "</td><td>".
?> htmlspecialchars($row['issue_date_time']) . "</td><td>".
<form action="" method="get"> htmlspecialchars($row['return_date_time']) . "</td><td>".
Status: htmlspecialchars($row['book_fines']) . "</td><td>".
<select name="Status"> htmlspecialchars($row['book_issue_status']) . "</td></tr>";
<option value="All">All</option> }
<?php
echo "</table>";
$categories = $connect->prepare("SELECT }
book_issue_status from lms_issue_book"); }
$categories->execute();
?>
while($res = $categories-
>fetch(PDO::FETCH_ASSOC)){
echo "<option value=". <?php
$res['book_issue_status'].">".$res['book_issue_status']."</
option>"; include '../footer.php';
}
?> ?>
</select>
<input name="submit" value="Print" type="submit"> category.php
</form>
<?php
<?php
if(isset($_GET['status'])) //category.php
{
include '../database_connection.php';
include '../function.php';
if($_GET['status'] == "All"){
if(!is_admin_login())
$select_orders= $connect->prepare("SELECT * {
FROM lms_issue_book"); header('location:../admin_login.php');
$select_orders->execute(); }
Library System with SMS Notification for Batangas Christian School 122
':category_name' $statement = $connect-
=> >prepare($query);
$formdata['category_name'],
':category_status' $statement->execute($data);
=> 'Enable',
':category_create
d_on' => get_date_time($connect) header('location:category.php?msg=edit');
); }
}
$query = " }
INSERT INTO lms_category
(category_name, category_status, category_created_on) if(isset($_GET["action"], $_GET["code"], $_GET["status"]) &&
VALUES $_GET["action"] == 'delete')
(:category_name, :category_status, :category_created_on) {
"; $category_id = $_GET["code"];
$status = $_GET["status"];
$statement = $connect- $data = array(
>prepare($query); ':category_status'
=> $status,
$statement->execute($data); ':category_updated_on' =>
get_date_time($connect),
':category_id'
header('location:category.php?msg=add'); => $category_id
} );
} $query = "
} UPDATE lms_category
SET category_status = :category_status,
if(isset($_POST["edit_category"])) category_updated_on = :category_updated_on
{ WHERE category_id = :category_id
$formdata = array(); ";
Library System with SMS Notification for Batangas Christian School 123
role="alert"><ul class="list-unstyled">'.$error.'</ul> <button
type="button" class="btn-close" data-bs-dismiss="alert" aria-
label="Close"></button></div>'; <form method="post">
}
</form> </form>
</div> </div>
</div> </div>
</div>
</div> </div>
</div>
<?php <?php
} }
else if($_GET["action"] == 'edit') }
{ }
$category_id = }
convert_data($_GET["code"],'decrypt'); else
{
if($category_id > 0)
{ ?>
$query = " <ol class="breadcrumb mt-4 mb-4 bg-light p-2
SELECT * border">
FROM lms_category <li class="breadcrumb-item"><a
WHERE category_id = '$category_id' href="index.php">Dashboard</a></li>
"; <li class="breadcrumb-item
active">Category Management</li>
$category_result </ol>
= $connect->query($query);
<?php
Library System with SMS Notification for Batangas Christian School 124
}
if($row['category_status'] == 'Enable')
if($_GET['msg'] == 'enable')
{ {
echo '<div class="alert alert-
success alert-dismissible fade show" role="alert">Category $category_status = '<div class="badge bg-
Status Change to Enable <button type="button" class="btn- success">Enable</div>';
close" data-bs-dismiss="alert"
aria-label="Close"></button></div>'; }
}
} else
?> {
<table {
id="datatablesSimple">
<thead> echo'
<tr>
<a href="category.php?
<th>Category Name</th> action=edit&code='.convert_data($row["category_id"]).'"
class="btn btn-sm btn-primary">Edit</a>
<th>Status</th>
<button
<th>Created On</th> name="delete_button" class="btn btn-danger btn-sm"
onclick="delete_data(`'.$row["category_id"].'`, `'.
<th>Updated On</th> $row["category_status"].'`)">Disable</button>';
<th>Action</th> }
</tr>
</thead> else
<tfoot>
<tr> {
Library System with SMS Notification for Batangas Christian School 125
<h1
?> class="text-center"><?php echo
</tbody> Count_total_reserve_book_number($connect); ?></h1>
</table> <h5
class="text-center"><i class="fas fa-bookmark me-1"></i>Total
<script> Books Reserved</h5>
</div>
function </div>
delete_data(code, status) </a>
{ </div>
var <div class="col-xl-3 col-md-6">
new_status = 'Enable'; <a href="issue_book.php">
<div class="card bg-warning
text-white mb-4">
if(status == 'Enable') <div class="card-
{ body">
<h1
new_status = 'Disable'; class="text-center"><?php echo
} Count_total_issue_book_number($connect); ?></h1>
<h5
class="text-center"><i class="fas fa-book me-1"></i>Total Books
if(confirm("Are you sure you want to Issued</h5>
"+new_status+" this Category?")) </div>
{ </div>
</a>
window.location.href="category.php? </div>
action=delete&code="+code+"&status="+new_status+""; <div class="col-xl-3 col-md-6">
} <a href="issue_book.php">
} <div class="card bg-danger
text-white mb-4">
</script> <div class="card-
body">
</div> <h1
</div> class="text-center"><?php echo
<?php Count_total_returned_book_number($connect); ?></h1>
} <h5
?> class="text-center"><i class="fas fa-check-circle
me-1"></i>Total Books Returned</h5>
</div> </div>
</div>
<?php </a>
</div>
include '../footer.php'; <div class="col-xl-3 col-md-6">
<a href="issue_book.php">
?> <div class="card bg-success
text-white mb-4">
index.php <div class="card-
body">
<?php <h1
class="text-center"><?php echo
//index.php Count_total_not_returned_book_number($connect); ?></h1>
<h5
include '../database_connection.php'; class="text-center"><i class="fas fa-times-circle me-1"></i>Total
Books Not Return</h5>
include '../function.php'; </div>
</div>
if(!is_admin_login()) </a>
{ </div>
header('location:../admin_login.php'); <div class="col-xl-3 col-md-6">
} <a href="issue_book.php">
<div class="card bg-success
text-white mb-4">
include '../header.php'; <div class="card-
body">
?> <h1
<style type="text/css"> class="text-center"><?php echo get_currency_symbol($connect) .
a{ Count_total_fines_received($connect); ?></h1>
text-decoration:none; <h5
} class="text-center"><i class="fas fa-money-bill me-1"></i>Total
</style> Fines Received</h5>
<div class="container-fluid py-4"> </div>
<h1 class="mb-5">Dashboard</h1> </div>
<div class="row"> </a>
<div class="col-xl-3 col-md-6"> </div>
<a href="issue_book.php"> <div class="col-xl-3 col-md-6">
<div class="card bg-primary <a href="book.php">
text-white mb-4"> <div class="card bg-danger
<div class="card- text-white mb-4">
body"> <div class="card-
body">
Library System with SMS Notification for Batangas Christian School 126
<h1
class="text-center"><?php echo
Count_total_book_number($connect); ?></h1> $sort_date = $connect->prepare("SELECT
<h5 min(issue_date_time) as min,max(issue_date_time) as max FROM
class="text-center"><i class="fas fa-book-open me-1"></i>Total lms_issue_book");
Books</h5> $sort_date->execute();
</div>
</div>
</a>
</div>
<div class="col-xl-3 col-md-6">
<a href="author.php"> if( $url == "https://bcs-library.com/admin/isolate.php"){
<div class="card bg-warning
text-white mb-4">
<div class="card- while($res = $sort_date-
body"> >fetch(PDO::FETCH_ASSOC)){
<h1
class="text-center"><?php echo echo '<script>function print()
Count_total_author_number($connect); ?></h1> {window.open("print.php?from='.$res["min"].'&to='.
<h5 $res["max"].'", "", "width=800, height=800");}</script>';
class="text-center"><i class="fas fa-at me-1"></i>Total echo ' <button onclick="print()">Print</button>';
Authors/Publishers</h5> }
</div> }
</div> else{
</a> echo "aa";
</div> }
<div class="col-xl-3 col-md-6">
<a href="category.php">
<div class="card bg-primary ?>
text-white mb-4">
<div class="card- issue_book.php
body">
<h1 <?php
class="text-center"><?php echo
Count_total_category_number($connect); ?></h1> //issue_book.php
<h5
class="text-center"><i class="fas fa-file me-1"></i>Total include '../database_connection.php';
Categories</h5>
</div> include '../function.php';
</div>
</a> if(!is_admin_login())
</div> {
<div class="col-xl-3 col-md-6"> header('location:../admin_login.php');
<a href="location_rack.php"> }
<div class="card bg-primary
text-white mb-4"> $error = '';
<div class="card-
body"> if(isset($_POST["book_issue_button"]))
<h1 {
class="text-center"><?php echo if(isset($_POST["book_issue_confirmation"]))
Count_total_location_rack_number($connect); ?></h1> {
<h5 $issue_book_id = convert_data($_GET["code"],
class="text-center"><i class="fas fa-map-marker-alt 'decrypt');
me-1"></i>Total Location Racks</h5>
</div> if($issue_book_id > 0)
</div> {
</a> $query = "
</div> SELECT * FROM lms_issue_book
</div> WHERE issue_book_id = '$issue_book_id'
</div> ";
Library System with SMS Notification for Batangas Christian School 127
echo ''.$row1["user_id"].''; ':book_issue_status' => 'Return',
':issue_book_id' => $_POST['issue_book_id']
$book_issue_limit = );
get_book_issue_limit_per_user($connect);
$query = "
$total_book_issue = UPDATE lms_issue_book
get_total_book_issue_per_user($connect, ''.$row1["user_id"].''); SET return_date_time = :return_date_time,
} book_issue_status = :book_issue_status
} WHERE issue_book_id = :issue_book_id
} ";
if($total_book_issue < $book_issue_limit)
{ $statement = $connect->prepare($query);
$total_book_issue_day =
get_total_book_issue_day($connect); $statement->execute($data);
} $book_result = $connect->query($query);
Library System with SMS Notification for Batangas Christian School 128
$form_item = '';
if($error != '')
{ if($status == "Issue")
echo '<div class="alert {
alert-danger">'.$error.'</div>';
} $status = '<span class="badge bg-
warning">Issue</span>';
foreach($book_result as $book_data)
{ $form_item = '
echo ' <label><div><input type="checkbox" required
<h2>Book Details</h2> name="" value="Yes" /> I accept
<table class="table table-bordered"> <a href="terms.php">Terms &
<tr> Conditions</a></div>
<th width="30%">Book ISBN Number</th>
<td width="70%">'. <input type="checkbox"
$book_data["book_isbn_number"].'</td> name="book_return_confirmation" value="Yes" /> I aknowledge
</tr> that I have received Issued Book</label>
<tr>
<th width="30%">Book Title</th> <br />
<td width="70%">'.
$book_data["book_name"].'</td> <div class="mt-4 mb-4">
</tr> <input type="submit"
<tr> name="book_return_button" value="Book Return" class="btn
<th width="30%">Author</th> btn-primary" />
<td width="70%">'. </div>
$book_data["book_author"].'</td> ';
</tr> }
</table>
<br /> if($status == "Reserve")
'; {
}
$status = '<span class="badge bg-
foreach($user_result as $user_data) secondary">Reserve</span>';
{
echo ' $form_item = '
<h2>User Details</h2> <label>
<table class="table table-bordered"> <div><input type="checkbox" required name=""
<tr> value="Yes" /> I accept
<th width="30%">User Unique ID</th> <a href="terms.php">Terms &
<td width="70%">'. Conditions</a></div>
$user_data["user_unique_id"].'</td>
</tr> <input type="checkbox"
<tr> name="book_issue_confirmation" value="Yes" /> I aknowledge
<th width="30%">User First Name</th> that I have issued a Book</label>
<td width="70%">'.
$user_data["user_first_name"].'</td> <br />
</tr
<tr> <div class="mt-4 mb-4">
<th width="30%">User Last Name</th> <input type="submit"
<td width="70%">'. name="book_issue_button" value="Book Issue" class="btn btn-
$user_data["user_last_name"].'</td> primary" />
</tr> </div>
<tr> ';
<th width="30%">User Address</th> }
<td width="70%">'.
$user_data["user_address"].'</td> if($status == 'Not Return')
</tr> {
<tr>
<th width="30%">User Contact No.</th> $status = '<span class="badge bg-danger">Not
<td width="70%">'. Return</span>';
$user_data["user_contact_no"].'</td>
</tr> $form_item = '
<tr> <label>
<th width="30%">User Email Address</th> <div><input type="checkbox" required name=""
<td width="70%">'. value="Yes" /> I accept
$user_data["user_email_address"].'</td> <a href="terms.php">Terms &
</tr> Conditions</a></div>
<tr>
<th width="30%">User Image</th> <div><input type="checkbox"
<td width="70%"><img name="book_return_confirmation" value="Yes" /> I aknowledge
src="'.base_url().'upload/' . $user_data["user_profile"].'" that I have received Issued Book</div>
class="img-thumbnail" width="100" /></td> </label>
</tr>
</table> <br />
<br />
'; <div class="mt-4 mb-4">
} <input type="submit"
name="book_return_button" value="Book Return" class="btn
$status = $row["book_issue_status"]; btn-primary" />
</div>
Library System with SMS Notification for Batangas Christian School 129
'; type="button" class="btn-close" data-bs-dismiss="alert" aria-
} label="Close"></button></div>';
}
if($status == 'Return') }
{ ?>
$status = '<span class="badge bg-
primary">Return</span>'; <div class="card mb-4">
} <div class="card-header">
<div class="row">
echo ' <div class="col col-md-6">
<h2>Issue Book Details</h2> <i class="fas fa-
<table class="table table-bordered"> table me-1"></i> Issue Book Management
<tr> </div>
<th width="30%">Book Issue Date</th> <div class="col col-md-6" align="right">
<td width="70%">'. <?php
$row["issue_date_time"].'</td> if(isset($_SERVER['HTTPS']) &&
</tr> $_SERVER['HTTPS'] === 'on')
<tr> $url = "https://";
<th width="30%">Book Return Date</th> else
<td width="70%">'. $url = "http://";
$row["return_date_time"].'</td> $url.= $_SERVER['HTTP_HOST'];
</tr> $url.= $_SERVER['REQUEST_URI'];
<tr> $sort_date = $connect->prepare("SELECT
<th width="30%">Book Issue Status</th> min(issue_date_time) as min,max(issue_date_time) as max FROM
<td width="70%">'.$status.'</td> lms_issue_book");
</tr> $sort_date->execute();
<tr> if( $url ==
<th width="30%">Total Fines</th> "https://bcs-library.com/admin/issue_book.php")
<td {
width="70%">'.get_currency_symbol($connect).' '. while($res = $sort_date-
$row["book_fines"].'</td> >fetch(PDO::FETCH_ASSOC)){
</tr> echo '<script>function print()
</table> {window.open("print.php?from='.$res["min"].'&to='.
<form method="POST"> $res["max"].'", "", "width=800, height=800");}</script>';
<input type="hidden" name="issue_book_id" echo '
value="'.$issue_book_id.'" /> <button class="btn btn-success btn-sm"
<input type="hidden" name="book_isbn_number" onclick="print()">Print Issued Book</button>
value="'.$row["book_id"].'" /> ';
'.$form_item.' }
</form> }
<br /> else
'; {
} }
} ?>
} </div>
} </div>
else </div>
{ <div class="card-body">
?> <table id="datatablesSimple">
<ol class="breadcrumb mt-4 mb-4 bg-light p-2 border"> <thead>
<li class="breadcrumb-item"><a <tr>
href="index.php">Dashboard</a></li> <th>Book ISBN
<li class="breadcrumb-item active">Issue Book Number</th>
Management</li> <th>User Unique ID</th>
</ol> <th>Issue Date</th>
<?php <th>Expected Return Date</th>
if(isset($_GET['msg'])) <th>Return Date</th>
{ <th>Late Return Fines</th>
if($_GET['msg'] == 'add') <th>Status</th>
{ <th>Action</th>
echo '<div class="alert alert-success alert-dismissible fade </tr>
show" role="alert">New Book Issue Successfully<button </thead>
type="button" class="btn-close" data-bs-dismiss="alert" aria- <tfoot>
label="Close"></button></div>'; <tr>
} <th>Book ISBN
Number</th>
if($_GET["msg"] == 'return') <th>User Unique ID</th>
{ <th>Issue Date</th>
echo ' <th>Expected Return Date</th>
<div class="alert alert-success alert-dismissible fade show" <th>Return Date</th>
role="alert">Issued Book Successfully Return into Library <th>Late Return Fines</th>
<button type="button" class="btn-close" data-bs- <th>Status</th>
dismiss="alert" aria-label="Close"></button></div> <th>Action</th>
'; </tr>
} </tfoot>
if($_GET['msg'] == 'reserve') <tbody>
{ <?php
echo '<div class="alert alert-success alert-dismissible fade if($statement->rowCount() > 0)
show" role="alert">New book reserved successfully<button {
Library System with SMS Notification for Batangas Christian School 130
$one_day_fine =
get_one_day_fines($connect); $status = '<span class="badge bg-
secondary">Reserve</span>';
$currency_symbol = }
get_currency_symbol($connect);
$book_fines = if($status ==
$row["book_fines"]; 'Return')
{
Library System with SMS Notification for Batangas Christian School 131
include '../function.php'; if(empty($_POST["location_rack_name"]))
{
if(!is_admin_login()) $error .= '<li>Location Rack Name is
{ required</li>';
header('location:../admin_login.php'); }
} else
{
$message = ''; $formdata['location_rack_name'] =
trim($_POST["location_rack_name"]);
$error = ''; }
Library System with SMS Notification for Batangas Christian School 132
UPDATE lms_location_rack </div>
SET location_rack_status = :location_rack_status, <div class="mt-4 mb-0">
location_rack_updated_on = :location_rack_updated_on <input type="submit"
WHERE location_rack_id = :location_rack_id name="add_location_rack" class="btn btn-success"
"; value="Add" />
</div>
$statement = $connect->prepare($query); </form>
</div>
$statement->execute($data); </div>
</div>
header('location:location_rack.php? </div>
msg='.strtolower($status).'');
<?php
} }
else if($_GET["action"] == 'edit')
{
$query = " $location_rack_id =
SELECT * FROM lms_location_rack convert_data($_GET["code"], 'decrypt');
ORDER BY location_rack_name ASC
"; if($location_rack_id > 0)
{
$statement = $connect->prepare($query); $query = "
SELECT *
$statement->execute(); FROM lms_location_rack
WHERE location_rack_id = '$location_rack_id'
include '../header.php'; ";
?>
$location_rack_result = $connect->query($query);
<div class="container-fluid py-4" style="min-height: 700px;">
<h1>Location Rack Management</h1>
<?php foreach($location_rack_result as $location_rack_row)
{
if(isset($_GET["action"])) ?>
{
if($_GET["action"] == 'add') <ol class="breadcrumb mt-4 mb-4 bg-light p-2
{ border">
?> <li class="breadcrumb-item"><a
href="index.php">Dashboard</a></li>
<li class="breadcrumb-item"><a
<ol class="breadcrumb mt-4 mb-4 bg-light p-2 href="location_rack.php">Location Rack Management</a></li>
border"> <li class="breadcrumb-item active">Edit Location Rack</li>
<li class="breadcrumb-item"><a </ol>
href="index.php">Dashboard</a></li> <div class="row">
<li class="breadcrumb-item"><a <div class="col-md-6">
href="category.php">Location Rack Management</a></li> <div class="card mb-4">
<li class="breadcrumb-item active">Add <div class="card-header">
Location Rack</li> <i class="fas fa-
</ol> user-edit"></i> Edit Location Rack Details
</div>
<div class="row"> <div class="card-body">
<div class="col-md-6"> <form method="post">
<?php <div class="mb-3">
<label class="form-
if($error != '') label">Location Rack Name</label>
{ <input type="text"
echo ' name="location_rack_name" id="location_rack_name"
<div class="alert class="form-control" value="<?php echo
alert-danger alert-dismissible fade show" role="alert"><ul $location_rack_row["location_rack_name"]; ?>" />
class="list-unstyled">'.$error.'</ul> <button type="button" </div>
class="btn-close" data-bs-dismiss="alert" aria- <div class="mt-4 mb-0">
label="Close"></button></div> <input type="hidden"
'; name="location_rack_id" value="<?php echo $_GET['code']; ?
} >" />
<input type="submit"
?> name="edit_location_rack" class="btn btn-primary"
<div class="card mb-4"> value="Edit" />
<div class="card- </div>
header"> </form>
<i </div>
class="fas fa-user-plus"></i> Add New Location Rack </div>
</div>
<div class="card-body"> </div>
<form method="post"> </div>
<div class="mb-3">
<label class="form- <?php
label">Location Rack Name</label> }
<input type="text" }
name="location_rack_name" id="location_rack_name" }
class="form-control" /> }
Library System with SMS Notification for Batangas Christian School 133
else <th>Updated On</th>
{ <th>Action</th>
</tr>
?> </thead>
<ol class="breadcrumb mt-4 mb-4 bg-light p-2 <tfoot>
border"> <tr>
<li class="breadcrumb-item"><a
href="index.php">Dashboard</a></li> <th>Location Rack Name</th>
<li class="breadcrumb-item <th>Status</th>
active">Location Rack Management</li> <th>Created On</th>
</ol> <th>Updated On</th>
<?php <th>Action</th>
</tr>
if(isset($_GET["msg"])) </tfoot>
{ <tbody>
if($_GET["msg"] == 'add') <?php
{ if($statement-
echo '<div >rowCount() > 0)
class="alert alert-success alert-dismissible fade show" {
role="alert">New Location Rack Added<button type="button"
class="btn-close" data-bs-dismiss="alert" aria- foreach($statement->fetchAll() as $row)
label="Close"></button></div>'; { ?>
} <tr>
if($_GET["msg"] == {
'disable')
{ $location_rack_status = '<div
echo '<div class="badge bg-success">Enable</div>';
class="alert alert-success alert-dismissible fade show"
role="alert">Location Rack Status Change to Disable <button }
type="button" class="btn-close" data-bs-dismiss="alert" aria-
label="Close"></button></div>'; else
}
{
if($_GET["msg"] ==
'enable') $location_rack_status = '<div
{ class="badge bg-danger">Disable</div>';
echo '<div
class="alert alert-success alert-dismissible fade show" }
role="alert">Location Rack Status Change to Enable <button
type="button" class="btn-close" data-bs-dismiss="alert" aria-
label="Close"></button></div>'; echo ''.$location_rack_status.'';?></td>
}
} <td><?php echo ''.
$row["location_rack_created_on"].'';?></td>
?>
<div class="card mb-4"> <td><?php echo ''.
<div class="card-header"> $row["location_rack_updated_on"].'';?></td>
<div class="row">
<div class="col <td><?php
col-md-6">
<i if($row['location_rack_status'] ==
class="fas fa-table me-1"></i> Location Rack Management 'Enable')
</div>
<div class="col {
col-md-6" align="right">
<a echo'
href="location_rack.php?action=add" class="btn btn-success
btn-sm">Add</a> <a href="location_rack.php?
</div> action=edit&code='.convert_data($row["location_rack_id"]).'"
</div> class="btn btn-sm btn-primary">Edit</a>
</div>
<div class="card-body"> <button type="button"
<table name="delete_button" class="btn btn-danger btn-sm"
id="datatablesSimple"> onclick="delete_data(`'.$row["location_rack_id"].'`, `'.
<thead> $row["location_rack_status"].'`)">Disable</button>';
<tr>
}
<th>Location Rack Name</th>
<th>Status</th> else
<th>Created On</th>
Library System with SMS Notification for Batangas Christian School 134
<?php
{
//logout.php
echo'
session_start();
<a href="location_rack.php?
action=edit&code='.convert_data($row["location_rack_id"]).'" session_destroy();
class="btn btn-sm btn-primary">Edit</a>
header('location:../index.php');
<button type="button"
name="delete_button" class="btn btn-success btn-sm" ?>
onclick="delete_data(`'.$row["location_rack_id"].'`, `'.
$row["location_rack_status"].'`)">Enable</button>'; print.php
}?> <?php
</td> //print.php
include '../function.php';
<?php
} if(!is_admin_login())
} {
else header('location:../admin_login.php');
{ }
echo '
<tr> ?>
<td colspan="5" class="text-center">No Data <?php
Found</td> $date_from = date_create($_GET['from']);
</tr> $date_to=date_create($_GET['to']);
'; $date_from=date_format($date_from,"Y-m-d");
} $date_to=date_format($date_to,"Y-m-d");
?> ?>
</tbody> <html>
</table> <head>
</div> <link href="<?php echo base_url(); ?>asset/css/styles.css"
</div> rel="stylesheet" />
<script> <style>
table {
function delete_data(code, status) font-family: arial, sans-serif;
{ border-collapse: collapse;
var new_status = 'Enable'; width: 100%;
}
if(status == 'Enable')
{ td, th {
new_status = border: 2px solid #808080;
'Disable'; text-align: left;
} padding: 8px;
}
if(confirm("Are you sure you
want to "+new_status+" this Category?")) tr:nth-child(even) {
{ background-color: #dddddd;
}
window.location.href = "location_rack.php?
action=delete&code="+code+"&status="+new_status+"" @page
} {
} size:A4;
margin: 0;
</script> }
<?php </style>
</head>
} <body
onmouseover="document.getElementById('header').style.display
?> = 'block'">
<div class="my-4">
</div> <img src="image/logo.png" width="50" height="50"
style="vertical-align:middle" />
<span class="fs-4">Batangas Christian School Library
System</span>
<?php </div>
include '../footer.php'; <?php
if(!isset($_GET["submit"])){
?> echo <<< DTD
<form action="" method="get" id="header">
logout.php From: <input name="from" id="from" type="date" value="<?
=$date_from?>" max="" onclick="chekVal()">
Library System with SMS Notification for Batangas Christian School 135
To: <input name="to" id="to" type="date" value="<? echo '<body onload="setTimeout(function()
=$date_to?>" min="" onclick="chekVal()"> { window.print()}, 0);"
<input name="submit" value="Print" type="submit"> onmouseover="document.getElementById(\'header\').style.displa
</form> y = \'block\'">';
<script>
//input validation script }else if(isset($_GET['to']) && !isset($_GET['from'])){
function chekVal(){ $select_orders= $connect->prepare("SELECT *
document.getElementById('from').setAttribute("max", FROM lms_issue_book where issue_date_time between ?
document.getElementById('to').value); and ?");
document.getElementById('to').setAttribute("min", $select_orders->execute([$to,$to]);
document.getElementById('from').value);
} echo "<table>
</script> <tr>
<th>Book ISBN
DTD; Number</th>
}else{ <th>User Unique ID</th>
echo <<< DTD <th>Issue Date</th>
<form action="" method="get" style="display:none" <th>Return Date</th>
id="header"> <th>Late Return Fines</th>
From: <input name="from" id="from" type="date" value="<? <th>Status</th>
=$date_from?>" max="" onclick="chekVal()"> </tr>";
To: <input name="to" id="to" type="date" value="<?
=$date_to?>" min="" onclick="chekVal()"> while($row = $select_orders-
<input name="submit" value="Print" type="submit"> >fetch(PDO::FETCH_ASSOC)){
</form> echo "<tr><td>" .
htmlspecialchars($row['book_id']) . "</td><td>" .
<script> htmlspecialchars($row['user_id']) . "</td><td>".
//input validation script htmlspecialchars($row['issue_date_time']) . "</td><td>".
function chekVal(){ htmlspecialchars($row['return_date_time']) . "</td><td>".
document.getElementById('from').setAttribute("max", htmlspecialchars($row['book_fines']) . "</td><td>".
document.getElementById('to').value); htmlspecialchars($row['book_issue_status']) . "</td></tr>";
document.getElementById('to').setAttribute("min", }
document.getElementById('from').value);
} echo "</table>";
</script> echo '<body onload="setTimeout(function()
{ window.print()}, 0);"
DTD; onmouseover="document.getElementById(\'header\').style.displa
} y = \'block\'">';
}else{
$from = $_GET['from'];
?> $to = $_GET['to'];
<?php
if(isset($_GET['from']) && isset($_GET['to']) && $select_orders= $connect->prepare("SELECT * FROM
isset($_GET["submit"])) lms_issue_book where issue_date_time between ? and ?");
{ $select_orders->execute([$from,$to]);
$from = $_GET['from'];
$to = $_GET['to']; echo "<table>
<tr>
<th>Book ISBN
if(isset($_GET['from']) && !isset($_GET['to'])){ Number</th>
//sql table to print <th>User Unique ID</th>
$select_orders= $connect->prepare("SELECT * <th>Issue Date</th>
FROM lms_issue_book where issue_date_time between ? <th>Return Date</th>
and ?"); <th>Late Return Fines</th>
$select_orders->execute([$from,$from]); <th>Status</th>
</tr>";
echo "<table>
<tr> while($row = $select_orders-
<th>Book ISBN >fetch(PDO::FETCH_ASSOC)){
Number</th> echo "<tr><td>" .
<th>User Unique ID</th> htmlspecialchars($row['book_id']) . "</td><td>" .
<th>Issue Date</th> htmlspecialchars($row['user_id']) . "</td><td>".
<th>Return Date</th> htmlspecialchars($row['issue_date_time']) . "</td><td>".
<th>Late Return Fines</th> htmlspecialchars($row['return_date_time']) . "</td><td>".
<th>Status</th> htmlspecialchars($row['book_fines']) . "</td><td>".
</tr>"; htmlspecialchars($row['book_issue_status']) . "</td></tr>";
}
while($row = $select_orders-
>fetch(PDO::FETCH_ASSOC)){ echo "</table>";
echo "<tr><td>" . echo '<body onload="setTimeout(function()
htmlspecialchars($row['book_id']) . "</td><td>" . { window.print()}, 0);"
htmlspecialchars($row['user_id']) . "</td><td>". onmouseover="document.getElementById(\'header\').style.displa
htmlspecialchars($row['issue_date_time']) . "</td><td>". y = \'block\'">';
htmlspecialchars($row['return_date_time']) . "</td><td>". }
htmlspecialchars($row['book_fines']) . "</td><td>".
htmlspecialchars($row['book_issue_status']) . "</td></tr>"; }else if(isset($_GET['from']) && isset($_GET['to']) && !
} isset($_GET["submit"])){
$from = $_GET['from'];
echo "</table>"; $to = $_GET['to'];
Library System with SMS Notification for Batangas Christian School 136
{
$select_orders= $connect->prepare("SELECT * FROM $error .= '<li>Invalid Email
lms_issue_book where issue_date_time between ? and ?"); Address</li>';
$select_orders->execute([$from,$to]); }
else
echo "<table> {
<tr> $formdata['admin_email'] =
<th>Book ISBN $_POST['admin_email'];
Number</th> }
<th>User Unique ID</th> }
<th>Issue Date</th>
<th>Return Date</th> if(empty($_POST['admin_password']))
<th>Late Return Fines</th> {
<th>Status</th> $error .= '<li>Password is required</li>';
</tr>"; }
else
while($row = $select_orders- {
>fetch(PDO::FETCH_ASSOC)){ $formdata['admin_password'] =
echo "<tr><td>" . $_POST['admin_password'];
htmlspecialchars($row['book_id']) . "</td><td>" . }
htmlspecialchars($row['user_id']) . "</td><td>".
htmlspecialchars($row['issue_date_time']) . "</td><td>". if($error == '')
htmlspecialchars($row['return_date_time']) . "</td><td>". {
htmlspecialchars($row['book_fines']) . "</td><td>". $admin_id = $_SESSION['admin_id'];
htmlspecialchars($row['book_issue_status']) . "</td></tr>";
} $data = array(
':admin_email'
echo "</table>"; => $formdata['admin_email'],
}else{ ':admin_password' =>
$formdata['admin_password'],
} ':admin_id'
?> => $admin_id
</script> );
<div class="my-4 float-end justify-content-center">
<div class="mb-5"> $query = "
<span class="fs-6">Prepared by</span> UPDATE lms_admin
</div> SET admin_email = :admin_email,
admin_password = :admin_password
<div class="mt-5"> WHERE admin_id = :admin_id
<span class="fs-6">Librarian</span> ";
</div>
</div> $statement = $connect->prepare($query);
</div>
$statement->execute($data);
</body>
</html> $message = 'User Data Edited';
}
profile.php }
Library System with SMS Notification for Batangas Christian School 137
type="button" class="btn-close" data-bs-dismiss="alert" aria- ?>
label="Close"></button></div>';
} setting.php
Library System with SMS Notification for Batangas Christian School 138
?> name="library_contact_number" id="library_contact_number"
class="form-control" value="<?php echo
<div class="container-fluid px-4"> $row['library_contact_number']; ?>" />
<h1 class="mt-4">Setting</h1>
</div>
<ol class="breadcrumb mt-4 mb-4 bg-light p-2
border"> </div>
<li class="breadcrumb-item"><a <div
href="index.php">Dashboard</a></li> class="col-md-6">
<li class="breadcrumb-item
active">Setting</a></li> <div class="mb-3">
</ol>
<?php <label class="form-label">Email
Address</label>
if($message != '')
{ <input type="text"
echo $message; name="library_email_address" id="library_email_address"
} class="form-control" value="<?php echo
$row['library_email_address']; ?>" />
?>
<div class="card mb-4"> </div>
<div class="card-header">
<i class="fas fa-user- </div>
edit"></i> Library Setting </div>
</div> <div
<div class="card-body"> class="row">
<div
<form method="post"> class="col-md-6">
<?php
foreach($result as <div class="mb-3">
$row)
{ <label class="form-label">Book Return
?> Day Limit</label>
<div
class="row"> <input type="number"
<div name="library_total_book_issue_day"
class="col-md-12"> id="library_total_book_issue_day" class="form-control"
value="<?php echo $row['library_total_book_issue_day']; ?>" />
<div class="mb-3">
</div>
<label class="form-label">Library
Name</label> </div>
<div
<input type="text" class="col-md-6">
name="library_name" id="library_name" class="form-control"
value="<?php echo $row['library_name']; ?>" /> <div class="mb-3">
Library System with SMS Notification for Batangas Christian School 139
<div header('location:../admin_login.php');
class="col-md-6"> }
</select>
$query2 = "SELECT * FROM lms_issue_book
</div> INNER JOIN lms_user on lms_user.user_unique_id =
lms_issue_book.user_id
</div> INNER JOIN lms_book on lms_book.book_isbn_number =
</div> lms_issue_book.book_id
<div WHERE DATE(expected_return_date) = '".date("Y-m-d")."'
class="row"> AND sms_notif = '0'
<div AND book_issue_status = 'Issue'";
class="col-md-6"> $stmt = $connect->prepare($query2);
$stmt->execute();
<label class="form-label">Per User Book Issue
Limit</label> if(isset($_POST['send_btn'])){
Library System with SMS Notification for Batangas Christian School 140
echo '<script>alert("You have successfully send notification
message.");window.location="sms.php";</script>'; sms_return.php
} <?php
Library System with SMS Notification for Batangas Christian School 141
// Receive response from server </div>
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); </div>
$output = curl_exec( $ch ); </div>
curl_close ($ch); </div>
} <?php
Library System with SMS Notification for Batangas Christian School 142
.buttons{ <p>1. Only Bona fide students, faculty
display: flex; members, officers of the administration and staff of Batangas
padding: 0 20px; Christian School are allowed to use the library.</p>
justify-content: space-between; <p>2. Students are required to present their
} validated School I.D. upon entering the library.</p>
<p>3. Students must be in complete uniform
.bton{ during class days and in proper school attire during free
height: 50px; days.</p>
width: calc(100% - 6px); <p>4. All materials are for library use only.
border: 0; Photocopying is not allowed.</p>
border-radius: 6px; <h7>Alumni</h7>
font-size: 19px; <p>1. BCS Alumni may use the library
font-weight: 500; resources on Fridays and must present their Alumni I.D Alumni
color: #fff; are given free access to the library for three days per
transition: .3s linear; seminar.</p>
cursor: pointer; <p>2. In excess of the three days period, a
} research fee of fifty pesos(Php 50.00) per day is paid at the
Accounting Office. Official receipt must be presented to the
.red-btn{ Teacher Librarian for recording purposes.</p>
background-color: #d13639; <p>3. All library materials are for library use
} only. Photocopying is not allowed</p>
<h7>2.2 LIBRARY DECORUM</h7>
.btn:hover{ <p>1. Library users MUST observe total silence
opacity: .6; in the Library and its environment at all times</p>
} <p>2. All users are required to observe and
</style> obey library policies including the wearing of the prescribed
</head> school uniform and School I.D at all times.</p>
<body> <p>3. The use of mobiles phones is strictly
<div class="container-fluid py-4" style="min-height: 700px;"> prohibited in the library</p>
<h1>Terms & Condition</h1> <p>4. Food and drinks are not allowed inside
<div class="terms-box"> the library. Food and drinks are hazard to library materials and
<div class="terms-text"> equipment and the spilling of such can create a fall and/or pest
<h5>STUDENT LIBRARY SERVICES MANUAL</h5> problem.</p>
<h5>Greetings Users,</h5> <p>5. Handle library materials with care. Avoid
<h5>Vision</h5> marking, underlining, inserting bulky objects and making “dog
<p>BCS Library: Geared toward quality information ears”. These acts can shorten the life of library materials. Anyone
sources and services committed to continuously support and assist caught marking, defacing, mutilating books or any other library
in the circular and instructional program of the school.</p> material and /or property will expect to pay for the material with
<h5>Mission</h5> the most current edition of the same or as a billed by the school
<p>The Library provides the basic knowledge and skill administration.</p>
needed in acquiring valuable information through the use of <p>6. Books and journals must be properly
library and media resources and its facilities in support of the charged out before they may be brought out of the library for
vision-mission statement of Batangas Christian School.</p> home reading.</p>
<h5>LIBRARY GOALS:</h5> <p>7. Cleanliness and orderliness in the library
<p>1. Provides adequate and functional is a must. Chairs must be pushed back under the table after using
equipment to support and services;</p> and must not be transferred from one place to another. Seats may
<p>2. Train faculty and students in the use and not be reserved</p>
proper care of the facilities;</p> <p>8. Users are not allowed to log in using their
<p>3. Assist students and teachers in the online personal passwords at the search computers. Do not shut down
access of information through the internet;</p> the computer after you through with your search.</p>
<p>4. Encourage reflective interaction, <p>9. The library has assigned a laptop
intellectual discussion and academic exploration; and</p> charging station for library users. All other electric outlets inside
<p>5. Give an excellent, effective, and efficient the library are for official library use only. In no case are the
library services to the academic community.</p> users allowed to use the outlets for charging laptops and mobile
<h5>LIBRARY OBJECTIVES:</h5> phones to avoid any electrical malfunctions.</p>
<h6>1. TEACHING AND LEARNING <p>10. Library users should attend to their
ROLE</h6> valuables in the library. The Library will not be responsible for
<p>To extend and strengthen the teaching and learning any item lost, stolen, or damaged on library premises. Users are
role and educational impact as an academic partner.</p> not allowed to leave their baggage overnight in the library.</p>
<h6>2. COLLECTION</h6> <p>11. Library staff reserves the right to inspect
<p>To establish processes and support structures that bags or other personal property when users enter or leave the
ensure selection, acquisition, preservation, and access to the full premises,</p>
spectrum of research materials. Build the sustainable digital <p>12. Photography and recording are not
infrastructure needed to support expanding modes of research, allowed on library premises without prior permission.</p>
teaching, and scholarly communication.</p> <h7>2.3FINES AND PENALTIES</h7>
<h6>3. STUDENTS EXPERIENCE</h6> <p>2.3.1 Overdue books. Books not returned on the due
<p>To a library experience that is high quality, consistent, date shall have a fine of five pesos (Php5.00) per day excluding
and robust regardless of the users’ access method, or Sundays and Holidays.</p>
objective.</p> <p>2.3.2 Lost books. The borrower should report
<h6>4. USERS SATISFACTION</h6> immediately to the Circulation Librarian when a book is lost,
<p>To suffice the need of resources and information otherwise, he will pay the overdue fines incurred until the day the
whether academic and/or for time bel users efficiently and special loss is reported. The borrower will be given one (1) month
non-academic days.</p> extension to find the book.</p>
<h5>LIBRARY RULES AND REGULATIONS</h5> <p>Lost book(s) shall be paid for based on the current
<h6>1. ACCESSIBILITY</h6> value of the book or replace them with the following conditions:
<p>The library is open Mondays to Fridays from 8:00 am *Same title and author, preferably with the latest copyright*
to 4:00 pm. It is closed on Saturday, Sundays, holidays and special Processing fee which is the 10% of the price of the book*
non- academic days.</p> Reprinted copy is not accepted as replacement of an original
<h6>2. GENERAL POLICES</h6> edition</p>
<h7>2.1 ADMISSION</h7> <p>2.3.3 Damaged/Destroyed library materials</p>
Library System with SMS Notification for Batangas Christian School 143
<p>A library user found irresponsible for the destruction <p>1. The Internet service of the library is intended for
or damage of any library materials will be fined accordingly and Research Purposes</p>
shall be charged based on the current value of the book. Failure to <p>2. Validated school I.D. must be presented
observe these regulations will be reported and may lead to:</p> to the E-Library In-Charge upon entry to the E-Library.</p>
<p>1st offense: Warning/Reprimand</p> <p>3. Usage: One (1) hour free use per user/per
<p>2nd offense: Suspension of borrowing privileges</p> day on a first come, first served basis.</p>
<p>3rd offense: Suspension from library privileges</p> <p>4. 10/hr. will be charged in excess of 1
<p>•Same title and author with the latest copyright is hour.</p>
preferred</p> <p>5. Printing charges: Short size: P2.50/page
<p>•Reprint copy is not accepted as replacement for an Long size: 3.00/page</p>
original edition.</p> </div>
<p>In case of floods, fires and others disasters, a
certification is required either from the bureau of Fire, Barangay <div class="buttons">
Captain, etc. to support the claim.</p> <button class="bton red-btn" onclick="history.go(-
<h7>2.4 LIBRARY CLEARANCE REQUESTS, 1)">Back</button>
ETC.</h7> </div>
<p>One week before the final exam, circulation of books is </div>
cut off in order to give time for the library staff to consolidate all </div>
records of the students and faculty with library are encouraged to </body>
settle their library obligations/ accountabilities before the </html>
clearance signing schedule. Clearances of undergraduate students <?php
are signed in groups either by majors or sections.</p>
<p>The Teacher Librarian signs all student include '../footer.php';
clearances.</p>
<h7>2.5 CONTROL AND SECURITY ?>
MEASURES</h7>
<p>To safeguard library resources, an electronic user.php
surveillance system (CCTV) is installed in strategic areas of the
library. Likewise, ample aisles. emergency exits, fire <?php
extinguishers, and smoke alarm system are installed in the
library.</p> //user.php
<h6>3. CIRCULATION</h6>
<h7>3.1 BORROWING POLICIES FOR HOME USE include '../database_connection.php';
BOOKS </h7>
<p>Circulation Service Hours is from Mondays thru include '../function.php';
Fridays starting at 8:00 in the morning to 3:00 in the
afternoon.</p> if(!is_admin_login())
<p>3.1.1 Students</p> {
<p>a. All bona fide students of BCS may header('location:../admin_login.php');
borrow a maximum of two books for a period of 2-5 days. The }
Validated School I.D. is required in borrowing books and other
library materials.</p> if(isset($_GET["action"], $_GET['status'], $_GET['code']) &&
<p>b. All faculty members are discouraged $_GET["action"] == 'delete')
from requesting another person (student, fellow faculty member, {
etc.) to return borrowed books in their behalf;</p> $user_id = $_GET["code"];
<p>c. Borrowing privileges will be suspended $status = $_GET["status"];
when materials have not been returned after each
semester/grading period;</p> $data = array(
<p>3.1.2 Faculty</p> ':user_status' =>
<p>a. Faculty members and Staff are allowed to borrow $status,
books for home use to a maximum of five (5) books per semester ':user_updated_on' =>
or grading period</p> get_date_time($connect),
<p>b. A faculty needing a material should ':user_id' =>
personally visit the library and sign the book card of the book $user_id
borrowed. In case another person will get the material, a written );
authorization and Employee I.D. must be presented to the
circulation librarian;</p> $query = "
<p>c. Faculty members are discouraged from UPDATE lms_user
borrowing library books for other members of the family or SET user_status = :user_status,
friends;</p> user_updated_on = :user_updated_on
<p>d. Reserve books with only one copy maybe WHERE user_id = :user_id
borrowed by a faculty for seven (7) days after which the book will ";
be recalled by the librarian.</p>
<p>e. Faculty members are required to return $statement = $connect->prepare($query);
the books every semester or to renew if they still need them. To
renew, borrowed books should be brought to the circulation in- $statement->execute($data);
charge to update the record;</p>
<p>f. All faculty members are discouraged header('location:user.php?
from requesting another person (student, fellow faculty member, msg='.strtolower($status).'');
etc.) to return borrowed books in their behalf;</p> }
<p>g. Borrowing privileges will be suspended
when materials have not been returned after each $query = "
semester/grading period;</p> SELECT * FROM lms_user
<h7>3.2. PHOTOCOPY</h7> ORDER BY user_id DESC
<p>Students. faculty, and staff are given a period of one (I) ";
hour to photocopy library materials. All library materials should
be properly charged out. Theses and dissertations are not to be $statement = $connect->prepare($query);
taken out for photocopy. A fine of five pesos (Php5.OO) per hour
is charged for books not returned on time.</p> $statement->execute();
<p>ELECTRONIC LIBRARY (E-LIB.)</p>
Library System with SMS Notification for Batangas Christian School 144
include '../header.php'; <th>Created On</th>
<th>Updated On</th>
?> <th>Action</th>
</tr>
<div class="container-fluid py-4" style="min-height: 700px;"> </tfoot>
<h1>User Management</h1> <tbody>
<ol class="breadcrumb mt-4 mb-4 bg-light p-2 <?php
border"> if($statement->rowCount() >
<li class="breadcrumb-item"><a 0)
href="index.php">Dashboard</a></li> {
<li class="breadcrumb-item active">User Management</li>
</ol> foreach($statement->fetchAll() as $row)
<?php { ?>
<tr>
if(isset($_GET["msg"])) <td><?php echo '<img src="../upload/'.
{ $row["user_profile"].'" class="img-thumbnail" width="75" />';?
if($_GET["msg"] == 'disable') ></td>
{
echo '<div class="alert alert- <td><?php echo ''.$row["user_unique_id"].'';?></td>
success alert-dismissible fade show" role="alert">Category
Status Change to Disable <button type="button" class="btn- <td><?php echo ''.$row["user_first_name"].' '.
close" data-bs-dismiss="alert" $row["user_last_name"].'';?></td>
aria-label="Close"></button></div>';
} <td><?php echo ''.$row["user_email_address"].'';?
></td>
if($_GET["msg"] == 'enable')
{ <td><?php echo
echo ' ''.$row["user_contact_no"].'';?></td>
<div class="alert alert-
success alert-dismissible fade show" role="alert">Category <td><?php echo ''.$row["user_address"].'';?></td>
Status Change to Enable <button type="button" class="btn-
close" data-bs-dismiss="alert" <td><?php echo ''.
aria-label="Close"></button></div> $row["user_verification_status"].'';?></td>
';
} <td><?php
}
$user_status = '';
?>
<div class="card mb-4"> if($row['user_status'] == 'Enable')
<div class="card-header"> {
<div class="row">
<div class="col col-md-6"> $user_status = '<div class="badge bg-
<i class="fas fa- success">Enable</div>';
table me-1"></i> User Management }
</div> else
<div class="col col-md-6" {
align="right">
</div> $user_status = '<div class="badge bg-
</div> danger">Disable</div>';
</div> }
<div class="card-body">
<table id="datatablesSimple"> echo''.$user_status.'';?></td>
<thead>
<tr> <td><?php echo
''.$row["user_created_on"].'';?></td>
<th>Image</th>
<th>User Unique ID</th> <td><?php echo
<th>Name</th> ''.$row["user_updated_on"].'';?></td>
<th>Email Address</th>
<th>Contact No.</th> <td><?php
<th>Address</th>
<th>Email Verified</th> if($row['user_status'] == 'Enable')
<th>Status</th>
<th>Created On</th> {
<th>Updated On</th>
<th>Action</th> echo
</tr>
</thead> '<button type="button" name="delete_button"
<tfoot> class="btn btn-danger btn-sm" onclick="delete_data(`'.
<tr> $row["user_id"].'`, `'.$row["user_status"].'`)">Disable</td>';
<th>Image</th> }
<th>User Unique ID</th>
<th>Name</th> else
<th>Email Address</th>
<th>Contact No.</th> {
<th>Address</th>
<th>Email Verified</th> echo
<th>Status</th>
Library System with SMS Notification for Batangas Christian School 145
'<button type="button" name="delete_button"
class="btn btn-success btn-sm" onclick="delete_data(`'.
$row["user_id"].'`, `'.$row["user_status"].'`)">Enable</td>';
} ?>
</tr>
<?php
}
}
else
{
echo '
<tr>
<td
colspan="12" class="text-center">No Data Found</td>
</tr>
';
}
?>
</tbody>
</table>
</div>
</div>
</div>
<script>
if(status == 'Enable')
{
new_status = 'Disable';
}
</script>
<?php
include '../footer.php';
?>
Library System with SMS Notification for Batangas Christian School 146