Location: PHPKode > projects > SchlAdmin > schladmin-0.7.1/src/help.php
<?php

/******
 * This file is part of the free and open source project SchlAdmin.
 * To retrieve all source code with git: `git clone https://github.com/duncannz/schladmin.git`
 * 
 * SchlAdmin is free software: you can redistribute it and/or modify it under the terms of the 
 * GNU General Public License as published by the Free Software Foundation, either version 3
 * of the License, or (at your option) any later version.
 * 
 * SchlAdmin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License along with SchlAdmin.
 * If not, see <http://www.gnu.org/licenses/gpl.txt>.
 *****/

$mandate_type = '';
require './include/prepend.inc.php';
$descr = __('Help');


/////////DEFINING ALL THE HELP CONTENTS\\\\\\\\\

$content_title['logging_in_out'] = __('Logging in and out');
$contents['logging_in_out'] = __(<<<EOD

<p>To log in, go to the <a href="/">login page</a> and click on the relevant button
(staff or student). Then enter your ID and password, as provided by your administrator.
Press enter, or click "Log In" and you will be taken to a screen with links to all the tools available
to your account.</p>

<hr>

<p>If you want to quickly access SchlAdmin, bookmark it in your browser.
You can normally do this by pressing Ctrl+D while viewing the login page.</p>

EOD
);

$content_title['keyboard_shortcuts'] = __('Keyboard Shortcuts');
$contents['keyboard_shortcuts'] = __(<<<EOD

<p>Nearly all links in SchlAdmin have a keyboard shortcut assigned to them.
To tell if a link has one, look for one letter inside the link which is in bold. The letter in bold is
the letter that is in bold is the shortcut for that link. Simply press on your keyboard the bolded letter
to quickly follow that link.</p>

There are also the following universal shortcuts:
<ul>
	<li><b>ESC</b> (top right of keyboard) - unfocus any text box (so you can use other shortcuts).
		Also used to exit popups (such as the one you are viewing this in).</li>
	<li><b>Tab</b> - toggle through links and inputs on the current page. Press enter to follow the focused link.</li>
	<li><b>F1</b> - help</li>
	<li><b>F2</b> - home (ie. your main menu)</li>
	<li><b>F3</b> - search the current page for a given term</li>
	<li><b>F4</b> - logout</li>
</ul>

<p>Note: if you are typing in a text box, shortcuts won't work (so that they don't interfere with your typing).
Click off the text box, or press the ESC key, to be able to use shortcuts.</p>

EOD
);

$content_title['account'] = __('Managing your account');
$contents['account'] = __(<<<EOD

<p>To change your password, click the Change Password link (staff and students).
If you want to change other details, such as your name or class,
please contact an administrator.</p>

EOD
);

$content_title['gravatars'] = __('Managing your user image');
$contents['gravatars'] = __(<<<EOD

<p>SchlAdmin uses a system for user images called <em>Gravatars</em>.
For more information, or to add a user image, visit <a href="http://en.gravatar.com">gravatar.com</a>.
You can quickly get to this page by clicking your user image, at the top right of your account's main menu.</p>

<hr>

<p>Note that Gravatars in SchlAdmin is an optional feature, and is disabled by default. Ask your administrator to enable it.</p>

<hr>

<p>If you have setup a Gravatar already, but it is not showing up, please contact an administrator,
and ask them to check that the email address SchlAdmin has for you is the same one that you signed up to Gravatar with.</p>

EOD
);

$content_title['attendance'] = __('Staff: attendance');
$contents['attendance'] = __(<<<EOD

<p>You can mark attendance for any of your classes, as set up by your administrator,
simply by logging in and clicking the "Attendance Entry" link.</p>

<p>Choose the date and the class. The date defaults to that of today.</p>

<hr>

<p>You will then be given a table with student names on the left and a selection of attendance marks on the right.
The attendance marks are:</p>
<ul>
	<li><b>--</b>: no entry for that student on that date (default)</li
	<li><b>P</b>: present in class</li>
	<li><b>J</b>: justified absence</li>
	<li><b>U</b>: unjustified absence</li>
</ul>

<p>Click on an attendance mark for any amount of students, and press Submit at the bottom of the table
to submit your entry to SchlAdmin.</p>

EOD
);

$content_title['exams'] = __('Staff: exams');
$contents['exams'] = __(<<<EOD

<p>You can manage exams for any of <strong>your</strong> classes.</p>

<hr>

<p>To create an exam, click the Create Exam link. Enter a name for the exam (eg. "End of Year Exam"),
and choose the class for the exam to be for.</p>

<hr>

<p>To mark an exam, click the Mark Exam link. Choose the exam (it must have been created already),
and click Mark. You can then enter a grade for each student ("Excellence", "B+", etc), and comments.
(Regarding that student's work relating to the exam, see "Student Records" for general records).</p>

<hr>

<p>You should barely ever need to delete an exam. However, if you have accidentaly created an exam you do not
need, you can delete it by clicking the Delete an Exam link. Choose the exam you want to delete, and click Submit.</p>


<p style="color:red;"><strong>CAUTION:</strong> once you have deleted an exam, there is no way to recover it,
or any of it's marks.</p>

EOD
);

$content_title['student_records'] = __('Staff: student records');
$contents['student_records'] = __(<<<EOD

<p>You can enter two types of general records for a student: comments and discipline.
To modify this, you need to know the Student ID of the given student.</p>

<p>Click either the "Add to a student's comments" link, or the "Add to a student's discipline record" link,
depending on what record you want to modify. Enter the student's ID, and press Go.</p>

<hr>

<p>You will see a text box, and, depending on whether the student has already had a previous record of that type,
their existing record inside the text box. If there is an existing record, make sure not to remove any of it,
instead add to the end of it. Press Submit to submit your changes.</p>

EOD
);

$content_title['attendance_timetable_view'] = __('Students: viewing timetable and attendance');
$contents['attendance_timetable_view'] = __(<<<EOD

<p>You can view your timetable by clicking on the View Timetable link.
If you see a timeslot which is simply called, for example, "Slot 2",
it means that there is no class assigned to that timeslot.</p>

<p>You can view your attendance entries by clicking on the View Attendance link.
All your attendance entries will then appear, with the most recent at the top.</p>

EOD
);

$content_title['record_view'] = __('Students: viewing discipline and comments records');
$contents['record_view'] = __(<<<EOD

<p>To view your discipline or comment records, as set by staff,
click the View Discipline or View Comments links.</p>

<p>If you have any queries regarding these records, please contact a teacher.</p>

EOD
);

$content_title['managing_users'] = __('Administration: Managing Staff and Students');
$contents['managing_users'] = __(<<<EOD

<p>To view all the students and staff, click the View Students and Staff link.
You can click on the icons on the left of an entry to quickly modify or delete them.</p>

<hr>

<p>To modify a staff or student, click either the Modify a Student or Modify a Staff Member link.
Enter the ID of the user (this will already be filled in for you if you followed a link from the
"View All Students and Staff" page), and press Go. The values that appear in the form are the existing values.
You can then change what you want, and press Submit to save the new values.</p>

<hr>

<p>To add a staff or student, click Add a new Student, or Add a new Staff Member.
Enter the initial information about the user (this can be changed later),
and press Submit. The ID of the new student/staff member will be shown.</p>

<hr>

<p>To remove a staff or student, click Remove a Student, or Remove a Staff Member.
Enter the ID of the student/staff and press Go. Note that this cannot be undone!</p>

<p>If you try to remove a staff member who is in use by a timetable entry, you will be told what timetable entries
must be edited before you can delete the staff member.</p>

<hr>

<p>When modifying or creating a student, you must enter a password and a class.
It is recommended that you enter a first and last name as well.
For a staff, the only required field is the password.</p>

EOD
);

$content_title['managing_classes'] = __('Administration: Managing Classes');
$contents['managing_classes'] = __(<<<EOD

<p>A "class" is simply a group that any amount of students can belong to.</p>

<hr>

<p>To create a class, click Create a class and give it a name (max. 5 characters, should be a code such as "9FOO").
Likewise, you can modify the name of a class by clicking Modify a class, choosing the class, and entering a new name.</p>

<hr>

<p>There are two ways to add students to a class.</p>

<ol>
	<li>Show a list of students in an entire class, and edit the class' members in bulk.</li>
	<li>Change an individual student's class</li>
</ol>

<p><strong>Method 1:</strong> Click Modify a class' members, and choose the class you want to modify the members of.
(Alternatively, you can follow the instructions at the bottom of the page if you don't know the name of the class,
but know the ID of one of the students in it). Press Go, and you will be given a list of all the students in the class.
Use the dropdown menu beside any student to change their class. When you are done, click Submit at the bottom.</p>

<p><strong>Method 2:</strong> Follow the instructions given in "Managing Staff and Students" to modify a student's details.
Change the class on that screen.</p>

<hr>

<p>To delete a class, you must empty it first. <strong>Method 1</strong> of modifying a class' members, above,
is the best way to do this. Simply make sure that you move all the students to a new class.</p>

<p>Then click the Remove an empty class link, and choose the class. Press Delete to remove the class.</p>

<p>If the class you tried to remove is in use by a timetable entry, you will be told what timetable entries
must be edited before you can delete the class.</p>

EOD
);

$content_title['managing_subjects'] = __('Administration: Managing Subjects');
$contents['managing_subjects'] = __(<<<EOD

<p>Subjects do nothing by themselves, however they can be used to identify timetable entries
(see Managing Timetable Entries). Subjects are not exclusive to a class, they can be used as the name for any class,
as that is all they are - a name. Examples: "Maths", "Chemistry", "Geography".</p>

<hr>

<p>To add a subject, click Create a subject. Enter a name and press Go.</p>

<hr>

<p>To modify a subject's name, click Modify a Subject. Choose the existing subject's name,
press Go, and enter a new name.</p>

<hr>

<p>To remove a subject, click Remove a Subject. Choose it's name, and press Remove.</p>

<p>If the subject you tried to remove is in use by a timetable entry, you will be told what timetable entries
must be edited before you can delete the subject.</p>

EOD
);

$content_title['managing_timetable'] = __('Administration: Managing Timetable Entries');
$contents['managing_timetable'] = __(<<<EOD

<p>Timetable entries are "teacher-class-subject-timeslot pairings".
For example, the pairing "John Foobar - 9FOO - Algebra - 7" would cause
the members of the class 9FOO to be taught Algebra by John Foobar in Timeslot 7 (see below)</p>

<hr>

<p>To see all timetable entries, or to see the layout of timeslots, click on View all timetable entries.
All timetable entries are shown at the top, and the timetable structure at the bottom.
Hover over any timeslot, at the top or bottom, to highlight all other entries, at the top or bottom, using that timeslot.</p>

<hr>

<p>To add a timeslot entry, click Add a timeslot entry. Choose the teacher, class and subject name, and press Next step.
There you will also be shown a reference of all timeslots, and you will be asked to choose a timeslot for the entry.</p>

<hr>

<p>To modify any aspect of a timetable entry, click Modify a timetable entry. You can change the teacher, class, and subject name.
In the second step, you can do any of the following to change the class' timeslot:</p>

<ul>
	<li>Keep the current timeslot (if you have already made the modifications you want to make)</li>
	<li>Swap timeslots with another class</li>
	<li>Choose an available timeslot for that class</li>
</ul>

<p>Follow the instructions given on the page to change the timeslot using one of the above methods.</p>

<hr>

<p>If you want to delete a timeslot, and know it's Timeslot ID, click the Delete a timetable entry link,
and choose the entry from the dropdown menu.</p>

<p>If you want to delete a timeslot, and don't know it's Timeslot ID, use the red delete button on the
left of the entry on the List all timetable entries page</p>

EOD
);


////////THE ACTUAL PAGE STUFF\\\\\\\\


//if some raw help content was requested via AJAX, echo that out, and abort here
if( !empty( $_GET['rawcontent'] ) )
{
	echo "<h2>" , $content_title[ $_GET['rawcontent'] ] , "</h2>"
	, $contents[ $_GET['rawcontent'] ];
	
	die;
}

?>

<!DOCTYPE html>
<html>
<head>

<?php require './include/head.inc.php' ?>

<style>
#popup_wrapper{
	display:none;
	
	position:absolute;
	width:50%;
	height:50%;
	top:25%;
	left:25%;
	z-index:1000;
	
	background:white;
	padding:4px;
	border:2px solid black;
	
	border-radius:3px;
	box-shadow:3px 2px 3px rgba(0, 0, 255, 0.5);
}
#popup_content{
	/*make a scrollbar appear when neccessary*/
	overflow-y:auto;
	max-height:100%;
}
#close_popup{
	cursor:pointer;
	float:right;
}
</style>

<script>
$(document).ready(function(){
	
	//elements with a data-help attribute
	$("[data-help]").click(function(){
		
		//populate the popup wrapper with the relevant help, loaded by AJAX
		$("#popup_content").load( "?rawcontent=" + $(this).attr("data-help") );
		
		//show the popup
		$("#popup_wrapper").show(400);
		
		//so the link to the help contents doesn't run
		return false;
		
	});
	
	$("#close_popup").click(function(){
		
		$("#popup_wrapper").hide(400);
		
	});
	
});
</script>

</head>

<body>

<?php require './include/header.inc.php' ?>

<div id="main" class="bestyled">


<div id="popup_wrapper">
	<span id="close_popup" class="icon cancel" data-key="esc"></span>
	<div id="popup_content"></div>
</div>


<h1><?=__('Help using SchlAdmin')?></h1>

<h3><?=__('General')?></h3>
<ul>
	<li><a href="javascript:void(0)" data-help="logging_in_out" data-key="g"><?=__('Lo<b>g</b>ging in/out')?></a></li>
	<li><a href="javascript:void(0)" data-help="keyboard_shortcuts" data-key="s"><?=__('Keyboard <b>s</b>hortcuts')?></a></li>
	<li><a href="javascript:void(0)" data-help="account" data-key="t"><?=__('Accoun<b>t</b> Management')?></a></li>
	<li><a href="javascript:void(0)" data-help="gravatars" data-key="v"><?=__('User images / Gra<b>v</b>atars')?></a></li>
</ul>

<h3><?=__('For staff')?></h3>
<ul>
	<li><a href="javascript:void(0)" data-help="attendance" data-key="a"><?=__('<b>A</b>ttendance')?></a></li>
	<li><a href="javascript:void(0)" data-help="exams" data-key="e"><?=__('Managing and marking <b>e</b>xams')?></a></li>
	<li><a href="javascript:void(0)" data-help="student_records" data-key="r"><?=__('Student <b>r</b>ecords')?></a></li>
</ul>

<h3><?=__('For students')?></h3>
<ul>
	<li><a href="javascript:void(0)" data-help="attendance_timetable_view" data-key="y"><?=__('Viewing <b>y</b>our attendance and timetable')?></a></li>
	<li><a href="javascript:void(0)" data-help="record_view" data-key="w"><?=__('Vie<b>w</b>ing your records')?></a></li>
</ul>

<h3><?=__('For administrators')?></h3>
<ul>
	<li><a href="javascript:void(0)" data-help="managing_users" data-key="n"><?=__('Managing students a<b>n</b>d staff')?></a></li>
	<li><a href="javascript:void(0)" data-help="managing_classes" data-key="c"><?=__('Managing <b>c</b>lasses')?></a></li>
	<li><a href="javascript:void(0)" data-help="managing_subjects" data-key="u"><?=__('Managing s<b>u</b>bjects')?></a></li>
	<li><a href="javascript:void(0)" data-help="managing_timetable" data-key="i"><?=__('T<b>i</b>metables')?></a></li>
</ul>


<div class="gap"></div>

<?php

if( !empty($_SESSION['logged_in']) ) echo "<a href='/' data-key='b'>" , __('<b>B</b>ack to your main page') , "</a>";
else echo "<a href='/' data-key='b'>" , __('<b>B</b>ack to login page') , "</a>";

?>


</div>

</body>
</html>
Return current item: SchlAdmin