Select Git revision
inc_functions.php
index.php 3.82 KiB
<?php
/* ######################################################################
IML DEPLOYMENT
webgui - index file - controller like
ensure that you activated the rewrite rules
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/server-status$
RewriteRule ^(.*)$ index.php [QSA,L]
---------------------------------------------------------------------
2013-11-08 Axel <axel.hahn@iml.unibe.ch>
###################################################################### */
session_start();
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require_once("./classes/page.class.php");
require_once("../../config/inc_projects_config.php");
require_once("./classes/logger.class.php");
require_once("./classes/user.class.php");
global $oCLog;
$oCLog = new logger();
$oCLog->enableDebugByIp($aConfig['showdebug']['ip']);
require_once("./inc_functions.php");
require_once("./classes/htmlguielements.class.php");
$oHtml=new htmlguielements();
$sPrj = "";
$sAction = "overview";
// ------ check parameters
if (array_key_exists("prj", $aParams)) {
$sPrj = $aParams["prj"];
}
if (array_key_exists("action", $aParams)) {
if (file_exists(__DIR__ . '/pages/act_' . $aParams["action"] . ".php")) {
$sAction = $aParams["action"];
}
}
$oCLog->add("parsing params "
. '<pre>GET '.print_r($_GET, true).'</pre>'
. '<pre>POST '.print_r($_POST, true).'</pre>'
. '<pre>aParams: '.print_r($aParams, true).'</pre>'
);
// ------ Ausgabe
$sHeader = '<style>';
foreach ($aConfig["phases"] as $sPhase => $aData) {
$sHeader.=array_key_exists("bgdark", $aData["css"]) ? 'th.' . $sPhase . '{' . $aData["css"]["bgdark"] . '}' : '';
$sHeader.=array_key_exists("bglight", $aData["css"]) ? 'td.' . $sPhase . ', div.' . $sPhase . '{' . $aData["css"]["bglight"] . '}' : '';
$sHeader.=array_key_exists("bgbutton", $aData["css"]) ? 'a.' . $sPhase . ',a.' . $sPhase . ':hover,button.' . $sPhase . ',button.' . $sPhase . ':hover{' . $aData["css"]["bgbutton"] . '}' : '';
}
$sHeader.='</style>';
$sTopArea=getTopArea();
$sTopAction=getAction();
// ------ action
$oUser=new user();
if ($oUser->hasPermission('page_'.$sAction)){
$sActionFile = __DIR__ . '/pages/act_' . $sAction . ".php";
$oCLog->add("including $sActionFile");
ob_start();
if (!@include($sActionFile)) {
include("./pages/error_404.php");
}
$sPhpOut = ob_get_contents();
ob_end_clean();
$oCLog->add("including done $sActionFile");
$oCLog->add("adding actionlog.class");
if ($oUser->getUsername()){
require_once("./classes/actionlog.class.php");
$aFilter=array('limit'=>'0, 10');
if ($sPrj && $sPrj!="all"){
$aFilter['project']=$sPrj;
}
$oLog=new Actionlog($sPrj);
$sPhpOut.='<div class="logs">' . $oLog->renderLogs($aFilter).'</div>';
}
$oCLog->add("adding actionlog.class done");
} else {
$sPhpOut=$oUser->showDenied();
// return false;
}
$oCLog->add("Finally: rendering page ...");
$sPhpOut = '
<div id="header" style="display: none;">
IML DEPLOYMENT GUI
</div>
<br>
' . $sTopArea . '
<div id="content">
' . $sTopAction . '
' . $sPhpOut . '
</div>
<div id="footer">
IML Deployment © 2015-' . date("Y") . ' <a href="https://gitlab.iml.unibe.ch/admins/imldeployment/tree/master" target="_blank">Institut für medizinische Lehre; Universität Bern</a>
</div>
'.$oCLog->render();
$oPage = new Page();
$oPage->addResponseHeader("Pragma: no-cache");
$oPage->setOutputtype('html');
$oPage->setHeader($sHeader);
$oPage->addJsOnReady('');
$oPage->setContent($sPhpOut);
echo $oPage->render();