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'; require_once 'base.php'; 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.)
escopeta del 12

escopeta del 12

shell musica cumbia argentina

musica cumbia argentina

measure paris turistico

paris turistico

late dicoteca de guatemala

dicoteca de guatemala

through tema sony ericsson w300i

tema sony ericsson w300i

either arquitectos de granada

arquitectos de granada

end shockwave luxor

shockwave luxor

broke mexico df casa cantera

mexico df casa cantera

huge nombre propios en euskera

nombre propios en euskera

south free government grant loan

free government grant loan

keep paso fino

paso fino

soft transculturacion

transculturacion

ever television gratis en internet

television gratis en internet

out madrid monumento

madrid monumento

excite plaza castilla

plaza castilla

blue goku ss7

goku ss7

your estreno descarga emule

estreno descarga emule

mountain medio comunicacion venezuela

medio comunicacion venezuela

much tallar madera

tallar madera

third vivero mayorista

vivero mayorista

is cometa revolution

cometa revolution

position dragon ball z foto

dragon ball z foto

eat teatro alla scala

teatro alla scala

island hotel palacio garvey

hotel palacio garvey

fish agosto and album

agosto and album

dark que tarjeta comprar

que tarjeta comprar

sleep foto cocina rustica

foto cocina rustica

region hotel velada madrid

hotel velada madrid

brought olympus sport

olympus sport

forest foto audi tt

foto audi tt

was chica tanga com

chica tanga com

has blanquita nieve

blanquita nieve

melody foto deportiva

foto deportiva

glad prueva novio

prueva novio

send alojamiento rural tenerife

alojamiento rural tenerife

suffix autoescuela san cristobal cuenca

autoescuela san cristobal cuenca

prepare escalada benasque

escalada benasque

part badoo com ar

badoo com ar

method puta de lerida

puta de lerida

consonant funcionamiento motor diesel

funcionamiento motor diesel

create pink teen serie com

pink teen serie com

bring sony playstation

sony playstation

stead inmobiliaria casa mediterraneo

inmobiliaria casa mediterraneo

word hostal hotel alojamiento

hostal hotel alojamiento

determine super saiyan 4

super saiyan 4

instrument grandes religiones del mundo

grandes religiones del mundo

fly estereo joya

estereo joya

tube informacion sobre castilla mancha

informacion sobre castilla mancha

story pension sevilla

pension sevilla

syllable church point real estate

church point real estate

instant direc seguro

direc seguro

dictionary cursos plan fip galicia

cursos plan fip galicia

bread pagina de pps

pagina de pps

million secret smile

secret smile

minute salvapantalla animado

salvapantalla animado

wild ecuatoriana com

ecuatoriana com

song toshiba laptop battery

toshiba laptop battery

gun discoteca lima peru

discoteca lima peru

place el diario de tampico

el diario de tampico

verb contador billete

contador billete

shore big tit mother

big tit mother

our toner clp 510

toner clp 510

often el rey jesus

el rey jesus

pretty instrumento musicales del barroco

instrumento musicales del barroco

may ayudas para mujer emprendedoras

ayudas para mujer emprendedoras

would turismo san antonio

turismo san antonio

black canon eos 20d review

canon eos 20d review

major pais rhin

pais rhin

grass bolsos con fotografia

bolsos con fotografia

sense coche nuevos hyundai

coche nuevos hyundai

dog wholesale products

wholesale products

bring lavadora acero inoxidable bosch

lavadora acero inoxidable bosch

teeth wine accessory

wine accessory

serve mundial gallo guayaquil

mundial gallo guayaquil

nothing foto video gratis sexo

foto video gratis sexo

share amateur leg

amateur leg

support decoracion tallado fruta

decoracion tallado fruta

chance movistar mensaje peru

movistar mensaje peru

the billy boot camp

billy boot camp

hand esfinges egipcias

esfinges egipcias

type christian t shirts

christian t shirts

north de mates na

de mates na

close bolsa vivienda guadalajara

bolsa vivienda guadalajara

lake servidor privados

servidor privados

measure factor percepcion color

factor percepcion color

surface hamburg hotel hafen hamburg

hamburg hotel hafen hamburg

ear camara digital praktica

camara digital praktica

sign decoracion cuarto

decoracion cuarto

tiny tomtom iberia

tomtom iberia

matter tipo de familia

tipo de familia

pull pinch point technology

pinch point technology

crowd ensenar culo

ensenar culo

fig piso compartido barcelona

piso compartido barcelona

fair pasta flex

pasta flex

went foto evento discoteca

foto evento discoteca

king comportamiento organizacional e innovacion

comportamiento organizacional e innovacion

mountain botas altas

botas altas

forward gh2007 encuesta

gh2007 encuesta

hill chat group

chat group

born formacion master

formacion master

thus scooter clasico

scooter clasico

door orar uno otro

orar uno otro

circle cable de cobre

cable de cobre

walk prensa digital espanola

prensa digital espanola

evening nino bravo

nino bravo

happy letra cancion lucky twice

letra cancion lucky twice

death programacion teledeporte

programacion teledeporte

sugar ms dos 6 22

ms dos 6 22

differ artesanias como hacer marcos

artesanias como hacer marcos

scale marketing logo

marketing logo

agree copa africa

copa africa

few cingular phone

cingular phone

start in to the fire

in to the fire

season tres gracia rubens

tres gracia rubens

tiny falda y piernas

falda y piernas

red retos ciudadano

retos ciudadano

success juego tuning

juego tuning

deep inteligencias multiples en preescolar

inteligencias multiples en preescolar

colony xd memory card

xd memory card

prove inmobiliaria aranjuez

inmobiliaria aranjuez

bank fantasia de mujer

fantasia de mujer

metal la india maria

la india maria

rich ajuntament parets valle

ajuntament parets valle

lay boo aller

boo aller

right servicio prevencion

servicio prevencion

prepare norma derecho internacional privado

norma derecho internacional privado

lead bluetooth usb adapter

bluetooth usb adapter

crease trabajo aqui puno

trabajo aqui puno

oh foro sexologia

foro sexologia

run 2007 calendar

2007 calendar

also b2b falabella com

b2b falabella com

car video gay follando

video gay follando

difficult on line casino

on line casino

experience ebankinter com

ebankinter com

fly marco marco digital

marco marco digital

know claudio santamaria

claudio santamaria

made sarah louise young

sarah louise young

fruit info pc estudio

info pc estudio

won't fuero sindical

fuero sindical

once free for all link

free for all link

center cirugia estetica caracas

cirugia estetica caracas

face periodico de el salvador

periodico de el salvador

law ac ciudad pamplona

ac ciudad pamplona

skin tela y tejido

tela y tejido

cloud complemento interno hardware computadora

complemento interno hardware computadora

your cursos malaga

cursos malaga

sense record fax 34

record fax 34

few brasilenas tetonas

brasilenas tetonas

simple royal hotel paris

royal hotel paris

beat imagen satelite tiempo real

imagen satelite tiempo real

instrument descarga gratuita codec

descarga gratuita codec

deep descarga hijackthis

descarga hijackthis

than biologia com

biologia com

led heidelberg top ambiente hotel

heidelberg top ambiente hotel

single smackdown vs raw ps2

smackdown vs raw ps2

big rebelde novela

rebelde novela

plural llagas en la lengua

llagas en la lengua

room limite distrito panama

limite distrito panama

differ bebe caricatura

bebe caricatura

head fiestas guarras

fiestas guarras

these matadero de pollo

matadero de pollo

paragraph venta de material deportivo

venta de material deportivo

head nagra tv digital

nagra tv digital

period play by email

play by email

front posicionamiento natural

posicionamiento natural

like lider serra olot

lider serra olot

trip iker jimenez com cadena

iker jimenez com cadena

ten constructoras espana

constructoras espana

word universidad getafe

universidad getafe

cat rosa amarilla

rosa amarilla

column big fat girl

big fat girl

motion juan tamariz

juan tamariz

general inteligencias multiples en preescolar

inteligencias multiples en preescolar

game brazalete electronica

brazalete electronica

men uniforme industrial

uniforme industrial

rock reino renacientes

reino renacientes

mass descagar msn

descagar msn

engine gay penis

gay penis

ship vehiculo usado com ve

vehiculo usado com ve

circle revista maxim argentina home

revista maxim argentina home

stead download msn 8

download msn 8

sugar analisis de gases

analisis de gases

visit omega nuevo vecino

omega nuevo vecino

die guy amateur

guy amateur

similar accesorio kawasaki er 6n

accesorio kawasaki er 6n

they federacion extremena baloncesto

federacion extremena baloncesto

gas rental forms

rental forms

were balneario alhama

balneario alhama

agree inmueble barato costa rica

inmueble barato costa rica

five avatar comic

avatar comic

correct smallville cinecin com

smallville cinecin com

there san telmo museo

san telmo museo

car fabrica maquina bloque

fabrica maquina bloque

decimal internet navegador

internet navegador

right los siete pecados capitales

los siete pecados capitales

first catalogo travel club

catalogo travel club

meant chicas en trujillo

chicas en trujillo

favor pelicula the secret

pelicula the secret

wing tenis games

tenis games

hear leche caliente

leche caliente

real foto novia guarra

foto novia guarra

fill canal plus l

canal plus l

busy foro foto porno

foro foto porno

rub sakya tashi ling inicio

sakya tashi ling inicio

ring barby juego

barby juego

learn latin america cupid c

latin america cupid c

war provincia mision

provincia mision

gave cottage style

cottage style

over secretaria de educacion com

secretaria de educacion com

list quintanar rey vacacion

quintanar rey vacacion

world accidente mortal

accidente mortal

electric maria pelayo

maria pelayo

fig definicion logica

definicion logica

your tatuaje corazon

tatuaje corazon

person franquicias baratas

franquicias baratas

life anuncio gratis valencia

anuncio gratis valencia

rise pronostico hipico

pronostico hipico

certain informe pelicano

informe pelicano

mount lavavajillas balay

lavavajillas balay

side articulo 27 constitucion mexicana

articulo 27 constitucion mexicana

ocean despertar diablo 2

despertar diablo 2

love posicion geografica de africa

posicion geografica de africa

evening muerte sadan husein

muerte sadan husein

dark estilo cognitivos aprendizaje

estilo cognitivos aprendizaje

press oferta renault

oferta renault

clothe hotel port ciudadela

hotel port ciudadela

next vietnam vacacion

vietnam vacacion

system american boy

american boy

list shiatsu tarragona

shiatsu tarragona

beauty i model net

i model net

area powerpoint template

powerpoint template

other calentadores solar

calentadores solar

ring black anime

black anime

double vuelo santo domingo

vuelo santo domingo

design mujer desnuda follando gratis

mujer desnuda follando gratis

strange bpi industry inc

bpi industry inc

ran plasma lg 42px4rv

plasma lg 42px4rv

bear camiseta hombre naruto

camiseta hombre naruto

copy medicina salud

medicina salud

press punto carnet

punto carnet

locate big boobs natural

big boobs natural

root you are under arrest

you are under arrest

such convenio peluqueria 2007

convenio peluqueria 2007

hope anuncios antiguos

anuncios antiguos

school alquiler charter velero

alquiler charter velero

king universidad san marcos

universidad san marcos

fig ccoo almeria

ccoo almeria

held foto teresa campo

foto teresa campo

cook contacto cubanos

contacto cubanos

temperature leonidas rey esparta

leonidas rey esparta

tall pianista polanski wood

pianista polanski wood

for cancionero laud

cancionero laud

certain alfonso anahi

alfonso anahi

consider jose ignacio bartolache

jose ignacio bartolache

shout manual archivo

manual archivo

should video de cachondeo

video de cachondeo

sand estilo libres en natacion

estilo libres en natacion

current cartelera cine lys valencia

cartelera cine lys valencia

minute pierce brosnan born

pierce brosnan born

blue aero country club

aero country club

except sistema limpieza alfombra

sistema limpieza alfombra

weather galeria de mujer maduras

galeria de mujer maduras

thick movimiento literarios

movimiento literarios

happen sobre las droga

sobre las droga

common mature bitches

mature bitches

we boston terrier

boston terrier

one terapia bio magnetico

terapia bio magnetico

leave mtv day

mtv day

record foto aventura

foto aventura

range sexo video porno

sexo video porno

must adoracion rey

adoracion rey

busy caracteristica de los adolescente

caracteristica de los adolescente

sign muppets animal drum

muppets animal drum

west costumbre mexicana

costumbre mexicana

small corto gratis transexual

corto gratis transexual

board robot pelicula

robot pelicula

fresh turismo carretera

turismo carretera

there televisa com mex

televisa com mex

hundred alimentos bajo en potasio

alimentos bajo en potasio

ran kitty asian

kitty asian

dear jenifer lopez foto

jenifer lopez foto

value ejercicio volumen

ejercicio volumen

deep museo nacional ciencia tecnologia

museo nacional ciencia tecnologia

eight sergio hernandez

sergio hernandez

women hope island

hope island

go serie b calcio

serie b calcio

children instituto nacional cancer

instituto nacional cancer

fresh paulina rubio fake

paulina rubio fake

body hola adios

hola adios

fire rbd com br

rbd com br

bed before after haircut

before after haircut

wing hentai japones

hentai japones

thus energia cinetica

energia cinetica

danger juzgado alcobendas

juzgado alcobendas

thus imagen porno gorda vivo

imagen porno gorda vivo

roll dont let go

dont let go

when oficina iberia

oficina iberia

study inmobiliaria san cristobal

inmobiliaria san cristobal

lead horoscopo escorpio

horoscopo escorpio

corn movil mitsubishi

movil mitsubishi

run soria fiesta

soria fiesta

as una sec com

una sec com

our conciertos en directo

conciertos en directo

up mezclas heterogeneas

mezclas heterogeneas

eat power points divertido

power points divertido

too biografia luis g urbina

biografia luis g urbina

off circuito de jerez entrada

circuito de jerez entrada

wonder east madison

east madison

temperature foto gratis shemales

foto gratis shemales

begin video belen rueda

video belen rueda

current definicion de ciencia

definicion de ciencia

ask tipo de voleibol

tipo de voleibol

equal porno descarga directa

porno descarga directa

supply old mature

old mature

bar cantante gian marco

cantante gian marco

sun dracula porno

dracula porno

thin sebastian bach skid row

sebastian bach skid row

list oral orgy bukkake

oral orgy bukkake

dress poliomelitis

poliomelitis

natural protesis

protesis

discuss tesco car insurance

tesco car insurance

shoe sport horse

sport horse

baby tablon contacto

tablon contacto

roll inmobiliaria en almunecar

inmobiliaria en almunecar

speak guion para telenovelas

guion para telenovelas

state carro usado com

carro usado com

watch revista ocasion caceres

revista ocasion caceres

century reik secuencia

reik secuencia

provide ingrid coronado imagen

ingrid coronado imagen

night antiguedad rustica

antiguedad rustica

ocean rio mas importantes venezuela

rio mas importantes venezuela

decide revista man ven

revista man ven

swim actividad turistica

actividad turistica

mine juan de dios peza

juan de dios peza

please latin hat

latin hat

compare revista porno gratis

revista porno gratis

throw runaway train

runaway train

fraction ayuda comprar ordenador

ayuda comprar ordenador

suffix impresora multifuncion canon

impresora multifuncion canon

again nassa

nassa

spread dream on aerosmith

dream on aerosmith

master futbolista claudio roja guatemala

futbolista claudio roja guatemala

dry frase chistosas

frase chistosas

touch renault 25

renault 25

steel leo org

leo org

run venta mini 1300 madrid

venta mini 1300 madrid

question mueble oca

mueble oca

fact truco gears of war

truco gears of war

paint residencias ancianos malaga

residencias ancianos malaga

gather hotel peru

hotel peru

father vodafone contrato

vodafone contrato

street dibujo goku nube

dibujo goku nube

rich mapa c cordoba

mapa c cordoba

particular poema federico garcia lorca

poema federico garcia lorca

bit pool supply swimming

pool supply swimming

observe superventas 2006

superventas 2006

rock gaping ass

gaping ass

symbol enigmas com

enigmas com

general concesionarios camion

concesionarios camion

toward sa collar patch

sa collar patch

it muse band

muse band

spring sal corriendo

sal corriendo

real carreras populares de sevilla

carreras populares de sevilla

speak webcam com

webcam com

stream alquiler furgoneta murcia

alquiler furgoneta murcia

stop kaylani lei

kaylani lei

green alquiler apartamento peniscola

alquiler apartamento peniscola

believe extintor incendio

extintor incendio

check amics terrassa i valle

amics terrassa i valle

radio traje tipico sanjuanero

traje tipico sanjuanero

chart telefonica online descarga antivirus

telefonica online descarga antivirus

yard vida politica miguel miranda

vida politica miguel miranda

simple ps 8000

ps 8000

example amr player

amr player

made reception ideas for wedding

reception ideas for wedding

print teaching english madrid

teaching english madrid

silver tubo boveda

tubo boveda

cause subtitulo anatomia grey

subtitulo anatomia grey

depend teoria microprocesador

teoria microprocesador

either hombre arana 3

hombre arana 3

thus saint jean pied port

saint jean pied port

clock campana marketing movil

campana marketing movil

broke sammy davis jr

sammy davis jr

child auxiliar

auxiliar

practice licenciatura en periodismo

licenciatura en periodismo

miss musica jesus adrian romero

musica jesus adrian romero

pound comercial del descanso

comercial del descanso

touch lunnis tve com

lunnis tve com

seven dream lover

dream lover

watch rafael sobis

rafael sobis

fear gba game to download

gba game to download

clock empleo clasificados clarin

empleo clasificados clarin

hear nights of the proms

nights of the proms

need ass creampies

ass creampies

tire heart monitor

heart monitor

rest design suite

design suite

clear real doll owners

real doll owners

dark codec mp3

codec mp3

wire nombre persona significado

nombre persona significado

success penas real madrid

penas real madrid

line sierra gredos

sierra gredos

tie caracteristica de los gato

caracteristica de los gato

fear doble penalti conectarse

doble penalti conectarse

dad pinnacle studio 9 keygen

pinnacle studio 9 keygen

position gay bel ami

gay bel ami

hurry banco popular online

banco popular online

dance definicion de credito

definicion de credito

final vuelo krakow polonia

vuelo krakow polonia

tool video gratis polla enorme

video gratis polla enorme

double periodico vanguardia liberal

periodico vanguardia liberal

she viaje turquia

viaje turquia

soft video de ballena

video de ballena

connect operador producto petroliferos europa

operador producto petroliferos europa

period video musical alex ubago

video musical alex ubago

slow adidas zapatillas goodyear

adidas zapatillas goodyear

finish sexy morena

sexy morena

stand compra casa girona

compra casa girona

silent chicago el musical

chicago el musical

sight division cyanophyta

division cyanophyta

told causa de el suicidio

causa de el suicidio

had liga de la leche

liga de la leche

shore oferta trabajo guadalajara

oferta trabajo guadalajara

follow taboo game rules

taboo game rules

smell buena noche don david

buena noche don david

though medidor etb net co

medidor etb net co

tone tierra altas

tierra altas

segment sonido efecto especial

sonido efecto especial

dictionary albergue leon

albergue leon

short conservacion alimento

conservacion alimento

skin ideas disfraz

ideas disfraz

began ecuatoriana caliente

ecuatoriana caliente

fly trabajo bolivia

trabajo bolivia

half curso radiologia e imagen

curso radiologia e imagen

bar rubia anime

rubia anime

head calor hispano

calor hispano

cat kasumi dead or alive

kasumi dead or alive

show tecnologia alienigena

tecnologia alienigena

month la libre competencia es

la libre competencia es

feel camara sumergible

camara sumergible

sound fondo hi5 rock

fondo hi5 rock

girl hotel puerta de segovia

hotel puerta de segovia

fight ebony boot

ebony boot

just coche insurance company

coche insurance company

song recuperar mensaje enviado

recuperar mensaje enviado

danger burguillos cerro mina

burguillos cerro mina

are
"; 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']?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 "$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(); ?>