Commit 2a5b09ef authored by François Jacquet's avatar François Jacquet
Browse files

Welcome to GitHub!

First commit on GitHub for RosarioSIS
parents
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
*.sln merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
#################
## Eclipse
#################
*.pydevproject
.project
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# CDT-specific
.cproject
# PDT-specific
.buildpath
#################
## Visual Studio
#################
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.sln.docstates
# Build results
[Dd]ebug/
[Rr]elease/
x64/
build/
[Bb]in/
[Oo]bj/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.scc
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
*.ncrunch*
.*crunch*.local.xml
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.Publish.xml
*.pubxml
# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/
# Windows Azure Build Output
csx
*.build.csdef
# Windows Store app package directory
AppPackages/
# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
App_Data/*.mdf
App_Data/*.ldf
#############
## Windows detritus
#############
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Mac crap
.DS_Store
#############
## Python
#############
*.py[co]
# Packages
*.egg
*.egg-info
dist/
build/
eggs/
parts/
var/
sdist/
develop-eggs/
.installed.cfg
# Installer logs
pip-log.txt
# Unit test / coverage reports
.coverage
.tox
#Translations
*.mo
#Mr Developer
.mr.developer.cfg
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
<Files config.inc.php>
Order Deny,Allow
Deny from all
</Files>
<Files config.dist.php>
Order Deny,Allow
Deny from all
</Files>
\ No newline at end of file
<?php
error_reporting(1);
include "./Warehouse.php";
if($_REQUEST['modfunc']=='print')
{
//modif Francois: call PDFStart to generate Print PDF
$orientation = 'portrait';
if($_REQUEST['expanded_view'] || $_SESSION['orientation'] == 'landscape')
{
$orientation = 'landscape';
unset($_SESSION['orientation']);
}
$print_data = PDFStart('--webpage --quiet -t pdf14 --jpeg --no-links --'.$orientation.' --footer t --header . --left 0.5in --top 0.5in');
$_REQUEST = $_SESSION['_REQUEST_vars'];
$_REQUEST['_ROSARIO_PDF'] = true;
if(strpos($_REQUEST['modname'],'?')!==false)
$modname = substr($_REQUEST['modname'],0,strpos($_REQUEST['modname'],'?'));
else
$modname = $_REQUEST['modname'];
if(!$htmldocPath)
$_ROSARIO['allow_edit'] = false;
//ob_start();
//modif Francois: remove languages/English/
// include('languages/English/'.$modname);
include('modules/'.$modname);
//modif Francois: call PDFStop to generate Print PDF
PDFStop($print_data);
}
else
{
//modif Francois: fix bug Internet Explorer Quirks Mode, add DOCTYPE
?>
<!DOCTYPE html>
<HTML lang="<?php echo substr($locale,0,2); ?>" <?php echo (substr($locale,0,2)=='he' || substr($locale,0,2)=='ar'?' dir="RTL"':''); ?>>
<HEAD><TITLE><?php echo Config('TITLE'); ?></TITLE>
<meta charset="UTF-8" />
<script type="text/javascript">
size = 30;
function expandFrame(){
if(size==30){
parent.document.getElementById('mainframeset').rows="*,170";
size = 170;
}else{
parent.document.getElementById('mainframeset').rows="*,30";
size = 30;
}
}
</SCRIPT>
<link rel="stylesheet" type="text/css" href="assets/themes/<?php echo Preferences('THEME'); ?>/stylesheet.css">
</HEAD>
<BODY id="BottomBody" class="bgcolor">
<TABLE style="margin:0 auto;"><TR>
<?php
//modif Francois: icones
if($_SESSION['List_PHP_SELF'] && (User('PROFILE')=='admin' || User('PROFILE')=='teacher')) {
switch ($_SESSION['Back_PHP_SELF']) {
case 'student': $back_text = _('Back to Student List'); break;
case 'staff': $back_text = _('Back to User List'); break;
case 'course': $back_text = _('Back to Course List'); break;
default: $back_text = sprintf(_('Back to %s List'),$_SESSION['Back_PHP_SELF']);
}
echo '<TD style="width:24px;"><A HREF="'.$_SESSION['List_PHP_SELF'].'&bottom_back=true" target="body"><IMG SRC="assets/back.png" height="24"></A></TD><TD class="BottomButton"><A HREF="'.$_SESSION['List_PHP_SELF'].'&bottom_back=true" target="body">'.$back_text.'</A></TD>';
}
if($_SESSION['Search_PHP_SELF'] && (User('PROFILE')=='admin' || User('PROFILE')=='teacher')) {
switch ($_SESSION['Back_PHP_SELF']) {
case 'student': $back_text = _('Back to Student Search'); break;
case 'staff': $back_text = _('Back to User Search'); break;
case 'course': $back_text = _('Back to Course Search'); break;
default: $back_text = sprintf(_('Back to %s Search'),$_SESSION['Back_PHP_SELF']);
}
echo '<TD style="width:24px;"><A HREF="'.$_SESSION['Search_PHP_SELF'].'&bottom_back=true" target="body"><IMG SRC="assets/back.png" height="24" /></A></TD><TD class="BottomButton"><A HREF="'.$_SESSION['Search_PHP_SELF'].'&bottom_back=true" target="body">'.$back_text.'</A></TD>';
}
echo '<TD><A HREF="Bottom.php?modfunc=print" target="body"><IMG SRC="assets/print.png" height="24" /></A></TD><TD class="BottomButton"><A HREF="Bottom.php?modfunc=print" target="body">'._('Print').'</A></TD>';
echo '<TD><A HREF="#" onclick="expandFrame();return false;"><IMG SRC="assets/help.png" height="24" /></A></TD><TD class="BottomButton"><A HREF="#" onclick="expandFrame();return false;">'._('Help').'</A></TD>';
echo '<TD><A HREF="index.php?modfunc=logout" target="_top"><IMG SRC="assets/logout.png" height="24" /></A></TD><TD class="BottomButton"><A HREF="index.php?modfunc=logout" target="_top">'._('Logout').'</A></TD></TR></TABLE>';
if (file_exists('Help_'.substr($locale, 0, 2).'.php')) //modif Francois: translated help
include 'Help_'.substr($locale, 0, 2).'.php';
else
include 'Help.php';
// include 'Menu.php';
$profile = User('PROFILE');
echo '<DIV id="BottomHelp">';
/* if($_REQUEST['modcat'])
{
echo '<b>'.str_replace('_',' ',$_REQUEST['modcat']);
echo ' : '.$_ROSARIO['Menu'][$_REQUEST['modcat']][$_REQUEST['modname']];
echo '</b>';
}
else*/
//modif Francois: add help in a popup
//echo '<b>'._('Welcome to Rosario Help').'</b>';
if($help[$_REQUEST['modname']])
{
if($student==true)
$help[$_REQUEST['modname']] = str_replace('your child','yourself',str_replace('your child\'s','your',$help[$_REQUEST['modname']]));
echo $help[$_REQUEST['modname']];
}
else
echo $help['default'];
echo '</DIV>';
echo '</BODY>';
echo '</HTML>';
}
?>
\ No newline at end of file
Rosario Student Information System - CHANGES
Changes in 1.0
---------------
- forked Centre SIS v.3.0.1
- added theme WPadmin
- added CSS tags for the new theme
- delete old themes
- replaced modules icon set
- added <label> on checkbox and radio
- added favicon
- removed Common Name
- added ability to add Student/User Photo directly from the Student/User screen via jQueryForm
- upgraded PostgreSQL functions now compatible with PostgreSQL v.9
- removed LO
- added Discpline Module
- added Student Billing Module
- added gettext on every string in RosarioSIS
- replaced date() by strftime() for dates in locale
- added custom currency
- delete folder vendor/
- delete folder language/
- delete functions/DrawPNG.fnc.php
- delete functions/DrawBlock.fnc.php
- removed function DrawRoundedRect()
- moved function ReindexResults() to ListOutput.fnc.php and delete functions/ReindexResults.fnc.php
- delete functions/StripChars.fnc.php
- delete modules/Grades/ReportCards_gpa.php
- delete labels_test.php
- delete Top.php
- delete modules/Attendance/config.inc.php
- delete modules/misc/Directory.php
- moved static Javascript code in Warehouse.php to assets/js/warehouse.js
- moved static Javascript code in Side.php to assets/js/side.js
- replaced PHP/SWF Charts by jqPlot
- replaced htmldoc by wkhtmltopdf
- replaced HTML 3 code by HTML 5 code
- added .htaccess for security
- added password encryption
- added Grades/GradebookBreakdown.php for teachers
- added Custom Module SQL
- added event repeat for the calendar
- added School uses a Rotation of Numbered Days option
- added possibility to attach a file to Portal Notes
- added possibility to add more than one period to a Course Period
- added PostgreSQL Database Backup
- added Students/StudentBreakdown.php
- added Scheduling/MasterScheduleReport.php
- added TinyMCE to letters
- added School Year over two calendar years option
- added School Configuration
- changed short names to full names (School Periods & Attendance Codes) in Grades/ReportCards.php & Grades/FinalGrades.php
- fixed errors Deprecated: Functions ereg_replace(), eregi_replace(), ereg(),
- fixed errors various PHP Warnings and Notices
- bugfix: text encoding passed to HTMLDOC
- bugfix: Eligibility add the same activity more than once
- bugfix: Eligibility Add Activity no Search when student already selected
- bugfix: Food Service no balance
- bugfix: Discipline search when only saving
- bugfix: Portal Notes not displayed when pn.START_DATE IS NULL
- bugfix: ListOutput.fnc.php search when only saving
- bugfix: ListOutput.fnc.php bug ngettext when the plural form is not registered as this in the rosariosis.po file
- bugfix: School Setup no save button if no admin
- bugfix: Internet Explorer Quirks Mode <!DOCTYPE> not valid
- bugfix: EditReportCardGrades.php 3 SQL related bugs
- bugfix: MassRequests.php Choose a Course window closing
- bugfix: SQL bug invalid sort order, program wide
- bugfix: SQL bug invalid amount in StudentBilling
- bugfix: minutes not numeric in School_Setup/Calendar.php
- bugfix: teacher's school is NULL in Scheduling/MassRequests.php
- bugfix: no student found when student logged in in functions/Search.fnc.php
- bugfix: SQL bug no course period in the marking period in Users/TeacherPrograms.php
- bugfix: SQL bug START_DATE or END_DATE is null in School_Setup/MarkingPeriods.php
\ No newline at end of file
/**
* @package RosarioSIS
* @version v1.0 - July, 2013
* @copyright (C) 2004-2009 The Miller Group
* @copyright (C) 2009 Glenn-Abbey Software
* @copyright (C) 2009 Learners Circle
* @copyright (C) 2012-2013 François Jacquet
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL
*/
This diff is collapsed.
This diff is collapsed.
Rosario Student Information System - INSTALLATION DIRECTIONS
-------------------------------------------------------------------------------
Version 1.0
-------------------------------------------------------------------------------
January 2013
NOTE: Before Installing RosarioSIS, you must read and agree to the included
license.
RosarioSIS is a web based application which relies on other facilities such as
a web server, PHP server-side scripting, and postgres database server. For
RosarioSIS to work you must first have your web server working, PHP working,
postgres working. username/password authentication working. Setting these
up varies a lot with platform, operating system, and distribution so it is
well beyond to scope of this brief install document. RosarioSIS 1.0 was
tested on a Windows 7 x64 with Apache 2.2.21, Postgres 9.1, and PHP 5.3.9
(EasyPHP 5.3.9) and on a Ubuntu Server 12.04 with Apache 2.2.22, Postgres 9.1,
and PHP 5.3.10 and through Mozilla Firefox.
Installing the Package
----------------------
Unzip the RosarioSIS distribution to a directory that is accessible to your web
browser. Edit the config.inc.php file to set the configuration variables as
appropriate for your installation.
$DatabaseServer is the host name or ip for the database server
$DatabaseUsername is the username used for authenticating the database
$DatabasePassword is the password used for authenticating the database
$DatabaseName is the database name
$DatabasePort is the socket port number for accessing the database server
$RosarioPath is full path to RosarioSIS installation, you can define it
statically for your installation or the runtime value derived from the
__FILE__ magic constant should work
$pg_dumpPath is full path to the postgres database dump utility pg_dump
$wkhtmltopdfPath full path to wkhtmltopdf for pdf 'printing'
$wkhtmltopdfAssetsPath is path where wkhtmltopdf will access the assets/
directory, possibly different than how the user's web browser finds it,
empty string means no translation
$StudentPicturesPath relative path to student pictures
$UserPicturesPath relative path to user pictures
$RosarioTitle is the program title
$RosarioAdmins is a comma separated list of admin's which have special login
privileges
$RosarioNotifyAddress is email address to send error notifications
$DefaultSyear is current school year. The $DefaultSyear needs to exist in
the database and the only year in the default database (rosariosis.sql) is
2013 so this should be set to 2013 for a new install.
$RosarioModules controls which modules to use, most of the standard modules
are required though and should be left to 'true'
Now, you're ready to setup the RosarioSIS database. If you have access to the
command prompt for your server, follow these instructions. If you're using
phpPGAdmin or a similar tool, import the rosariosis.sql file included in
this package.
1) Open a command prompt window.
2) Login as the postgres user
ex) server$ su - postgres
3) Login to the postgres database server using the template1 database
ex) server$ psql template1
4) Create the rosariosis database
ex) template1=# CREATE DATABASE rosariosis;
5) Skip to step 6 if used in an American / English-speaking environment.
If your data will include non-standard English characters (like
characters with accent marks), you'll have to create your database
with a different character encoding (the default is unicode).
ex) createdb rosariosis -E UTF8
UTF8 is Unicode, 8-bit -- useful for all languages.
See http://www.postgresql.org/docs/9.1/interactive/multibyte.html for
more information.
6) Logout of the database server
ex) template1=# \q
7) Run the RosarioSIS sql file
ex) server$ psql rosariosis < YOUR_ROSARIO_INSTALL_DIRECTORY/rosariosis.sql > rosariosis.log
Notice, you will see several lines beginning "NOTICE: ALTER TABLE / ADD PRIMARY
KEY will create implicit index " after completing direction 6. Disregard these
messages.
If you run into permissions problems involving rosariosis.log, simply remove the " > rosariosis.log"
from the command
You will have to start postmaster with the -i option, telling postmaster to accept
TCP/IP connections. Also, the pg_hba.conf file may have to be altered to specify the
server's TCP/IP address.
That's it!... now, point your browser to:
http://yourdomain.com/INSTALL_LOCATION/index.php
and login as 'admin' password 'admin'. With this login, you can create new
users, and change and delete the three template users. Since students can not
be deleted the template student should be changed to a proper student and the
template photo deleted.
Installing wkhtmltopdf
----------------------
Install instructions for Ubuntu/Debian:
Note: for a 64bits distribution, replace 'i386' with 'amd64'.
1) Download the latest executable (.11 rc1) :
server$ wget https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
2) Uncompress it :
server$ tar -vxf wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
3) Rename it :
server$ mv wkhtmltopdf-i386 wkhtmltopdf
4) Chmod it to executable :
server$ chmod a+x wkhtmltopdf
5) Place it into /usr/bin :
server$ sudo mv wkhtmltopdf /usr/bin
Additional Configuration
------------------------
In addition to the main config.inc.php file there are optional module configuration
files, also named config.inc.php but located in the modules directories. Most user
configuration variables are in these files to simplify upgrades until such configurations
are moved to the database. See the module specific config files for details.
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the