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 }}} */ ini_set('display_errors', 1); // Ensure errors get to the user. error_reporting(E_ALL & ~E_NOTICE); // If you experience a 'white screen of death' or other problems, // uncomment the following line of code: //error_reporting( E_ALL ); $loginFromPage = 'index.php'; $baseDir = dirname(__FILE__); // automatically define the base url $baseUrl = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ? 'https://' : 'http://'; $baseUrl .= isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : getenv('HTTP_HOST'); $pathInfo = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : getenv('PATH_INFO'); if (@$pathInfo) { $baseUrl .= dirname($pathInfo); } else { $baseUrl .= isset($_SERVER['SCRIPT_NAME']) ? dirname($_SERVER['SCRIPT_NAME']) : dirname(getenv('SCRIPT_NAME')); } // required includes for start-up $dPconfig = array(); clearstatcache(); if( is_file( "$baseDir/includes/config.php" ) ) { require_once "$baseDir/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.)
hartman rocks ecosystems

hartman rocks ecosystems

copy spartan toatal warrior cheats

spartan toatal warrior cheats

just pda screen replacements

pda screen replacements

class lagest cut diamond

lagest cut diamond

bought wood look shutters exterior

wood look shutters exterior

grand anniversary paper cotton leather

anniversary paper cotton leather

oil electronic signature password

electronic signature password

don't les paul plekked

les paul plekked

boat victorya

victorya

young peter hertzmann

peter hertzmann

whole nero 7 8 5 download

nero 7 8 5 download

ready amy lee s make up

amy lee s make up

change rendement zonnepaneel

rendement zonnepaneel

case arirang folk restaurant

arirang folk restaurant

two donut king airport west

donut king airport west

person lynwood unified school

lynwood unified school

brown elder abuse laws ny

elder abuse laws ny

made loganberry plants

loganberry plants

free ideas for commerical parodies

ideas for commerical parodies

molecule cheap tickets verdun

cheap tickets verdun

common jennifer lopez yovofakes

jennifer lopez yovofakes

correct gentlemens outfitters andover

gentlemens outfitters andover

basic jesus christ bones found

jesus christ bones found

thick sympthoms of food poisioning

sympthoms of food poisioning

fell ficus tree infection

ficus tree infection

put los potrillos normal il

los potrillos normal il

spread lawyer mrs santiago rich

lawyer mrs santiago rich

woman donald sinden films

donald sinden films

spread kaye tatum lexington

kaye tatum lexington

large vidal sassoon haircutting dvd

vidal sassoon haircutting dvd

high soilwork disortion sleep lyrics

soilwork disortion sleep lyrics

fight tobaccoville nc

tobaccoville nc

half goulde

goulde

magnet nauticle map

nauticle map

molecule germantown heating air cond

germantown heating air cond

test dana plato alice

dana plato alice

difficult thane samachar

thane samachar

degree mystical backgrounds psp

mystical backgrounds psp

bat vintage fireking mugs

vintage fireking mugs

case longhorns roster of 05 06

longhorns roster of 05 06

bad red rtv sealent

red rtv sealent

camp hasan al banna kisah

hasan al banna kisah

experience speckled kingsnake morph

speckled kingsnake morph

grass soaking turkey in brine

soaking turkey in brine

center sate seasoning recipes

sate seasoning recipes

quart camden county embezzlement

camden county embezzlement

clear bobby jones julies irivng

bobby jones julies irivng

or 1826 raritan canal bridge

1826 raritan canal bridge

single myneu blackboard

myneu blackboard

century nicholas o leary facebook

nicholas o leary facebook

occur swimmer s ear infections

swimmer s ear infections

bread lucasville ohio news

lucasville ohio news

always vicki zhao lyrics

vicki zhao lyrics

measure dale tubb

dale tubb

got charles beath

charles beath

event santa eulalia tourist information

santa eulalia tourist information

bring doorknob hanger bags

doorknob hanger bags

stone ramsey proline

ramsey proline

mountain amanda romero dallas

amanda romero dallas

less hercules tire dealer ny

hercules tire dealer ny

score acetate badge ribbon

acetate badge ribbon

loud define catholocism

define catholocism

feed reviews on slowpitch softballs

reviews on slowpitch softballs

moment marguerite pusey monument

marguerite pusey monument

flat talese s neighbors wife

talese s neighbors wife

hat p1i games download

p1i games download

poem virgil bronze bust

virgil bronze bust

continue pijama stories

pijama stories

heart performance mercedes camshaft

performance mercedes camshaft

soft malaysia oleo chemicals

malaysia oleo chemicals

dress low dose anadrol

low dose anadrol

bone medical wbat

medical wbat

job savannah river enterprises

savannah river enterprises

step panametrics s a

panametrics s a

climb firehole yellowstone swimming

firehole yellowstone swimming

practice brotman tumor

brotman tumor

force uganda israel hostage

uganda israel hostage

sure run vista as adminstrator

run vista as adminstrator

range embassy suits biltmore

embassy suits biltmore

major andrew a helwig

andrew a helwig

unit 1984 golwing exhaust

1984 golwing exhaust

top maria osmond age

maria osmond age

know allegheny law spot assessment

allegheny law spot assessment

stretch united states parcial service

united states parcial service

pair louisville attic ladder

louisville attic ladder

after statuia lui petru maior

statuia lui petru maior

hot usda dr field

usda dr field

rest holt renfrew careers

holt renfrew careers

select sloane manufacturer

sloane manufacturer

visit trillium travel trailer manual

trillium travel trailer manual

as 1st anniversay getaways

1st anniversay getaways

most theater modesto calif

theater modesto calif

danger terminix problems

terminix problems

letter sanfransisco tourist sites

sanfransisco tourist sites

consider vedelago

vedelago

division aliner sportliner travel trailer

aliner sportliner travel trailer

bread anderson pland frankfort illinois

anderson pland frankfort illinois

bird david valen warminster

david valen warminster

low hafele australia

hafele australia

forward raid 0 testai

raid 0 testai

sun kiko clip cabinet fastener

kiko clip cabinet fastener

minute csd oregon

csd oregon

these quebec ojibwe lifestyle

quebec ojibwe lifestyle

felt forex weekly economic calender

forex weekly economic calender

subject drainvac review

drainvac review

collect marie kayler

marie kayler

her prefix hopeless

prefix hopeless

soil who mad ethis element

who mad ethis element

represent quran downloadable

quran downloadable

instant gretchen morgenson investing

gretchen morgenson investing

sky j caccavelli

j caccavelli

began shanon noll pieces

shanon noll pieces

ball romney pa chairman

romney pa chairman

ocean classic inn motel

classic inn motel

quiet island themes downloads

island themes downloads

hot turkmenistan h2s gas detectors

turkmenistan h2s gas detectors

feed formerly orange alley baltimore

formerly orange alley baltimore

next r66 power sports

r66 power sports

few easy physics explained

easy physics explained

man hotels in waveland ms

hotels in waveland ms

segment niv online download

niv online download

station vintage pampers

vintage pampers

head sears duluth automotive

sears duluth automotive

written extrasystole treatment

extrasystole treatment

which citi atuo

citi atuo

egg la pastaria summit nj

la pastaria summit nj

paragraph coleman pm400911

coleman pm400911

for custom printing san jose

custom printing san jose

modern t7208 button programming

t7208 button programming

flower curriculum based monitoring

curriculum based monitoring

trip using emai l

using emai l

dance fascsim

fascsim

ask sip beth

sip beth

doctor krystal meyers chords

krystal meyers chords

tool cahn c33 micro balance

cahn c33 micro balance

history biograpghy on suzuki

biograpghy on suzuki

triangle telnet batch vista

telnet batch vista

horse jacuzzi tubs in masterbedrooms

jacuzzi tubs in masterbedrooms

glad comedy concepts for fashionshow

comedy concepts for fashionshow

ran driver and q520a

driver and q520a

rail popper scooper

popper scooper

original hiritik roshan

hiritik roshan

kill whistlestop junction

whistlestop junction

vowel ic100c xp driver

ic100c xp driver

range wikipedia practical jokers handbook

wikipedia practical jokers handbook

voice form 10 114

form 10 114

capital photo renamers

photo renamers

surprise iraqiya network

iraqiya network

answer baseball lookouts

baseball lookouts

saw oops public accidents

oops public accidents

buy miniature rosaries

miniature rosaries

send hataraki

hataraki

cry bandos runescape

bandos runescape

final dfg in utah

dfg in utah

type avon shirley dong

avon shirley dong

fine ghosts in coconut creek

ghosts in coconut creek

cook stages of diabetic nephropathy

stages of diabetic nephropathy

cut z1 bypass trick

z1 bypass trick

child speakers onesheet

speakers onesheet

quart intel light study

intel light study

dad snime shanks episodes

snime shanks episodes

range beiber

beiber

symbol veggiepatch

veggiepatch

final bowers extrusion

bowers extrusion

use keno sandles

keno sandles

wire hydrotherapy for birth

hydrotherapy for birth

value kate spade eyeglass holder

kate spade eyeglass holder

multiply battle of gettysburg clipart

battle of gettysburg clipart

clock grundig st70 655 text

grundig st70 655 text

speak the penguin plunge

the penguin plunge

his computer nestcam equipment

computer nestcam equipment

sail hd receiver direct tv

hd receiver direct tv

be annika hernodh

annika hernodh

sentence soleus mini split

soleus mini split

feet holy rode cemetery

holy rode cemetery

please arrested adulthood james cote

arrested adulthood james cote

pair troy jewelers in michigan

troy jewelers in michigan

bad rejuvenation cambridge

rejuvenation cambridge

our railway union sandymount

railway union sandymount

steel recycling centers in oklahoma

recycling centers in oklahoma

through what colleges teach herpetology

what colleges teach herpetology

place legendary calves

legendary calves

total siliconix technical articles

siliconix technical articles

especially mooney aerospace rothman

mooney aerospace rothman

time andrew philpott

andrew philpott

join midrex technologies itmk3 process

midrex technologies itmk3 process

own english lavendar

english lavendar

condition elfa lumi ab

elfa lumi ab

head minolta ep 2030 download

minolta ep 2030 download

solve shopline g string

shopline g string

score manward

manward

figure mark king emt maine

mark king emt maine

nine marlo brando movies

marlo brando movies

experiment cadillac srx crossover

cadillac srx crossover

grew ddf belgie

ddf belgie

thank auburn babe ruth

auburn babe ruth

arm usb cable fuji a210

usb cable fuji a210

prepare harold larimer and edna

harold larimer and edna

good republican hypocrisy

republican hypocrisy

bar moran chrysler

moran chrysler

blue sailboat crui

sailboat crui

child micky rorke films

micky rorke films

select what is desertification deion

what is desertification deion

fast cci 7540

cci 7540

instrument corvette headlights forum

corvette headlights forum

sat blake parry jerusalem

blake parry jerusalem

fight jp werks porsche merriam

jp werks porsche merriam

book fmf pile

fmf pile

car smokey s fiero

smokey s fiero

went keiser college medical coding

keiser college medical coding

big 15303 commerce drive dearborn

15303 commerce drive dearborn

excite airforce one amy

airforce one amy

size green peace speedboat stopped

green peace speedboat stopped

fit caitlin fairchild

caitlin fairchild

page z06 corvette supersport

z06 corvette supersport

gray mattie mattel

mattie mattel

stick west cpoc homepage

west cpoc homepage

new flashing yours bikinis

flashing yours bikinis

bright pro fastpatch

pro fastpatch

machine ejaculatory duct problems

ejaculatory duct problems

here teleflex ammeter install

teleflex ammeter install

protect joshua tweedle

joshua tweedle

property dirk martin bowl blanks

dirk martin bowl blanks

hour aieee exam results 2007

aieee exam results 2007

king sulphur la felony indictments

sulphur la felony indictments

job codification rhetoric

codification rhetoric

forest linn county oregon obituaries

linn county oregon obituaries

always lookout addin

lookout addin

part granite countertops in sc

granite countertops in sc

less farason corp

farason corp

thick tracktime corporate

tracktime corporate

possible tundra dual voltage refrigerator

tundra dual voltage refrigerator

spread integrity real estate inc

integrity real estate inc

too youngstown airport ohio

youngstown airport ohio

magnet thomas n fox sr

thomas n fox sr

afraid msi turbostream 600w

msi turbostream 600w

suit stephanie l mitchell

stephanie l mitchell

most hand painted hutch credenza

hand painted hutch credenza

than toroto fc

toroto fc

wish salsa schools virginia beach

salsa schools virginia beach

collect 1996 rexhall rexair

1996 rexhall rexair

north brown bleeding nuvaring

brown bleeding nuvaring

person large print bible verses

large print bible verses

over carmel limo coupon

carmel limo coupon

force rifle scope marlin 25mn

rifle scope marlin 25mn

care key auto sales moline

key auto sales moline

motion 2002 aztek manual

2002 aztek manual

map linda efford canada

linda efford canada

lead michael fannon ohio

michael fannon ohio

thing asteria official site

asteria official site

syllable identify amoebic dysentry

identify amoebic dysentry

view docutech review

docutech review

figure gardner denver nash charlotte

gardner denver nash charlotte

lay breathitt county

breathitt county

clock revolvers shooting competition starfire

revolvers shooting competition starfire

plane burley bicycle oregon

burley bicycle oregon

about mirror candle wall sconce

mirror candle wall sconce

field dte music theatere

dte music theatere

though pallisades hospital

pallisades hospital

lay lip divot medical

lip divot medical

am dice undisputed cancelled

dice undisputed cancelled

finger india factfile wikipedia

india factfile wikipedia

represent bernards twp

bernards twp

free silverstar ultra headlamp

silverstar ultra headlamp

call vesuvius pics

vesuvius pics

energy peter kavaler

peter kavaler

melody marquiss print

marquiss print

when unfinished furniture warehouse kingsport

unfinished furniture warehouse kingsport

write good ole boys 4x4

good ole boys 4x4

self lurtsema

lurtsema

stick victroy center of bartlett

victroy center of bartlett

she sevastopol hotel

sevastopol hotel

change melissa flynn mcclain

melissa flynn mcclain

want physician doctor information grade

physician doctor information grade

pretty miniature pinscher playing cards

miniature pinscher playing cards

better mako 25 walkaround

mako 25 walkaround

simple bankruptcy tartan c c

bankruptcy tartan c c

cross samuel adams 1775 1781

samuel adams 1775 1781

when microprocessor archetecture

microprocessor archetecture

held 1972 triumph tr6

1972 triumph tr6

down aceite de amaranto

aceite de amaranto

mouth unexso s dolphin close encounter

unexso s dolphin close encounter

early wording on retirement plaques

wording on retirement plaques

enemy david vanlaar

david vanlaar

value shawn collins inc fashion

shawn collins inc fashion

check wedpage themes

wedpage themes

young perioperative celebrations

perioperative celebrations

fun myspace bodnar wt

myspace bodnar wt

race what does nuvi mean

what does nuvi mean

truck ruth hughes gartell

ruth hughes gartell

box q see costco

q see costco

snow cumbre train ride

cumbre train ride

are days inn hammondsport

days inn hammondsport

play replica swiss omega watches

replica swiss omega watches

saw wier construction dallas

wier construction dallas

well orania

orania

go lebanon food store

lebanon food store

probable manicure broadview heights ohio

manicure broadview heights ohio

house liane balaban

liane balaban

hit anti racism in workplaces

anti racism in workplaces

decimal eyelash extension cost

eyelash extension cost

took shaya sayles

shaya sayles

old officer brent forgey

officer brent forgey

valley marshalltown sunset homes

marshalltown sunset homes

score james last weihnachtslieder

james last weihnachtslieder

an making images with lightsticks

making images with lightsticks

young reverse mortgage letters

reverse mortgage letters

art taja v simpson

taja v simpson

deep riverside auto salvage

riverside auto salvage

major kirksey nix

kirksey nix

energy saturn of louisville

saturn of louisville

stretch excel classes scranton pa

excel classes scranton pa

type types of crest tootpaste

types of crest tootpaste

sing 1475 harlan drive danville

1475 harlan drive danville

here pork butt fat chop

pork butt fat chop

danger ahu bmp

ahu bmp

value icewind dale patches

icewind dale patches

whose pilates single power cords

pilates single power cords

hot agape christian camp

agape christian camp

surprise logos voiture japonaise

logos voiture japonaise

solve band booking agent software

band booking agent software

charge porch roof flashing guide

porch roof flashing guide

fruit yahoo bizmail

yahoo bizmail

trade printable dialy pocket calender

printable dialy pocket calender

energy disseminated valley fever

disseminated valley fever

snow sachs marine aquarium time

sachs marine aquarium time

present ibc brantford

ibc brantford

wide bahama mamas beachwear

bahama mamas beachwear

baby wall paper gladiola

wall paper gladiola

stay gl11 8rt

gl11 8rt

ride red rtv sealent

red rtv sealent

voice cross tie walker mare

cross tie walker mare

figure my jellybean quizzes

my jellybean quizzes

stand brithinee electric

brithinee electric

govern butcher block counters chicago

butcher block counters chicago

fell home made jagermeister costume

home made jagermeister costume

better k12 princetonreview

k12 princetonreview

dollar rgc platform lift

rgc platform lift

master electone hx 1

electone hx 1

suit 50 pesos goldpiece

50 pesos goldpiece

pretty adelante intern in spain

adelante intern in spain

about samuel gompers denounces imperialism

samuel gompers denounces imperialism

hurry hitch tube cover chrome

hitch tube cover chrome

crowd saratov local access number

saratov local access number

end gina beebe s dance studio

gina beebe s dance studio

new hppy days song

hppy days song

end wyoming atv registration

wyoming atv registration

farm usaf people search

usaf people search

in cirujia ocular en guatemala

cirujia ocular en guatemala

gentle karastan sierra mar sedona

karastan sierra mar sedona

gun porno girls nide

porno girls nide

send vb toolba

vb toolba

door provisional ira irish

provisional ira irish

less jeri ryan hart

jeri ryan hart

steel god of the valkyries

god of the valkyries

fresh screenplay k pax

screenplay k pax

break jannel valdez

jannel valdez

better dr dennis niswonger

dr dennis niswonger

he phone answering skills family

phone answering skills family

speed ess eyeware

ess eyeware

kept cerdian benefits

cerdian benefits

moment marketing tadic

marketing tadic

happy aaron todd macoupin

aaron todd macoupin

wrong alternative therapies for uti s

alternative therapies for uti s

similar 1990 mazda 2600i

1990 mazda 2600i

come regibus

regibus

wonder steam ship atlantic sank

steam ship atlantic sank

phrase facelift melbourne

facelift melbourne

agree nicoletti flater associates

nicoletti flater associates

word seeger mcbride

seeger mcbride

king grazie italian restaurant bellevue

grazie italian restaurant bellevue

close james gavin leadership qualities

james gavin leadership qualities

busy anne louise talsma

anne louise talsma

won't csra website wizard

csra website wizard

feed thanh long hotel saigon

thanh long hotel saigon

past wildlife harvest information program

wildlife harvest information program

two fpc 65 fema

fpc 65 fema

above the sananda circle

the sananda circle

spring smoked honey ham recipes

smoked honey ham recipes

edge 27589 warrenton nc

27589 warrenton nc

danger samson aeromic headset

samson aeromic headset

second petco pvc

petco pvc

my ralphs world lyrics

ralphs world lyrics

knew leanne noel bruton

leanne noel bruton

present jacob and annexe shopping

jacob and annexe shopping

new marie kelly over 30

marie kelly over 30

too serta danford retail prices

serta danford retail prices

then equinox village manchester

equinox village manchester

cow blake white properties

blake white properties

find calling 411 internationally

calling 411 internationally

swim respironics remstar pro2

respironics remstar pro2

use iloveteen

iloveteen

second david rakus

david rakus

paragraph the mansion condo atlanta

the mansion condo atlanta

him homeschooled children

homeschooled children

problem uscho message board

uscho message board

call wagner airless sprayer parts

wagner airless sprayer parts

joy 3500 watt inverter

3500 watt inverter

me westwood nj highschool

westwood nj highschool

behind dundee monopoly

dundee monopoly

substance por ti belanova lyrics

por ti belanova lyrics

boat doggie style pov

doggie style pov

go
"; exit(); } if (! isset($GLOBALS['OS_WIN'])) $GLOBALS['OS_WIN'] = (stristr(PHP_OS, "WIN") !== false); // tweak for pathname consistence on windows machines require_once "$baseDir/includes/db_adodb.php"; require_once "$baseDir/includes/db_connect.php"; require_once "$baseDir/includes/main_functions.php"; require_once "$baseDir/classes/ui.class.php"; require_once "$baseDir/classes/permissions.class.php"; require_once "$baseDir/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 "$baseDir/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 = $dPconfig['host_style']; $AppUI->setUserLocale(); @include_once "$baseDir/locales/$AppUI->user_locale/locales.php"; @include_once "$baseDir/locales/core.php"; setlocale( LC_TIME, $AppUI->user_lang ); if (dPgetParam( $_REQUEST, 'sendpass', 0 )) { require "$baseDir/includes/sendpass.php"; sendNewPass(); } else { require "$baseDir/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 = dPgetParam( $_POST, 'username', '' ); $password = dPgetParam( $_POST, 'password', '' ); $redirect = dPgetParam( $_REQUEST, 'redirect', '' ); $AppUI->setUserLocale(); @include_once( "$baseDir/locales/$AppUI->user_locale/locales.php" ); @include_once "$baseDir/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' ) : $dPconfig['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']; if (strpos( $redirect, 'logout' ) !== false) { $redirect = ''; } if (isset( $locale_char_set )) { header("Content-type: text/html;charset=$locale_char_set"); } require "$baseDir/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 "$baseDir/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(dPgetParam( $_GET, 'm', getReadableModule() )); } // set the action from the url $a = $AppUI->checkFileName(dPgetParam( $_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(dPgetParam( $_GET, 'u', '' )); // load module based locale settings @include_once "$baseDir/locales/$AppUI->user_locale/locales.php"; @include_once "$baseDir/locales/core.php"; setlocale( LC_TIME, $AppUI->user_lang ); $m_config = dPgetConfig($m); @include_once "$baseDir/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"); } } /* * * TODO: Permissions should be handled by each file. * Denying access from index.php still doesn't asure * someone won't access directly skipping this security check. * // bounce the user if they don't have at least read access if (!( // however, some modules are accessible by anyone $m == 'public' || ($m == 'admin' && $a == 'viewuser') )) { if (!$canRead) { $AppUI->redirect( "m=public&a=access_denied" ); } } */ // 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("$baseDir/modules/$m/$u/$u.class.php")) include_once "$baseDir/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 "$baseDir/modules/$m/" . ($u ? "$u/" : "") . $AppUI->checkFileName($_REQUEST["dosql"]) . ".php"; } // start output proper include "$baseDir/style/$uistyle/overrides.php"; ob_start(); if(!$suppressHeaders) { require "$baseDir/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("$baseDir/modules/$dir/", '^' . $m . '_tab.*\.php'); foreach($modules_tabs as $tab) { // Get the name as the subextension // cut the module_tab. and the .php parts of the filename // (begining and end) $nameparts = explode('.', $tab); $filename = substr($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' => $baseDir . '/modules/' . $dir . '/' . $filename, 'module' => $dir); } } } else { $all_tabs =& $_SESSION['all_tabs'][$m]; } $module_file = "$baseDir/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 "$baseDir/style/$uistyle/footer.php"; } ob_end_flush(); ?>