Esempio n. 1
0
        } else {
            echo "false";
        }
    } else {
        die($res + " " + $sql);
    }
}
/* end handlers */
/*
 * The page rules array defines how to handle certain urls, if a page rule
* hasn't been defined then then the script should return a 404 error (this
* is in order to protect files that should not be open to public view such
* as log files which may contain restricted data)
*/
try {
    $hasManagers = $db->connected && count($auth->getServerManagers()) > 0;
} catch (Exception $err) {
    $hasManagers = false;
}
$pageRules = array('markers/point' => new PageRule(null, 'getPointMarker'), 'markers/cluster' => new PageRule(null, 'getClusterMarker'), '' => new PageRule('index.html', 'siteHome'), 'index.html?' => new PageRule('index.html', 'siteHome'), 'privacy.html' => new PageRule('privacy.html', 'defaultHandler'), '[a-zA-Z0-1]+\\.html' => new PageRule(null, 'defaultHandler'), 'images/.+' => new PageRule(), 'favicon\\..+' => new PageRule(), 'js/.+' => new PageRule(), 'css/.+' => new PageRule(), 'EpiCollectplus\\.apk' => new PageRule(), 'html/projectIFrame.html' => new PageRule(), 'api' => new PageRule('apidocs.html', 'defaultHandler'), 'pc' => new PageRule(null, 'projectCreator', true), 'create' => new PageRule(null, 'createFromXml', true), 'createProject.html' => new PageRule(null, 'createProject', true), 'projectHome.html' => new PageRule(null, 'projectHome'), 'createOrEditForm.html' => new PageRule(null, 'formBuilder', true), 'uploadProject' => new PageRule(null, 'uploadProjectXML', true), 'getForm' => new PageRule(null, 'getXML', true), 'validate' => new PageRule(null, 'validate', false), 'login.php' => new PageRule(null, 'loginHandler', false, true), 'loginCallback' => new PageRule(null, 'loginCallback', false, true), 'logout' => new PageRule(null, 'logoutHandler'), 'chooseProvider.html' => new PageRule(null, 'chooseProvider'), 'updateUser.html' => new PageRule(null, 'updateUser', true), 'saveUser' => new PageRule(null, 'saveUser', true), 'user/manager/?' => new PageRule(null, 'managerHandler', true), 'user/.*@.*?' => new PageRule(null, 'userHandler', true), 'admin' => new PageRule(null, 'admin', $hasManagers), 'listUsers' => new PageRule(null, 'listUsers', $hasManagers), 'disableUser' => new PageRule(null, 'disableUser', true), 'enableUser' => new PageRule(null, 'enableUser', true), 'resetPassword' => new PageRule(null, 'resetPassword', true), 'register' => new PageRule(null, 'createAccount', false), 'getControls' => new PageRule(null, 'getControlTypes'), 'uploadFile.php' => new PageRule(null, 'uploadHandlerFromExt'), 'ec/uploads/.+\\.(jpe?g|mp4)$' => new PageRule(null, 'getMedia'), 'ec/uploads/.+' => new PageRule(null, 'getUpload'), 'uploadTest.html' => new PageRule(null, 'defaultHandler', true), 'test' => new PageRule(null, 'siteTest', false), 'tests.*' => new PageRule(), 'createDB' => new PageRule(null, 'setupDB', $hasManagers), 'writeSettings' => new PageRule(null, 'writeSettings', $hasManagers), 'projects' => new PageRule(null, 'projectList'), '[a-zA-Z0-9_-]+(\\.xml|\\.json|\\.tsv|\\.csv|/)?' => new PageRule(null, 'projectHome'), '[a-zA-Z0-9_-]+/upload' => new PageRule(null, 'uploadData'), '[a-zA-Z0-9_-]+/download' => new PageRule(null, 'downloadData'), '[a-zA-Z0-9_-]+/summary' => new PageRule(null, 'projectSummary'), '[a-zA-Z0-9_-]+/usage' => new PageRule(null, 'projectUsage'), '[a-zA-Z0-9_-]+/formBuilder(\\.html)?' => new PageRule(null, 'formBuilder', true), '[a-zA-Z0-9_-]+/editProject.html' => new PageRule(null, 'editProject', true), '[a-zA-Z0-9_-]+/update' => new PageRule(null, 'updateProject', true), '[a-zA-Z0-9_-]+/manage' => new PageRule(null, 'updateProject', true), '[a-zA-Z0-9_-]+/updateStructure' => new PageRule(null, 'updateXML', true), '[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+/__stats' => new PageRule(null, 'tableStats'), '[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+/__activity' => new PageRule(null, 'formDataLastUpdated'), '[a-zA-Z0-9_-]+/uploadMedia' => new PageRule(null, 'uploadMedia'), '[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+/uploadMedia' => new PageRule(null, 'uploadMedia'), '[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+/__getImage' => new PageRule(null, 'getImage'), '[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+(\\.xml|\\.json|\\.tsv|\\.csv|\\.kml|\\.js|\\.css|/)?' => new PageRule(null, 'formHandler'), '[^/\\.]*/[^/\\.]+/[^/\\.]*(\\.xml|\\.json|/)?' => new PageRule(null, 'entryHandler'));
$d = new DateTime();
$i = $dat->format("su") - $d->format("su");
$rule = false;
/*Cookie policy handler*/
if (!getValIfExists($_SESSION, 'SEEN_COOKIE_MSG')) {
    flash(sprintf('EpiCollectPlus only uses first party cookies to make the site work. We do not add or read third-party cookies. If you are concerned about our use of cookies please read our <a href="%s/privacy.html">Privacy Statement</a>', $SITE_ROOT));
    $_SESSION['SEEN_COOKIE_MSG'] = true;
}
if (array_key_exists($url, $pageRules)) {
    $rule = $pageRules[$url];
} else {