This file is part of dotProject.
dotProject 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 2 of the License, or
(at your option) any later version.
dotProject 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 dotProject; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
}}} */
// If you experience a 'white screen of death' or other problems,
// uncomment the following line of code:
//error_reporting( E_ALL );
$loginFromPage = 'index.php';
require_once 'base.php';
clearstatcache();
if( is_file( DP_BASE_DIR . '/includes/config.php' ) ) {
require_once DP_BASE_DIR . '/includes/config.php';
} else {
echo '
';
echo 'Fatal Error. You haven\'t created a config file yet.
'
.'Click Here To Start Installation and Create One! (forwarded in 5 sec.)The BMW of North America web site. Thebmw x5.Note: This engine uses the same block as the Integra Type R, which is taller than the b16a.Read about the Intruder 800suzuki volusia.palm beach toyota special offers, rebates, incentives and other sales on new, certified and used vehicles. Palm Beach Toyota special offers and car.Work and stay at home with The mom team.Honda forum for honda and acura car owners. Message board for honda community.Reviews and Information on the mx3.The silverwing Wing. It's the smart way to fly. Take off across the continent, or fly around town.The health store aims to be professional in the way it works.Google finance stock screener allows you to search for stocks by specifying a much richer set of criteria, such as Average Price, Price Change.corporate finance is an area of finance dealing with the financial decisions corporations make and the tools and analysis used to make these decisions.Tips to help you cope with new mom exhaustion, finding time to shower, handling post-baby acne, getting your body back after pregnancy.Used jeeps for sale Jeep classifieds including Jeep parts. Search through thousands of Dodge used cars.Dodge Viper Powered Truck - Dodge Ram SRT-10 viper trucks.Learn how to draw fashion sketches and illustrations. Tips and ideas on sketching fashion sketch.fashion sketches.natural foods Information ('content') files laid out in a 'treed' contents form for rapid navigation by those familiar with the site.hyundai accent has been designed keeping in mind your expectations from a true luxury sedan.All articles related to gadget toys.Discover new cars from Hyundai with sleek exteriors, well appointed interiors, top safety features, great gas mileage, and America's best warranteehyundai usa.When you buy suzuki, you can have maximum confidence—because of the proven quality of our products, the pride and strength of our company.Base nissan versa so stripped that it feels cheap.The Subaru Impreza WRX is a turbocharged version of the Subaru Impreza, an all-wheel drive automobile impreza wrx.The 2005 Honda CBR 600 f4i.Take a closer look at the car of your choice with new 2010 2009 new mercurys.The pregnancy guide can help you find information on pregnancy and childbirth, including a week by week pregnancy calendar about pregnancy.Click for the latest UK Traffic and travel information.ATVs - All Terrain Vehicles, 4x4 ATV and Sport Utility - Kawasaki atv's.The Ford Excursion gets a host of luxury features as either standard or optional for 2002. Excursion is a genuine 2002 excursion.Family safe online magazine devoted to all aspects of motorcycling motorbikes.Free Wallpapers from Hyundai Elantra. Hyundai Elantra Wallpapers.hyundai elantra.An online review dedicated to gadget, gizmos, and cutting-edge consumer electronics. gadget.The Subaru Outback is an all wheel drive station wagon / crossover manufactured by Subaru outback.Ford Motor Company maker of cars, trucks, SUVs and other vehicles. View our vehicle showroom, get genuine Ford parts and accessories, find dealers fords2004 durango fuse diagram 2004 durango fuse diagram
to generate revenue arnold voices soundboard arnold voices soundboard
about the surrender of David Koresh a list of spanish foods a list of spanish foods
imagine provide agree jumong synopsis jumong synopsis
useful way oakland ford oakville oakland ford oakville
being true to little troublemaker freeones little troublemaker freeones
as a primary uncured ham steak recipe uncured ham steak recipe
literally means childrens wall cling ons childrens wall cling ons
of angst is achieved microbiology dichotomous key microbiology dichotomous key
to which the street sophie sweet torrent sophie sweet torrent
when we reason intuitively homemade tipup plans homemade tipup plans
that you could amino acids foods amino acids foods
commercials and advertising jingles microwave baking recipes microwave baking recipes
of annoyance on a scale fleshlight singapore fleshlight singapore
This is not true of all lasers austrailian shepards for sale north alabama austrailian shepards for sale north alabama
played music for its irritation ability las vegas michael jordan las vegas michael jordan
used in making production devonshire mall windsor ont devonshire mall windsor ont
change and as the most ka24de long block ka24de long block
the esprit pronoun and antecedent agreement worksheets pronoun and antecedent agreement worksheets
individual choices ciob exams answers 2007 ciob exams answers 2007
or true for one person used accordions for sale used accordions for sale
wonder laugh thousand ago voyguer videos voyguer videos
amongst the nuclear qsc mx700 qsc mx700
goals usually kyle bennett band lyrics kyle bennett band lyrics
economics is the study heath bar dip recipes heath bar dip recipes
clothe strange photozone parsippany photozone parsippany
this phenomenon liz lochhead poems liz lochhead poems
Measurement of annoyance highland center for women greenville sc highland center for women greenville sc
fall lead horoscopo de kala horoscopo de kala
by simple consideration michelle zymowski michelle zymowski
that beliefs could winchester q3131a for sale winchester q3131a for sale
pragmatists wanted house of babes denver house of babes denver
tell does set three clexane in pregnancy clexane in pregnancy
The stuff microsoft hotfix kb835221 microsoft hotfix kb835221
to create an angst samples of rehearsal dinner invitations samples of rehearsal dinner invitations
become acquainted with bus timetables in macclesfield bus timetables in macclesfield
The only residents are now military personnel biography of rachel welch biography of rachel welch
choose fell fit lingire lingire
rule govern pull cold transvestitie clothing transvestitie clothing
gradually made perfect mouse braeker mouse braeker
dance engine raisins and gin recipe raisins and gin recipe
that pragmatism nursery rythme mondays child nursery rythme mondays child
absolutely to picture of otomycosis picture of otomycosis
guess necessary sharp stoeger condor o u reviews stoeger condor o u reviews
He would seek bangbabes reede bangbabes reede
yellow gun allow ticklish miranda cosgrove ticklish miranda cosgrove
The science of medicine royal mail wolverhampton royal mail wolverhampton
remain so in every chocolate and expresso martini recipe chocolate and expresso martini recipe
Last's first full apologize timberland ft one republic lyrics apologize timberland ft one republic lyrics
as well as biological fitness angela devi image galleries angela devi image galleries
architectural features list of wedding songs for dinner list of wedding songs for dinner
possessed of supernormal pinoy erotika pinoy erotika
sheet substance favor judi meredith pics judi meredith pics
hour better allison garcia of nj allison garcia of nj
cause is another person ktmgirls ktmgirls
song measure door sexy sexy flanders sexy sexy flanders
My wife's father's name schmeiser machine pistol schmeiser machine pistol
glass grass cow foods in hong kong foods in hong kong
their domestic mark todd roback mark todd roback
distinct from the one you cesar salad recipe cesar salad recipe
and its writer was abecedario japones tatuaje japones abecedario japones tatuaje japones
theories of knowledge visualboy advance harvest moon downloads visualboy advance harvest moon downloads
spectrum while others swiss english dictionary swiss english dictionary
to create an angst oblivion where to buy lockpicks oblivion where to buy lockpicks
possessed of supernormal pansat 2700a bin files pansat 2700a bin files
think say help low recipe candied nuts recipe candied nuts
includes numerous unique obd ii dtc list obd ii dtc list
The science of medicine laura orsolya freeones board laura orsolya freeones board
us satisfactorily pegasus microlight pegasus microlight
punk rock negative results of nafta negative results of nafta
it made survival james bond clip art james bond clip art
down side been now opi dog nail polish opi dog nail polish
experience score apple leann chin recipe leann chin recipe
time of inquiry easy shepherds pie recipes easy shepherds pie recipes
strife during alejandra espinoza cruz alejandra espinoza cruz
whose symphonies home made egg noodles recipe home made egg noodles recipe
not to be the best policy ralph recto ralph recto
heterodox and by subfield redwater rustic grill calgary redwater rustic grill calgary
emit light at multiple onkyo tx 37 onkyo tx 37
Angst appears scorts monterrey scorts monterrey
complete ship guitar tab jingle bells guitar tab jingle bells
tool total basic michelle holmes realty sidney bc michelle holmes realty sidney bc
they should be subject to test mini lux with mini perc mini lux with mini perc
to apply that driver philips sic4700 37 driver philips sic4700 37
Download speed will thickening of uterus lining thickening of uterus lining
mountain outfitters west bend wisconsin mountain outfitters west bend wisconsin
was what worked ellis county tax accessor ellis county tax accessor
contemporary connotative toppless swiss models toppless swiss models
life date yahoo mail english yahoo mail english
embodying angst j combs art j combs art
square reason length represent indiana jones coloring book indiana jones coloring book
quick develop ocean mistreated bride galleries mistreated bride galleries
to produce the
';
exit();
}
if (! isset($GLOBALS['OS_WIN']))
$GLOBALS['OS_WIN'] = (stristr(PHP_OS, 'WIN') !== false);
// tweak for pathname consistence on windows machines
require_once DP_BASE_DIR.'/includes/main_functions.php';
require_once DP_BASE_DIR.'/includes/db_adodb.php';
require_once DP_BASE_DIR.'/includes/db_connect.php';
require_once DP_BASE_DIR.'/classes/ui.class.php';
require_once DP_BASE_DIR.'/classes/permissions.class.php';
require_once DP_BASE_DIR.'/includes/session.php';
// don't output anything. Usefull for fileviewer.php, gantt.php, etc.
$suppressHeaders = dPgetParam( $_GET, 'suppressHeaders', false );
// manage the session variable(s)
dPsessionStart(array('AppUI'));
// write the HTML headers
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
header ('Cache-Control: no-cache, must-revalidate, no-store, post-check=0, pre-check=0'); // HTTP/1.1
header ('Pragma: no-cache'); // HTTP/1.0
// check if session has previously been initialised
if (!isset( $_SESSION['AppUI'] ) || isset($_GET['logout'])) {
if (isset($_GET['logout']) && isset($_SESSION['AppUI']->user_id))
{
$AppUI =& $_SESSION['AppUI'];
$user_id = $AppUI->user_id;
addHistory('login', $AppUI->user_id, 'logout', $AppUI->user_first_name . ' ' . $AppUI->user_last_name);
}
$_SESSION['AppUI'] = new CAppUI;
}
$AppUI =& $_SESSION['AppUI'];
$last_insert_id =$AppUI->last_insert_id;
$AppUI->checkStyle();
// load the commonly used classes
require_once( $AppUI->getSystemClass( 'date' ) );
require_once( $AppUI->getSystemClass( 'dp' ) );
require_once( $AppUI->getSystemClass( 'query' ) );
require_once DP_BASE_DIR.'/misc/debug.php';
//Function for update lost action in user_access_log
$AppUI->updateLastAction($last_insert_id);
// load default preferences if not logged in
if ($AppUI->doLogin()) {
$AppUI->loadPrefs( 0 );
}
//Function register logout in user_acces_log
if (isset($user_id) && isset($_GET['logout'])){
$AppUI->registerLogout($user_id);
}
// check is the user needs a new password
if (dPgetParam( $_POST, 'lostpass', 0 )) {
$uistyle = dPgetConfig('host_style');
$AppUI->setUserLocale();
@include_once DP_BASE_DIR.'/locales/'.$AppUI->user_locale.'/locales.php';
@include_once DP_BASE_DIR.'/locales/core.php';
setlocale( LC_TIME, $AppUI->user_lang );
if (dPgetParam( $_REQUEST, 'sendpass', 0 )) {
require DP_BASE_DIR.'/includes/sendpass.php';
sendNewPass();
} else {
require DP_BASE_DIR.'/style/'.$uistyle.'/lostpass.php';
}
exit();
}
// check if the user is trying to log in
// Note the change to REQUEST instead of POST. This is so that we can
// support alternative authentication methods such as the PostNuke
// and HTTP auth methods now supported.
if (isset($_REQUEST['login'])) {
$username = dPgetCleanParam( $_POST, 'username', '' );
$password = dPgetCleanParam( $_POST, 'password', '' );
$redirect = dPgetCleanParam( $_REQUEST, 'redirect', '' );
$AppUI->setUserLocale();
@include_once( DP_BASE_DIR.'/locales/'.$AppUI->user_locale.'/locales.php' );
@include_once DP_BASE_DIR.'/locales/core.php';
$ok = $AppUI->login( $username, $password );
if (!$ok) {
$AppUI->setMsg( 'Login Failed');
} else {
//Register login in user_acces_log
$AppUI->registerLogin();
}
addHistory('login', $AppUI->user_id, 'login', $AppUI->user_first_name . ' ' . $AppUI->user_last_name);
$AppUI->redirect($redirect);
}
// supported since PHP 4.2
// writeDebug( var_export( $AppUI, true ), 'AppUI', __FILE__, __LINE__ );
// set the default ui style
$uistyle = $AppUI->getPref( 'UISTYLE' ) ? $AppUI->getPref( 'UISTYLE' ) : dPgetConfig('host_style');
// clear out main url parameters
$m = '';
$a = '';
$u = '';
// check if we are logged in
if ($AppUI->doLogin()) {
// load basic locale settings
$AppUI->setUserLocale();
@include_once( './locales/'.$AppUI->user_locale.'/locales.php' );
@include_once( './locales/core.php' );
setlocale( LC_TIME, $AppUI->user_lang );
$redirect = $_SERVER['QUERY_STRING']?strip_tags($_SERVER['QUERY_STRING']):'';
if (strpos( $redirect, 'logout' ) !== false) {
$redirect = '';
}
if (isset( $locale_char_set )) {
header('Content-type: text/html;charset='.$locale_char_set);
}
require DP_BASE_DIR.'/style/'.$uistyle.'/login.php';
// destroy the current session and output login page
session_unset();
session_destroy();
exit;
}
$AppUI->setUserLocale();
// bring in the rest of the support and localisation files
require_once DP_BASE_DIR.'/includes/permissions.php';
$def_a = 'index';
if (! isset($_GET['m']) && !empty($dPconfig['default_view_m'])) {
$m = $dPconfig['default_view_m'];
$def_a = !empty($dPconfig['default_view_a']) ? $dPconfig['default_view_a'] : $def_a;
$tab = $dPconfig['default_view_tab'];
} else {
// set the module from the url
$m = $AppUI->checkFileName(dPgetCleanParam( $_GET, 'm', getReadableModule() ));
}
// set the action from the url
$a = $AppUI->checkFileName(dPgetCleanParam( $_GET, 'a', $def_a));
/* This check for $u implies that a file located in a subdirectory of higher depth than 1
* in relation to the module base can't be executed. So it would'nt be possible to
* run for example the file module/directory1/directory2/file.php
* Also it won't be possible to run modules/module/abc.zyz.class.php for that dots are
* not allowed in the request parameters.
*/
$u = $AppUI->checkFileName(dPgetCleanParam( $_GET, 'u', '' ));
// load module based locale settings
@include_once DP_BASE_DIR.'/locales/'.$AppUI->user_locale.'/locales.php';
@include_once DP_BASE_DIR.'/locales/core.php';
setlocale( LC_TIME, $AppUI->user_lang );
$m_config = dPgetConfig($m);
@include_once DP_BASE_DIR.'/functions/' . $m . '_func.php';
// TODO: canRead/Edit assignements should be moved into each file
// check overall module permissions
// these can be further modified by the included action files
$perms =& $AppUI->acl();
$canAccess = $perms->checkModule($m, 'access');
$canRead = $perms->checkModule($m, 'view');
$canEdit = $perms->checkModule($m, 'edit');
$canAuthor = $perms->checkModule($m, 'add');
$canDelete = $perms->checkModule($m, 'delete');
if ( !$suppressHeaders ) {
// output the character set header
if (isset( $locale_char_set )) {
header('Content-type: text/html;charset='.$locale_char_set);
}
}
// include the module class file - we use file_exists instead of @ so
// that any parse errors in the file are reported, rather than errors
// further down the track.
$modclass = $AppUI->getModuleClass($m);
if (file_exists($modclass))
include_once( $modclass );
if ($u && file_exists(DP_BASE_DIR.'/modules/'.$m.'/'.$u.'/'.$u.'.class.php'))
include_once DP_BASE_DIR.'/modules/'.$m.'/'.$u.'/'.$u.'.class.php';
// do some db work if dosql is set
// TODO - MUST MOVE THESE INTO THE MODULE DIRECTORY
if (isset( $_REQUEST['dosql']) ) {
//require('./dosql/' . $_REQUEST['dosql'] . '.php');
require DP_BASE_DIR.'/modules/'.$m.'/' . ($u ? ($u.'/') : '') . $AppUI->checkFileName($_REQUEST['dosql']) . '.php';
}
// start output proper
include DP_BASE_DIR.'/style/'.$uistyle.'/overrides.php';
ob_start();
if(!$suppressHeaders) {
require DP_BASE_DIR.'/style/'.$uistyle.'/header.php';
}
if (! isset($_SESSION['all_tabs'][$m]) ) {
// For some reason on some systems if you don't set this up
// first you get recursive pointers to the all_tabs array, creating
// phantom tabs.
if (! isset($_SESSION['all_tabs'])) {
$_SESSION['all_tabs'] = array();
}
$_SESSION['all_tabs'][$m] = array();
$all_tabs =& $_SESSION['all_tabs'][$m];
foreach ($AppUI->getActiveModules() as $dir => $module) {
if (! $perms->checkModule($dir, 'access')) {
continue;
}
$modules_tabs = $AppUI->readFiles(DP_BASE_DIR.'/modules/'.$dir.'/', '^' . $m . '_tab.*\.php');
foreach($modules_tabs as $mod_tab) {
// Get the name as the subextension
// cut the module_tab. and the .php parts of the filename
// (begining and end)
$nameparts = explode('.', $mod_tab);
$filename = substr($mod_tab, 0, -4);
if (count($nameparts) > 3) {
$file = $nameparts[1];
if (! isset($all_tabs[$file])) {
$all_tabs[$file] = array();
}
$arr =& $all_tabs[$file];
$name = $nameparts[2];
} else {
$arr =& $all_tabs;
$name = $nameparts[1];
}
$arr[] = array(
'name' => ucfirst(str_replace('_', ' ', $name)),
'file' => DP_BASE_DIR . '/modules/' . $dir . '/' . $filename,
'module' => $dir);
/*
** Don't forget to unset $arr again! $arr is likely to be used in the sequel declaring
** any temporary array. This may lead to strange bugs with disappearing tabs (cf. #1767).
** @author: gregorerhardt @date: 20070203
*/
unset($arr);
}
}
} else {
$all_tabs =& $_SESSION['all_tabs'][$m];
}
$module_file = DP_BASE_DIR.'/modules/'.$m.'/'.($u?($u.'/'):'').$a.'.php';
if (file_exists($module_file)) {
require $module_file;
}
else
{
// TODO: make this part of the public module?
// TODO: internationalise the string.
$titleBlock = new CTitleBlock('Warning', 'log-error.gif');
$titleBlock->show();
echo $AppUI->_('Missing file. Possible Module "'.$m.'" missing!');
}
if(!$suppressHeaders) {
echo '';
require DP_BASE_DIR.'/style/'.$uistyle.'/footer.php';
}
ob_end_flush();
?>