"Library Management System": A Project Report On

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 51

A PROJECT REPORT ON

“LIBRARY MANAGEMENT SYSTEM”


( Under Certified internship at National Institute of Electronics and
Information Technology,Government institute inLinux,Apache,Mysql
for 80 hours)

SUBMITTED TO: SUBMITTED BY:

Ms.Mani Tanya-110416024

Supriti-110416029

Kanish-110416083
DECLARATION

We hereby declare that the work done on the dissertation entitled “Library Management
System” has been carried out by us and submitted in partial fulfilment of the requirement for
The Summer internship program.

We also declare that the various contents incorporated in the dissertation have not been
submitted in any form for the award of any other degree of other Institution or University.

Name:Tanya,Supriti,Kanish

Place: Bahadurgarh

Date:27/07/19

PDM College of Engineering

(Computer science Department)


ACKNOWLEDGEMENT

The satisfaction that accompanies that the successful completion of any task would be
incomplete without the mention of people whose ceaseless cooperation made it possible,
whose constant guidance and encouragement crown all efforts with success. It was not only a
technical endeavour but also the initialization of us, (the fresher) into the world of industrial
engineering field.

We are grateful to my project guide Mrs. Geetanjali Tyagi for the guidance, inspiration and
constructive suggestions that helped us in the preparation of this project.

And finally we extent our heartfelt gratitude to our parents and friends whose constant
support made us enthusiastic enough to accomplish the task and finally emerge with a
successful project.
TABLE OF CONTENTS

S.No. Chapters Page No.


1. Introduction
1.1 Working of present system
1.2 Disadvantages of present system
1.3 Characteristic of proposed system
2 Software Requirement Specifications
2.1Introduction
2.2 Overall description
2.3 Specific requirements
2.4 System Features
2.5 Non-Functional requirements
3 Programming languages and development tools used
4 System design
4.1 DFD
4.2 ERD
4.3 Data Structure
5 Feasibility of System
6 Testing
6.1 Introduction
6.2 Checks and validations used
6.3 Test Cases
7 Conclusion and future scope
8 Appendix A: Screen shots
Appendix B: Source Code
Chapter 1
INTRODUCTION

WORKING OF PRESENT SYSTEM

In the present system all work is done on paper. The whole session attendance is stored in
register and at the end of the session the reports are generated. We are not interested in
generating report in the middle of the session or as per the requirement because it takes more
time in calculation. At the end of session the students who don’t have 75% attendance get a
notice.

DISADVANTAGES OF PRESENT WORKING SYSTEM

• Not User Friendly: The existing system is not user friendly because the retrieval of data is
very slow and data is not maintained efficiently.

• Difficulty in report generating: We require more calculations to generate the report so it is


generated at the end of the session. And the student not get a single chance to improve their
attendance

• Manual control: All calculations to generate report is done manually so there is greater
chance of errors.

• Lots of paperwork: Existing system requires lot of paper work. Loss of even a single
register/record led to difficult situation because all the papers are needed to generate the
reports.

• Time consuming: Every work is done manually so we cannot generate report in the middle
of the session or as per the requirement because it is very time consuming.
CHARACTERISTIC OF THE PROPOSED SYSTEM

• User Friendly:- The proposed system is user friendly because the retrieval and storing of
data is fast and data is maintained efficiently. Moreover the graphical user interface is
provided in the proposed system, which provides user to deal with the system very easily.

• Reports are easily generated: reports can be easily generated in the proposed system so
user can generate the report as per the requirement (monthly) or in the middle of the session.
User can give the notice to the students so he/she become regular.

• Very less paper work: The proposed system requires very less paper work. All the data is
feted into the computer immediately and reports can be generated through computers.
Moreover work become very easy because there is no need to keep data on papers.

• Computer operator control: Computer operator control will be there so no chance of


errors. Moreover storing and retrieving of information is easy. So work can be done speedily
and in time.
Chapter 2

SOFTWARE REQUIREMENT SPECIFICATION

1. Introduction
1.1 Problem Definition
The Library management system takes input as users detail including update, return
booksetc. The contents are intendedto be utilized by the engineering class as guidelines for
implementation and testing. At theend of the particular semester the system would provide
with user list which would help the respective librarian to take particular action.
1.2 Product Scope
The student attendance management system will allow the teacher to maintain a record
of attendance of students intheir respectiveclasses from a PC. Also, the system will permit the
teacher incharge tomaintain all the essential details regarding a particular student.
Furthermore, the programprovidesdifferent modes to edit attendance,view statistics, and take
notes on elementspertaining to attendance. The goal is to provide a professor withan easy,
portable solution to attendance record maintenance and attendance statistics.

2. Overall Description
2.1 Product Perspective
The Library Management System isintended to replace themanual model of book
recordkeeping by means of rollcall and paper records. The rollcall and paper records
arereplaced with a single interaction between the librarian and
thelibraryManagementSystem. librarian will beable to view detailsregarding attendance of
individual studentson their PC andquickly maintain attendance records. The system will be
developed in such a way to provide easy addition of enhanced features, which may be desired
in subsequent versions.

2.2 Product Features:


The main feature of the Library Management System is that it keeps a record of allessentials
details of each individual users.At the end of a specified period this system creates a
defaulters list as well as the non-defaulters list.book Percentage of each user in every day
would be displayed in this list. Also,the system allows the admin to view pertinent statistics
on student’s attendance record forthe specified class. Finally, another featureof Attendance
Management System is its flexibility and ease of use.

2.3 User Classes and Characteristics


There are number of faculty members at the university and it is estimated that almost all
faculty members will utilize this system. Professors will have multiple classes and interaction
with system will occur at multiple times throughout the day. The professor should beallowed
to take, edit, and view attendance records at any desirable time.
This provides the backbone of this system.

2.4 Designand Implementation Constraints


Programming is done in PHP and MySQL using Xampp server.

2.5 Assumptions and Dependencies

AS-1: The database mentioned within this Software Requirements Specification document
ispreviously administered with the correct information needed by the Library
ManagementSystem.
AS-2: For Maintain books policies, since librarians do not usually tabulate tardiness, it
isassume a user is either present or absent. The system also assumes that detailregardingeach
user would be made correctly.
DE-1: Class data being usedfor setup and student recognition is dependent on informationin
adatabase administered outside of the capabilities of the Student Attendance
ManagementSystem.
DE-2: Statistics on student attendance is dependent on admin’s consistent utilizationof
thesystem for each class period.

3. Specific Requirements:

3.1 External Interface Requirements

3.1.1 User Interfaces

UI-1: The

library ManagementSystem shall provide details of students in the class toaid intaking roll.
UI-2: These details can be clicked with a mouse in order to view a particular users record.

UI-3: All modifications to the database will be done througha keyboard.

UI-4: The program will provide a pagethat produces current statistics on class attendance

3.1.2 Hardware Interfaces

Server Side and Client Side (localhost)


H1: Operating System: Windows 10.

H2: Processor: Pentium 2.10 GHz.

H3: RAM: 3 GB.

H4:Hard Drive: 10 GB or more

3.1.3 Software Interfaces

SI-1: Library management system

SI-1.1: This software will transmit the users info to a database on a machine.
SI-1.2: The user will be allowed to modify users records at any time.
SI-1.3: If the user forgets to transmit the information, the system will automatically send
itforthem.
SI-2: Database: The Attendance Management System will communicate with the database
toperform thefollowing options.
SI-2.1: To allow a user to enter attendance.
SI-2.2: To allow a user to modify attendance.
SI-2.3: To allow a user to query a system to gain statistics concerning individual and
classattendance.

3.1.4 Communication Interfaces


CI-1: The security of a user must be consistent through the use of passwords.
CI-2: The Attendance Management System will communicate to the database through server.

4. System Features
4.1. Database- Storage
4.2 Description and Priority- Proposed database is intended to store, retrieve, update and
manipulate information related to Library Management which includes:
 Users Login
 Management of books
 Update books
 Return book
4.3 Stimulus/Response Sequences responses for administrator: the admin can login and
logout. On login the system checks for validity of login. If the login and password are valid,
the response to this action is the admin will be able to modify, view, add, deleting.

5. Other Non-functional Requirements

Software product should respond to anticipated error conditions or invalid inputs.


Requirements should be concise, complete, unambiguous, verifiable, and necessary.

5.1 Performance Requirements

PR-1: The program must be able to be run concurrently by multiple users.


PR-2: Transmission of roll data shall occur within 5 seconds.
PR-3: Acknowledgement of datareceived (confirmation) shall be returned within 8 seconds.
PR-4: Queries upon the database shall be performed in less than 5 seconds.
PR-5: The program shall support taking roll for class sizes of up tomaximum class size,
performance must still conform to all performancerequirements.

5.2 Safety Requirements :


System would be protected by a password.
An antivirus has been installed on system for its safety purpose.

5.3 Security Requirements


SR-1: The user shall be permitted to view and edit information in the database foronly his/her
classes.
SR-2: In order to edit database information, the user shall be required toenter apassword.
SR-3: Passwords shall be stored in database and verified upon each session of data or
database modification.

5.4 Software Quality Attributes


Availability-
The system shall be available to all users.
Reliability-
Overall reliability of the system and informationshall beachieved through the process of
database manipulation.
Reusability- The system shall be able to be reused for each new semester.
Robustness-
If no server Connection can be established to receive the information, the user shall be
allowed to enter the data later.
Updatability-
The system shall allow for addition or deletion of student information whileincluding new
semesters.
CHAPTER 3

PROGRAMMING LANGUAGES AND DEVELOPMENT


TOOLS USED

1. PHP : Hypertext Preprocessor (or simply PHP) is a general-purpose programming


language originally designed for web development. It was originally created by Rasmus
Lerdorf in 1994;[6] the PHP reference implementation is now produced by The PHP
Group.[7] PHP originally stood for Personal Home Page,[6] but it now stands for the recursive
initialism PHP: Hypertext Preprocessor.

PHP code may be executed with a command line interface (CLI), embedded
into HTML code, or used in combination with various web template systems, web content
management systems, and web frameworks. PHP code is usually processed by a
PHP interpreterimplemented as a module in a web server or as a Common Gateway
Interface (CGI) executable. The web server outputs the results of the interpreted and executed
PHP code, which may be any type of data, such as generated HTML code or binary image
data. PHP can be used for many programming tasks outside of the web context, such
as standalone graphical applicationsand robotic dronecontrol.

The standard PHP interpreter, powered by the Zend Engine, is free software released under
the PHP License. PHP has been widely ported and can be deployed on most web servers on
almost every operating system and platform, free of charge..

The PHP language evolved without a written formal specification or standard until 2014, with
the original implementation acting as the de facto standard which other implementations
aimed to follow. Since 2014, work has gone on to create a formal PHP specification.
2.XAMPP: it is a free and open source cross-platform web server solution stack package
developed by Apache Friends, consisting mainly of the Apache HTTP Server, MySQL
database, and interpreters for scripts written in the PHP and Perl programming languages.

Xampp Server :

Go to Explorer option from the xampp control panel :


Explorer--> mysql-->bin
Then copy the path as shown in the screen-shot.
Now open cmd (Command Prompt) :Paste the path as shown in the above screen-shot. Here
we are using localhost.
3.MY SQL: it is an open-source relational database management system (RDBMS) ;it was
the world's second most widely used RDBMS, and the most widely used open-source client–
server model RDBMS. It is named after co-founder Michael Widenius's daughter, My. The
SQL acronym stands for Structured Query Language. The MySQL development project has
made its source code available under the terms of the GNU General Public License, as well
as under a variety of proprietary agreements. MySQL was owned and sponsored by a single
for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation. For
proprietary use, several paid editions are available, and offer additional functionality.
DATA FLOW DIAGRAMS

Zero Level Data Flow Diagram of Student Attendance Management System

Student Details
Entry Operator Admin

Student Details Maintains


Entry Attendance

Student
Attendance
Management
System

Student Attendance
Report Generated
First Level Data Flow Diagram of Student Attendance Management System

Student info Entry operator

Report
Student info Generation
entry
Student
Attendance
Report
Student info
Enter enrollno, Management
password System

Login Maintains and


Updates
Attendance

Enter password
Admin
ENTITY RELATIONSHIP DIAGRAM

Semester
NAME T_ID Batch Enrollno

ADMIN ATTENDANCE
Main
-tains

Belongs

COURSE Studies

S.Code
T_ID

Name

STUDENT

Semester

Branch
NAME
Enrollno
CHAPTER 5

FEASIBILITY OF THE SYSTEM

Economically Feasibility: The system being developed is economic with respect to School
or College’s point of view. It is cost effective in the sense that has eliminated the paper work
completely. The system is also time effective because the calculations are automated which
are made at the end of the month or as per the user requirement. The result obtained contains
minimum errors and are highly accurate as the data is required.

Technical feasibility: The technical requirement for the system is economic and it does not
use any other additional Hardware and software.

Behavioural Feasibility: The system working is quite easy to use and learn due to its simple
but attractive interface. User requires no special training for operating the system
CHAPTER 6

TESTING

1.books

2.Book issue
3.membership-grouppermissions

4.membership-users
5.newspaper

6.return_book
7.types

8.users
CHAPTER 7

CONCLUSION AND FUTURE SCOPE

The objective of this project was to implement and view information about Library
Management System. The system developed is able to meet all basic requirements. There is
always room for improvement in any software, however efficient the system may be.

The system is flexible enough for future modifications. The system has been factored into
different modules to make system adapt to further changes. Every effort has been made to
cover all user requirements and make it user friendly.
APPENDIX A

SCREEN SHOTS

1.Login

2.Dashboard
3.Users

 Print
 Usersfilter
4. Books
5.Magazines

6.Newspaper
5.Issued
6.Returned
7.Actions
APPENDIX B

SOURCE CODE

Index.php
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$http = (strtolower($_SERVER['HTTPS']) == 'on' ? 'https:' : 'http:');
$extra = 'pageHome.php';
header("Location: $http//$host$uri/$extra");
exit;
?>
ajax-maintanance-mode.php
<?php
$currDir = dirname(__FILE__);
require("{$currDir}/incCommon.php");

if(!getLoggedAdmin()) exit;

$status = $_REQUEST['status'];
if($status == 'on') maintenance_mode(true);
if($status == 'o<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$http = (strtolower($_SERVER['HTTPS']) == 'on' ? 'https:' : 'http:');
$extra = 'pageHome.php';
header("Location: $http//$host$uri/$extra");
exit;
?>ff') maintenance_mode(false);
getUsers.php
<?php
// This script and data application were generated by AppGini 5.70
// Download AppGini for free from https://bigprof.com/appgini/download/

/*
ajax-callable script that retrieves a list of users for admin, indicating which ones have
access to supplied table.

REQUEST parameters:
===============
t: table name
id: optional, primary key value of current record
p: page number (default = 1)
s: search term
*/

/* return json */
header('Content-type: application/json');

$start_ts = microtime(true);

$curr_dir=dirname(__FILE__);
require("{$curr_dir}/incCommon.php");

// how many results to return per call, in case of json output


$results_per_page = 50;

$id = false;
if(isset($_REQUEST['id'])) $id = iconv('UTF-8', datalist_db_encoding,
$_REQUEST['id']);

$search_term = false;
if(isset($_REQUEST['s'])) $search_term = iconv('UTF-8', datalist_db_encoding,
$_REQUEST['s']);
$page = intval($_REQUEST['p']);
if($page < 1) $page = 1;
$skip = $results_per_page * ($page - 1);

$table_name = $_REQUEST['t'];
if(!in_array($table_name, array_keys(getTableList()))){
/* invalid table */
echo '{"results":[{"id":"","text":"Invalid table"}],"more":false,"elapsed":0}';
exit;
}

/* if id is provided, get owner */


$owner = false;
if($id){
$owner = sqlValue("select memberID from membership_userrecords where
tableName='{$table_name}' and pkValue='" . makeSafe($id) . "'");
}

$prepared_data = array();
$where = "g.name!='{$adminConfig['anonymousGroup']}' and p.allowView>0 ";
if($search_term){
$search_term = makeSafe($search_term);
$where .= "and (u.memberID like '%{$search_term}%' or g.name like
'%{$search_term}%')";
}
$res = sql("select u.memberID, g.name from membership_users u left join
membership_groups g on u.groupID=g.groupID left join membership_grouppermissions p
on g.groupID=p.groupID and p.tableName='{$table_name}' where {$where} order by
g.name, u.memberID limit {$skip}, {$results_per_page}", $eo);
while($row = db_fetch_row($res)){
$prepared_data[] = array('id' => iconv(datalist_db_encoding, 'UTF-8',
$row[0]), 'text' => iconv(datalist_db_encoding, 'UTF-8', "<b>{$row[1]}</b>/{$row[0]}"));
}
echo json_encode(array(
'results' => $prepared_data,
'more' => (@db_num_rows($res) >= $results_per_page),
'elapsed' => round(microtime(true) - $start_ts, 3)
));

incCommon.php
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);

if(!defined('datalist_db_encoding')) define('datalist_db_encoding', 'UTF-8');


if(function_exists('set_magic_quotes_runtime')) @set_magic_quotes_runtime(0);
ob_start();
$currDir = dirname(__FILE__);
include("{$currDir}/../db.php");
include("{$currDir}/../settings-manager.php");

// check if initial setup was performed or not


detect_config();
migrate_config();

$adminConfig = config('adminConfig');
include("{$currDir}/incFunctions.php");
@include_once("{$currDir}/../hooks/__global.php");
include("{$currDir}/../language.php");
include("{$currDir}/../defaultLang.php");
include("{$currDir}/../language-admin.php");

/* trim $_POST, $_GET, $_REQUEST */


if(count($_POST)) $_POST = array_trim($_POST);
if(count($_GET)) $_GET = array_trim($_GET);
if(count($_REQUEST)) $_REQUEST = array_trim($_REQUEST);

// check sessions config


$noPathCheck=True;
$arrPath=explode(';', ini_get('session.save_path'));
$save_path=$arrPath[count($arrPath)-1];
if(!$noPathCheck && !is_dir($save_path)){
?>
<link rel="stylesheet" href="adminStyles.css">
<center>
<div class="alert alert-danger">
Your site is not configured to support sessions correctly. Please edit
your php.ini file and change the value of <i>session.save_path</i> to a valid path.
<br><br>
Current session.save_path value is '<?php echo $save_path; ?>'.
</div>
</center>
<?php
exit;
}
if(session_id()){ session_write_close(); }
$configured_save_handler = @ini_get('session.save_handler');
if($configured_save_handler != 'memcache' && $configured_save_handler !=
'memcached')
@ini_set('session.save_handler', 'files');
@ini_set('session.serialize_handler', 'php');
@ini_set('session.use_cookies', '1');
@ini_set('session.use_only_cookies', '1');
@ini_set('session.cookie_httponly', '1');
@ini_set('session.use_strict_mode', '1');
@session_cache_expire(2);
@session_cache_limiter($_SERVER['REQUEST_METHOD'] == 'POST' ? 'private' :
'nocache');
@session_name('SAIDE');
session_start();
// check if membership system exists
setupMembership();

#####################################################################
###

// do we have an admin log out request?


if(isset($_GET['signOut'])){
logOutUser();
redirect('../index.php?signIn=1');
}

// is there a logged user?


if(!$uname=getLoggedAdmin()){
// is there a user trying to log in?
if(!checkUser($_POST['username'], $_POST['password'])){
// display login form
?><META HTTP-EQUIV="Refresh"
CONTENT="0;url=../index.php?signIn=1"><?php
exit;
}else{
redirect('admin/pageHome.php');
}
}

?>
incFooter.php
</div><!-- /div class="container" -->
</body>
</html>
<?php exit; ?>
incHeader.php
<!DOCTYPE html>
<?php if(!defined('PREPEND_PATH')) define('PREPEND_PATH', '../'); ?>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="<?php echo datalist_db_encoding; ?>">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo ucwords('SAIDE') . ' | ' . $Translation['admin area'];
?><?php echo html_attr(isset($GLOBALS['page_title']) ? " | {$GLOBALS['page_title']}" :
''); ?></title>

<link id="browser_favicon" rel="shortcut icon" href="<?php echo


PREPEND_PATH; ?>resources/table_icons/administrator.png">

<link rel="stylesheet" href="<?php echo PREPEND_PATH;


?>resources/initializr/css/bootstrap.css">
<link rel="stylesheet" href="<?php echo PREPEND_PATH;
?>dynamic.css.php">

<!--[if lt IE 9]>
<script src="<?php echo PREPEND_PATH;
?>resources/initializr/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
<![endif]-->
<script src="<?php echo PREPEND_PATH; ?>resources/jquery/js/jquery-
1.12.4.min.js"></script>
<script>var $j = jQuery.noConflict(); var AppGini = AppGini || {};</script>
<script src="toolTips.js"></script>
<script src="<?php echo PREPEND_PATH;
?>resources/initializr/js/vendor/bootstrap.min.js"></script>
<script src="<?php echo PREPEND_PATH;
?>resources/lightbox/js/prototype.js"></script>
<script src="<?php echo PREPEND_PATH;
?>resources/lightbox/js/scriptaculous.js?load=effects"></script>
<script>

// VALIDATION FUNCTIONS FOR VARIOUS PAGES

function jsValidateEmail(address){
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-
z]{2,4})$/;
if(reg.test(address) == false){
modal_window({ message: '<div class="alert alert-
danger">'+"<?php echo $Translation['invalid email'];?>"+'</div>', title: "<?php echo
$Translation['error'] ; ?>" });
return false;
}else{
return true;
}
}

function jsShowWait(){
return window.confirm("<?php echo $Translation['sending
mails']; ?>");
}

function jsValidateAdminSettings(){
var p1=document.getElementById('adminPassword').value;
var p2=document.getElementById('confirmPassword').value;
if(p1=='' || p1==p2){
return
jsValidateEmail(document.getElementById('senderEmail').value);
}else{
modal_window({ message: '<div class="alert alert-
error">'+"<?php echo $Translation['password mismatch']; ?>"+'</div>', title: "<?php echo
$Translation['error'] ; ?>" });
return false;
}
}

function jsConfirmTransfer(){
var confirmMessage;
var
sg=document.getElementById('sourceGroupID').options[document.getElementById('sourceG
roupID').selectedIndex].text;
var sm=document.getElementById('sourceMemberID').value;
var
dg=document.getElementById('destinationGroupID').options[document.getElementById('des
tinationGroupID').selectedIndex].text;
if(document.getElementById('destinationMemberID')){
var
dm=document.getElementById('destinationMemberID').value;
}
if(document.getElementById('dontMoveMembers')){
var
dmm=document.getElementById('dontMoveMembers').checked;
}
if(document.getElementById('moveMembers')){
var
mm=document.getElementById('moveMembers').checked;
}

//confirm('sg='+sg+'\n'+'sm='+sm+'\n'+'dg='+dg+'\n'+'dm='+dm+'\n'+'mm='+mm+'\n'+
'dmm='+dmm+'\n');

if(dmm && !dm){


modal_window({ message: '<div>'+"<?php echo
$Translation['complete step 4']; ?>"+'</div>', title: "<?php echo $Translation['info']; ?>",
close: function(){ jQuery('#destinationMemberID').focus(); } });
return false;
}

if(mm && sm!='-1'){

confirmMessage = "<?php echo $Translation['sure


move member']; ?>";
confirmMessage =
confirmMessage.replace(/<MEMBER>/, sm).replace(/<OLDGROUP>/,
sg).replace(/<NEWGROUP>/, dg);
return window.confirm(confirmMessage);

}
if((dmm || dm) && sm!='-1'){

confirmMessage = "<?php echo $Translation['sure


move data of member']; ?>";
confirmMessage =
confirmMessage.replace(/<OLDMEMBER>/, sm).replace(/<OLDGROUP>/,
sg).replace(/<NEWMEMBER>/, dm).replace(/<NEWGROUP>/, dg);
return window.confirm(confirmMessage);
}

if(mm){

confirmMessage = "<?php echo $Translation['sure


move all members']; ?>";
confirmMessage =
confirmMessage.replace(/<OLDGROUP>/, sg).replace(/<NEWGROUP>/, dg);
return window.confirm(confirmMessage);
}

if(dmm){
confirmMessage = "<?php echo $Translation['sure
move data of all members']; ?>";
confirmMessage =
confirmMessage.replace(/<OLDGROUP>/, sg).replace(/<MEMBER>/,
dm).replace(/<NEWGROUP>/, dg);
return window.confirm(confirmMessage);
}
}

function showDialog(dialogId){
$$('.dialog-box').invoke('addClassName', 'hidden-block');
$(dialogId).removeClassName('hidden-block');
return false
};

function hideDialogs(){
$$('.dialog-box').invoke('addClassName', 'hidden-block');
return false
};

$j(function(){
$j('input[type=submit],input[type=button]').each(function(){
var label = $j(this).val();
var onclick = $j(this).attr('onclick') || '';
var name = $j(this).attr('name') || '';
var type = $j(this).attr('type');

$j(this).replaceWith('<button class="btn btn-primary"


type="' + type + '" onclick="' + onclick + '" name="' + name + '" value="' + label + '">' +
label + '</button>');
});
});
</script>

<link rel="stylesheet" href="adminStyles.css">

<style>
.dialog-box{
background-color: white;
border: 1px solid silver;
border-radius: 10px 10px 10px 10px;
box-shadow: 0 3px 100px silver;
left: 30%;
padding: 10px;
position: absolute;
top: 20%;
width: 40%;
}
.hidden-block{
display: none;
}
.menu-item-icon{
margin-right: .5em;
}
.rtl .menu-item-icon{
margin-right: inherit !important;
margin-left: .5em;
}
</style>
</head>
<body>
<div class="container theme-bootstrap theme-compact">

<!-- top navbar -->


<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-
toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only"><?php echo $Translation['toggle
navigation'];?></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="pageHome.php"><span
class="text-info"><i class="glyphicon glyphicon-cog"></i> <?php echo $Translation['admin
area']; ?></span></a>
</div>

<div class="collapse navbar-collapse navbar-ex1-collapse">


<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-
toggle="dropdown"><i class="glyphicon glyphicon-globe"></i> <?php echo
$Translation['groups']; ?> <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="pageViewGroups.php"><i
class="glyphicon menu-item-icon text-info glyphicon-eye-open"></i> <?php echo
$Translation['view groups']; ?></a></li>
<li><a href="pageEditGroup.php"><i
class="glyphicon menu-item-icon text-info glyphicon-plus"></i> <?php echo
$Translation['add group'] ; ?></a></li>
<li class="divider"></li>
<li><a
href="pageEditGroup.php?groupID=<?php echo sqlValue("select groupID from
membership_groups where name='" . makeSafe($adminConfig['anonymousGroup']) . "'");
?>"><i class="glyphicon menu-item-icon text-info glyphicon-user"></i> <?php echo
$Translation['edit anonymous permissions'] ; ?></a></li>
</ul>
</li>

<li class="dropdown">
<a href="#" class="dropdown-toggle" data-
toggle="dropdown"><i class="glyphicon glyphicon-user"></i> <?php echo
$Translation['members'] ;?> <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a
href="pageViewMembers.php"><i class="glyphicon menu-item-icon text-info glyphicon-
eye-open"></i> <?php echo $Translation['view members'] ; ?></a></li>
<li><a href="pageEditMember.php"><i
class="glyphicon menu-item-icon text-info glyphicon-plus"></i> <?php echo
$Translation['add member'] ; ?></a></li>
<li class="divider"></li>
<li><a href="pageViewRecords.php"><i
class="glyphicon menu-item-icon text-info glyphicon-th"></i> <?php echo
$Translation["view members' records"]; ?> </a></li>
</ul>
</li>

<li class="dropdown">
<a href="#" class="dropdown-toggle" data-
toggle="dropdown"><i class="glyphicon glyphicon-cog"></i> <?php echo
$Translation["utilities"] ; ?> <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="pageSettings.php"><i
class="glyphicon menu-item-icon text-info glyphicon-cog"></i> <?php echo
$Translation["admin settings"] ; ?></a></li>
<li class="divider"></li>
<li><a
href="pageRebuildThumbnails.php"><i class="glyphicon menu-item-icon text-info
glyphicon-picture"></i> <?php echo $Translation["rebuild thumbnails"] ; ?></a></li>
<li><a href="pageRebuildFields.php"><i
class="glyphicon menu-item-icon text-info glyphicon-refresh"></i> <?php echo
$Translation['rebuild fields'] ; ?></a></li>
<li><a href="pageUploadCSV.php"><i
class="glyphicon menu-item-icon text-info glyphicon-upload"></i> <?php echo
$Translation['import CSV'] ; ?></a></li>
<li><a
href="pageTransferOwnership.php"><i class="glyphicon menu-item-icon text-info
glyphicon-random"></i> <?php echo $Translation['batch transfer'] ; ?></a></li>
<li><a
href="pageMail.php?sendToAll=1"><i class="glyphicon menu-item-icon text-info
glyphicon-envelope"></i> <?php echo $Translation['mail all users'] ; ?></a></li>
<li><a
href="pageBackupRestore.php"><i class="glyphicon menu-item-icon text-info glyphicon-
tasks"></i> <?php echo $Translation['database backups'] ; ?></a></li>
<li class="divider"></li>
<li><a
href="https://forums.appgini.com" target="_blank"><i class="glyphicon menu-item-icon
text-info glyphicon-new-window"></i> <?php echo $Translation['AppGini forum'];
?></a></li>
</ul>
</li>

<?php $plugins = get_plugins(); ?>

<?php if(count($plugins)){ ?>


<li class="dropdown">
<a href="#" class="dropdown-toggle"
data-toggle="dropdown"><i class="glyphicon glyphicon-plus"></i> <?php echo
$Translation["plugins"] ; ?> <b class="caret"></b></a>
<ul class="dropdown-menu">
<?php foreach($plugins as
$plugin){ ?>
<?php
$plugin_icon = '';

if($plugin['glyphicon']) $plugin_icon = "<i class=\"glyphicon glyphicon-


{$plugin['glyphicon']}\"></i> ";
if($plugin['icon'])
$plugin_icon = "<img src=\"{$plugin['admin_path']}/{$plugin['icon']}\"> ";
?>
<li><a target="_blank"
href="<?php echo $plugin['admin_path']; ?>"><?php echo $plugin_icon . $plugin['title'];
?></a></li>
<?php } ?>
</ul>
</li>
<?php } ?>
</ul>

<div class="navbar-right">
<a href="<?php echo PREPEND_PATH; ?>index.php"
class="btn btn-success navbar-btn"><?php echo $Translation["user's area"] ; ?></a>
<a href="<?php echo PREPEND_PATH;
?>index.php?signOut=1" class="btn btn-warning navbar-btn"><i class="glyphicon
glyphicon-log-out"></i> <?php echo $Translation["sign out"] ; ?></a>
</div>
</div>
</nav>
<script>
/* periodically check if user is still signed in */
setInterval(function(){
$j.ajax({
url: '<?php echo PREPEND_PATH;
?>ajax_check_login.php',
success: function(username){
if(!username.length) window.location = '<?php
echo PREPEND_PATH; ?>index.php?signIn=1';
}
});
}, 60000);
</script>

<?php echo handle_maintenance(true); ?>


<div style="height: 80px;"></div>

<?php echo Notification::placeholder(); ?>

<!-- tool tips support -->


<div id="TipLayer" style="visibility:hidden;position:absolute;z-
index:1000;top:-100"></div>
<script src="toolTipData.js"></script>
<!-- /tool tips support -->

<?php
if(!strstr($_SERVER['PHP_SELF'], 'pageSettings.php') &&
$adminConfig['adminPassword'] == md5('admin')){
$noSignup=TRUE;
?>
<div class="alert alert-danger">
<p><strong><?php echo $Translation["attention"] ; ?></strong></p>
<p><?php if($adminConfig['adminUsername'] == 'admin'){
echo $Translation['security risk admin'];
}else{
echo $Translation['security risk'];
} ?></p>
</div>
<?php } ?>

You might also like