Skip to content
Snippets Groups Projects
Commit 90046305 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

Merge branch 'projects-in-ldap' into 'master'

Projects in ldap

See merge request !26
parents d8a6b0d4 cdae87ae
No related branches found
No related tags found
No related merge requests found
Showing
with 575 additions and 177 deletions
...@@ -18,6 +18,7 @@ return array( ...@@ -18,6 +18,7 @@ return array(
"page_build", "page_build",
"page_cleanup", "page_cleanup",
"page_deploy", "page_deploy",
"page_htmltest",
"page_phase", "page_phase",
"page_setup", "page_setup",
...@@ -42,6 +43,7 @@ return array( ...@@ -42,6 +43,7 @@ return array(
"page_cleanup", "page_cleanup",
"page_delete", "page_delete",
"page_deploy", "page_deploy",
"page_htmltest",
"page_phase", "page_phase",
"page_setup", "page_setup",
......
...@@ -224,6 +224,7 @@ ...@@ -224,6 +224,7 @@
"defaultbranch": "[default: Master oder Trunk]", "defaultbranch": "[default: Master oder Trunk]",
"deploy": "Deploy", "deploy": "Deploy",
"deploy-hint": "Deploy der Queue von Phase [%s]", "deploy-hint": "Deploy der Queue von Phase [%s]",
"deploy-impossible": "Deploy der Queue von Phase [%s] ist nicht möglich.",
"deploy-settings": "Deployment - Einstellungen", "deploy-settings": "Deployment - Einstellungen",
"deploytimes": "Deployment Zeitpunkte", "deploytimes": "Deployment Zeitpunkte",
"deploytimes-immediately": "Ein Archiv in der Queue wird sofort ins Repo gestellt.", "deploytimes-immediately": "Ein Archiv in der Queue wird sofort ins Repo gestellt.",
...@@ -273,7 +274,7 @@ ...@@ -273,7 +274,7 @@
"replacement-fields-not-found": "Es wurden keine Platzhalter im Format <em>@replace[&quot;Name&quot;]</em> im Template gefunden.", "replacement-fields-not-found": "Es wurden keine Platzhalter im Format <em>@replace[&quot;Name&quot;]</em> im Template gefunden.",
"replacement-targetfile": "Ziel-Datei", "replacement-targetfile": "Ziel-Datei",
"replacements": "Ersetzungen mit Template-Dateien", "replacements": "Ersetzungen mit Template-Dateien",
"replacements-info": "Beim Build-Prozess gefundene Templates werden aufgelistet und darin erkannte Platzhalter erkannt. Die Felder sind ausschliesslich für die neue Infrastruktur relevant.", "replacements-info": "Beim Build-Prozess gefundene Templates werden aufgelistet und darin vorhandene Platzhalter erkannt. Die Felder sind ausschliesslich für die neue Infrastruktur relevant.",
"repositoryinfos": "Quell-Repository", "repositoryinfos": "Quell-Repository",
"repository-access-browser": "Browserzugriff auf das Repo", "repository-access-browser": "Browserzugriff auf das Repo",
"repository-auth": "Authentifizierung/ Dateiname zum SSH-Private-Key", "repository-auth": "Authentifizierung/ Dateiname zum SSH-Private-Key",
......
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
"class-project-info-table-packages": "The table below shows the existing packages and where they are in use.", "class-project-info-table-packages": "The table below shows the existing packages and where they are in use.",
"class-project-warning-cannot-delete-archive-dir": "WARNING: The archive directory %s could not be deleted.", "class-project-warning-cannot-delete-archive-dir": "WARNING: The archive directory %s could not be deleted.",
"class-project-warning-cannot-delete-build-dir": "WARNING: The Build directory %s could not be deleted.", "class-project-warning-cannot-delete-build-dir": "WARNING: The Build directory %s could not be deleted.",
"class-project-warning-phase-not-active": "The phase %s is not aktive.", "class-project-warning-phase-not-active": "The phase %s is not active.",
"class-user-error-deny-no-role": "ERRROR: Your User has not enough permissions.", "class-user-error-deny-no-role": "ERRROR: Your User has not enough permissions.",
...@@ -226,6 +226,7 @@ ...@@ -226,6 +226,7 @@
"defaultbranch": "[default: master or trunk]", "defaultbranch": "[default: master or trunk]",
"deploy": "Deploy", "deploy": "Deploy",
"deploy-hint": "Deploy queue of phase [%s]", "deploy-hint": "Deploy queue of phase [%s]",
"deploy-impossible": "Deploy queue of phase [%s] is not possible.",
"deploy-settings": "Deployment - settings", "deploy-settings": "Deployment - settings",
"deploymethod": "Deployment method", "deploymethod": "Deployment method",
"deploymethod-none": "None. Do not trigger any action.", "deploymethod-none": "None. Do not trigger any action.",
......
<?php
/**
* html gui elements
* for bootstrap
* see http://dev.ci.iml.unibe.ch:8002/deployment/all/htmltest/
*
* $oHtml=new htmlguielements();
*
* echo $oHtml->getBox('error', 'errormessage');
* echo $oHtml->getIcon('fa-pencil');
*
* echo $oHtml->getLink(array(
* 'href'=>'https://www.axel-hahn.de',
* 'class'=>'btn btn-primary',
* 'icon'=>'fa-close',
* 'label'=>'linked text',
* ));
*
* echo $oHtml->getTabs(
* array(
* 'tab 1'=>'Inhalt #1',
* 'tab 2'=>'Inhalt #2',
* )
* );
*
*
* @author hahn
*/
class htmlguielements{
var $aCfg=array(
'buttons'=>array(
// bootstrap defaults
'primary'=>array('class'=>'btn-primary', 'icon'=>''),
'success'=>array('class'=>'btn-success', 'icon'=>''),
'info'=>array('class'=>'btn-info', 'icon'=>''),
'warning'=>array('class'=>'btn-warning', 'icon'=>''),
'danger'=>array('class'=>'btn-danger', 'icon'=>''),
// custom buttons
'close'=>array('class'=>'btn-danger', 'icon'=>'fa-close'),
'error'=>array('class'=>'btn-danger', 'icon'=>'fa-bolt'),
'ok'=>array('class'=>'btn-primary', 'icon'=>'fa-check'),
// deploy actions and buttons
'accept'=>array('class'=>'', 'icon'=>'glyphicon-forward'),
'build'=>array('class'=>'', 'icon'=>'glyphicon-equalizer'),
'cleanup'=>array('class'=>'', 'icon'=>'glyphicon-chevron-right'),
'deploy'=>array('class'=>'', 'icon'=>'glyphicon-forward'),
'new'=>array('class'=>'', 'icon'=>'glyphicon-star-empty'),
'overview'=>array('class'=>'', 'icon'=>'glyphicon-book'),
'phase'=>array('class'=>'', 'icon'=>'glyphicon-chevron-right'),
'rollback'=>array('class'=>'', 'icon'=>'glyphicon-forward'),
'setup'=>array('class'=>'', 'icon'=>'glyphicon-cog'),
),
'icons'=>array(
'branch'=>'glyphicon-bookmark',
'calendar'=>'glyphicon-calendar',
'comment'=>'glyphicon-comment',
'revision'=>'glyphicon-tag',
),
);
public function __construct() {
return true;
}
// ----------------------------------------------------------------------
// helper function
// ----------------------------------------------------------------------
/**
* add an html attribute if the attribute exists as a key
* @param string $sAttribute html attribute to add
* @param string $aData item array
* @param string $sDefault use default if key does not exists
* @return string
*/
public function addAttributeFromKey($sAttribute, $aData, $sDefault=''){
return (array_key_exists($sAttribute, $aData)
? $this->addAttribute($sAttribute, $aData[$sAttribute])
: $this->addAttribute($sAttribute, $sDefault)
);
}
/**
* add an html attribute if value is not empty
* @param string $sAttribute html attribute to add
* @param string $sValue value of attribute
* @return string
*/
public function addAttribute($sAttribute, $sValue){
return ($sValue ? ' '.$sAttribute.'="'.$sValue.'"' : '' );
}
// ----------------------------------------------------------------------
// low level
// ----------------------------------------------------------------------
/**
* get html code for icon; glypphicons and font-awesome is supported
*
* @param string $sLabel label of icon
* @return string
*/
public function getIcon($sLabel){
if(!$sLabel){
return '';
}
$sPrefix=(
strpos($sLabel, 'glyphicon-')===0 ? 'glyphicon'
: ( strpos($sLabel, 'fa-')===0 ? 'fa' : '')
);
if(!$sPrefix){
return '';
}
return '<i'.$this->addAttribute('class', ($sPrefix ? $sPrefix . ' ' : '').$sLabel).'></i> ';
}
/**
* get a default icon from config
* @param string $sType icon type
* @return array
*/
public function getIconByType($sType){
return (array_key_exists($sType, $this->aCfg['icons'])
? $this->getIcon($this->aCfg['icons'][$sType])
: ''
);
}
/**
* get html code for icon; glypphicons and font-awesome is supported
*
* @param array $aItem array with link attributes; href for target; "label" and "icon"
* @return string
*/
public function getLink($aItem){
$sHref=$this->addAttributeFromKey('href', $aItem, '#');
$sLabel=(array_key_exists('icon', $aItem) ? $this->getIcon($aItem['icon']): '')
.(array_key_exists('label', $aItem) ? $aItem['label'] : '');
foreach(array('href', 'icon', 'label') as $sKey){
if (array_key_exists($sKey, $aItem)){
unset($aItem[$sKey]);
}
}
$sReturn='<a'.$sHref;
foreach (array_keys($aItem) as $sKey){
$sReturn.=$this->addAttributeFromKey($sKey, $aItem);
}
$sReturn.='>'
.$sLabel
.'</a>';
return $sReturn;
}
/**
* add default css classes and colors based on $aItem['type']
* @param array $aItem
* @return array
*/
protected function _getButtonattributesByType($aItem){
$aReturn=$aItem;
if (array_key_exists($aItem['type'], $this->aCfg['buttons'])){
$sClass=$this->aCfg['buttons'][$aItem['type']]['class'];
$aReturn['class'].=$sClass ? ' '.$sClass : '';
$aReturn['icon']=$aReturn['icon'] ? $aReturn['icon'] : $this->aCfg['buttons'][$aItem['type']]['icon'];
}
return $aReturn;
}
/**
* get html code for icon; glypphicons and font-awesome is supported
*
* @param array $aItem array with link attributes; href for target; "label" and "icon"
* @return string
*/
public function getLinkButton($aItem){
foreach(array('class', 'icon') as $sKey){
if (!array_key_exists($sKey, $aItem)){
$aItem[$sKey]='';
}
}
$aItem['class'].='btn btn-default';
if (array_key_exists('type', $aItem)){
$aItem=$this->_getButtonattributesByType($aItem);
unset($aItem['type']);
}
return $this->getLink($aItem);
}
// ----------------------------------------------------------------------
// gui elements
// ----------------------------------------------------------------------
/**
* get html code of a div around a message
* @param string $sWarnlevel one of error|success|info|warning to get a colored box
* @param string $sMessage message text
* @return string
*/
public function getBox($sWarnlevel, $sMessage) {
$aCfg = array(
"error" => array("class" => "alert alert-danger", "prefix" => t("error")),
"success" => array("class" => "alert alert-success", "prefix" => t("success")),
"info" => array("class" => "alert alert-info", "prefix" => t("info")),
"warning" => array("class" => "alert alert-warning", "prefix" => t("warning")),
);
$sClass = "";
$sPrefix = "";
if (array_key_exists($sWarnlevel, $aCfg)) {
$sClass = $aCfg[$sWarnlevel]["class"];
$sPrefix = $aCfg[$sWarnlevel]["prefix"];
$sMessage = '<strong>' . $aCfg[$sWarnlevel]["prefix"] . '</strong> ' . $sMessage;
}
return '<div'.$this->addAttribute('class', $sClass).'>' . $sMessage . '</div>';
}
/**
* get html code for tabs with content
*
* @staticvar int $iCounter internal counter for tabs ans content
* @param array $aTabData tab data; key is the tab label; value the content of its tab
* @return string
*/
public function getNav($aTabData){
$sTabs='';
$sContent='';
static $iCounter=0;
$iTab=0;
if (!is_array($aTabData) || !count($aTabData)){
return false;
}
$sNavType=$aTabData['options']['type']; // "tabs" or "pills"
$sNavCss='nav nav-'.$sNavType;
if (array_key_exists('stacked', $aTabData['options']) && $aTabData['options']['stacked']){
$sNavCss.=' nav-stacked';
}
if (array_key_exists('justified', $aTabData['options']) && $aTabData['options']['justified']){
$sNavCss.=' nav-justified';
}
$sNavType=$aTabData['options']['justified'];
foreach ($aTabData['tabs'] as $sTabLabel=>$sTabContent){
$iCounter++;
$iTab++;
$sId="tab${iCounter}";
$sTabs.= ($iTab==1 ? '<li class="active"' : '<li')
. ' role="presentation">'
. '<a href="#'.$sId.'" data-toggle="tab">' . $sTabLabel . '</a></li>'
;
$sContent.='<div class="tab-pane'
.($iTab==1 ? ' active' : '')
.'" id="'.$sId.'">'
.$sTabContent
.'</div>'
;
}
return '<div class="tabbable">'
. '<ul class="'.$sNavCss.'">'. $sTabs.'</ul>'
. '<div class="tab-content">'.$sContent.'</div>'
. '</div>';
}
}
This diff is collapsed.
...@@ -25,6 +25,8 @@ global $oCLog; ...@@ -25,6 +25,8 @@ global $oCLog;
$oCLog = new logger(); $oCLog = new logger();
$oCLog->enableDebugByIp($aConfig['showdebug']['ip']); $oCLog->enableDebugByIp($aConfig['showdebug']['ip']);
require_once("./inc_functions.php"); require_once("./inc_functions.php");
require_once("./classes/htmlguielements.class.php");
$oHtml=new htmlguielements();
$sPrj = ""; $sPrj = "";
$sAction = "overview"; $sAction = "overview";
......
...@@ -24,7 +24,7 @@ if (array_key_exists("confirm", $aParams)) { ...@@ -24,7 +24,7 @@ if (array_key_exists("confirm", $aParams)) {
$sOut.=$oPrj->accept($sPhase); $sOut.=$oPrj->accept($sPhase);
} else { } else {
if (!$sPhase) { if (!$sPhase) {
$sOut.=$oPrj->getBox("error", t("error-no-phase")); $sOut.=$oHtml->getBox("error", t("error-no-phase"));
} else { } else {
if (!$oPrj->canAcceptPhase($sPhase)) { if (!$oPrj->canAcceptPhase($sPhase)) {
$sOut.= sprintf(t("page-accept-error-cannot-accept-phase"), $sPhase); $sOut.= sprintf(t("page-accept-error-cannot-accept-phase"), $sPhase);
...@@ -44,12 +44,12 @@ if (array_key_exists("confirm", $aParams)) { ...@@ -44,12 +44,12 @@ if (array_key_exists("confirm", $aParams)) {
if ( if (
array_key_exists("revision", $aPhaseData2["onhold"]) && $aPhaseData2["onhold"]["revision"] == $aPhaseData["deployed"]["revision"] array_key_exists("revision", $aPhaseData2["onhold"]) && $aPhaseData2["onhold"]["revision"] == $aPhaseData["deployed"]["revision"]
) { ) {
$sOut.=$oPrj->getBox("warning", sprintf(t("page-accept-warning-version-exists-in-next-queue"), $sNext, $sPhase)); $sOut.=$oHtml->getBox("warning", sprintf(t("page-accept-warning-version-exists-in-next-queue"), $sNext, $sPhase));
} }
if ( if (
array_key_exists("revision", $aPhaseData2["ready2install"]) && $aPhaseData2["ready2install"]["revision"] == $aPhaseData["deployed"]["revision"] array_key_exists("revision", $aPhaseData2["ready2install"]) && $aPhaseData2["ready2install"]["revision"] == $aPhaseData["deployed"]["revision"]
) { ) {
$sOut.=$oPrj->getBox("warning", sprintf(t("page-accept-warning-version-exists-in-next-repo"), $sNext, $sPhase)); $sOut.=$oHtml->getBox("warning", sprintf(t("page-accept-warning-version-exists-in-next-repo"), $sNext, $sPhase));
} }
$sOut.=' $sOut.='
<table> <table>
......
...@@ -45,12 +45,12 @@ if (!array_key_exists("confirm", $aParams)) { ...@@ -45,12 +45,12 @@ if (!array_key_exists("confirm", $aParams)) {
if ( if (
array_key_exists("revision", $aPhaseData2["onhold"]) && $aPhaseData2["onhold"]["revision"] == $sRevison array_key_exists("revision", $aPhaseData2["onhold"]) && $aPhaseData2["onhold"]["revision"] == $sRevison
) { ) {
$sOut.=$oPrj->getBox("warning", "In der Queue von [$sNext] ist die Version bereits $sRevison vorhanden!"); $sOut.=$oHtml->getBox("warning", "In der Queue von [$sNext] ist die Version bereits $sRevison vorhanden!");
} }
if ( if (
array_key_exists("revision", $aPhaseData2["ready2install"]) && $aPhaseData2["ready2install"]["revision"] == $sRevison array_key_exists("revision", $aPhaseData2["ready2install"]) && $aPhaseData2["ready2install"]["revision"] == $sRevison
) { ) {
$sOut.=$oPrj->getBox("warning", "Im Repo von [$sNext] ist die Version $sRevison bereits vorhanden!"); $sOut.=$oHtml->getBox("warning", "Im Repo von [$sNext] ist die Version $sRevison bereits vorhanden!");
} }
} }
$sOut.=' $sOut.='
......
...@@ -93,9 +93,9 @@ if (!array_key_exists("confirm", $aParams)) { ...@@ -93,9 +93,9 @@ if (!array_key_exists("confirm", $aParams)) {
} }
$sErrors=$oPrj->delete($aOptions); $sErrors=$oPrj->delete($aOptions);
if ($sErrors) { if ($sErrors) {
$sOut.=$oPrj->getBox("error", t('page-delete-project-delete-failed') . $sErrors); $sOut.=$oHtml->getBox("error", t('page-delete-project-delete-failed') . $sErrors);
} else { } else {
$sOut.=$oPrj->getBox("success", t('page-delete-project-delete-success')); $sOut.=$oHtml->getBox("success", t('page-delete-project-delete-success'));
} }
} }
......
...@@ -33,7 +33,14 @@ if (array_key_exists("confirm", $aParams)) { ...@@ -33,7 +33,14 @@ if (array_key_exists("confirm", $aParams)) {
$sPhase = $aParams["par3"]; $sPhase = $aParams["par3"];
$aPhaseData = $oPrj->getPhaseInfos($sPhase); $aPhaseData = $oPrj->getPhaseInfos($sPhase);
if (!array_key_exists('version', $aPhaseData['onhold'])){
$sOut.=$oHtml->getBox("error",
sprintf(t("deploy-impossible"), $sPhase).'<br>'
. (array_key_exists('info', $aPhaseData['onhold']) ? $aPhaseData['onhold']['info'].'<br>' : '')
. (array_key_exists('warning', $aPhaseData['onhold']) ? $aPhaseData['onhold']['warning'].'<br>' : '')
. (array_key_exists('error', $aPhaseData['onhold']) ? $aPhaseData['onhold']['error'].'<br>' : '')
);
} else {
$sOut.=' $sOut.='
<p> <p>
' . t("onhold") . ':<br> ' . t("onhold") . ':<br>
...@@ -59,7 +66,7 @@ if (array_key_exists("confirm", $aParams)) { ...@@ -59,7 +66,7 @@ if (array_key_exists("confirm", $aParams)) {
'input' . $i++ => array( 'input' . $i++ => array(
'type' => 'checkbox', 'type' => 'checkbox',
'name' => 'aIgnore', 'name' => 'aIgnore',
'label' => '', 'label' => t("deploy-settings"),
'validate' => 'isastring', 'validate' => 'isastring',
'options' => array( 'options' => array(
'bIgnoreDeploytimes' => array( 'bIgnoreDeploytimes' => array(
...@@ -77,8 +84,9 @@ if (array_key_exists("confirm", $aParams)) { ...@@ -77,8 +84,9 @@ if (array_key_exists("confirm", $aParams)) {
); );
$oForm = new formgen($aForms); $oForm = new formgen($aForms);
$sOut .= $oForm->renderHtml("deploy"); $sOut .= $oForm->renderHtml("deploy");
}
} else { } else {
$sOut.=$oPrj->getBox("error", t("error-no-phase")); $sOut.=$oHtml->getBox("error", t("error-no-phase"));
} }
} }
......
...@@ -29,7 +29,7 @@ $sOut.= '<hr>'; ...@@ -29,7 +29,7 @@ $sOut.= '<hr>';
if (array_key_exists("par3", $aParams)) { if (array_key_exists("par3", $aParams)) {
$sClass = $aParams["par3"]; $sClass = $aParams["par3"];
if (!array_key_exists($sClass, $aClasses)) { if (!array_key_exists($sClass, $aClasses)) {
$sOut.= $oPrj->getBox("error", sprintf(t("page-doc-error-class-not-configured"), $sClass, __FILE__)); $sOut.= $oHtml->getBox("error", sprintf(t("page-doc-error-class-not-configured"), $sClass, __FILE__));
} else { } else {
require_once("./classes/$sClass.class.php"); require_once("./classes/$sClass.class.php");
$o = new classinfos($aClasses[$sClass]["name"]); $o = new classinfos($aClasses[$sClass]["name"]);
......
<?php
/* ######################################################################
IML DEPLOYMENT
webgui - build a package
---------------------------------------------------------------------
2014-11-14 Axel <axel.hahn@iml.unibe.ch> selector for branches
2014-02-14 Axel <axel.hahn@iml.unibe.ch> build was "ajaxified"
2013-11-08 Axel <axel.hahn@iml.unibe.ch>
###################################################################### */
require_once("./classes/project.class.php");
/**
* helper: render html code for a table row
* @global htmlguielements $oHtml
* @param string $sDescr description
* @param string $sCode php code
* @return string
*/
function addHtmltestTest($sDescr, $sCode){
$oHtml=new htmlguielements();
$sOut='??';
eval("\$sOut=$sCode;");
return '<tr>'
. '<td>'
. $sDescr
. '</td>'
. '<td style="padding: 0 1em;"><pre>'
. htmlentities($sCode)
. '</pre></td>'
. '<td style="padding: 0 1em;">'
.$sOut
. '</td>'
. '<td style="padding: 0 1em;"><pre>'
.str_replace('&gt;', '&gt;<br>',htmlentities($sOut))
. '</pre></td>'
. '</tr>';
}
// ----------------------------------------------------------------------
// MAIN
// ----------------------------------------------------------------------
$sRows=''
. addHtmltestTest("Box zeichnen - Fehler", "\$oHtml->getBox('error', 'errormessage')")
. addHtmltestTest("Box zeichnen - Warnung", "\$oHtml->getBox('warning', 'Message')")
. addHtmltestTest("Box zeichnen - Info", "\$oHtml->getBox('info', 'Message')")
. addHtmltestTest("Box zeichnen - OK", "\$oHtml->getBox('success', 'Message')")
. addHtmltestTest("Icon - Fontawesome", "\$oHtml->getIcon('fa-close');")
. addHtmltestTest("Icon - Glyphicon", "\$oHtml->getIcon('glyphicon-user');")
. addHtmltestTest("Link", "\$oHtml->getLink(array(
'href'=>'https://www.axel-hahn.de/',
'icon'=>'fa-globe',
'label'=>'Axels Webseite',
));")
. addHtmltestTest("Link als Button", "\$oHtml->getLinkButton(array(
'href'=>'https://www.axel-hahn.de/',
'target'=>'_blank',
'icon'=>'fa-globe',
'label'=>'Axels Webseite',
));")
. addHtmltestTest("Link als Button mit Type OK", "\$oHtml->getLinkButton(array('type'=>'ok',));")
. addHtmltestTest("Link als Button mit Type close", "\$oHtml->getLinkButton(array('type'=>'close',));")
. addHtmltestTest("Link als Button mit Type error", "\$oHtml->getLinkButton(array('type'=>'error','label'=>'Fehler'));")
. addHtmltestTest("Tabs", "\$oHtml->getNav(
array(
'options' => array(
'type'=>'tabs',
'justified'=>1,
),
'tabs' => array(
'tab 1'=>'Inhalt #1',
'tab 2'=>'Inhalt #2',
),
)
);")
. addHtmltestTest("Tabs", "\$oHtml->getNav(
array(
'options' => array(
'type'=>'pills',
'stacked'=>1,
),
'tabs' => array(
'tab 1'=>'Inhalt #1',
'tab 2'=>'Inhalt #2',
),
)
);")
;
// ----------------------------------------------------------------------
echo '<table><thead>'
. '<tr>'
. '<th>Beschreibung</th>'
. '<th>PHP-Code</th>'
. '<th>Ausgabe</th>'
. '<th>Ausgabe-Code</th>'
. '</tr>'
. '</thead><tbody>'
.$sRows
. '</tbody></table>'
;
...@@ -83,7 +83,7 @@ if (!array_key_exists("prj", $aParams)) { ...@@ -83,7 +83,7 @@ if (!array_key_exists("prj", $aParams)) {
. $oPrj->renderPhaseInfo() . $oPrj->renderPhaseInfo()
. $sPhaseTabs . $sPhaseTabs
. $sPhaseDetails . $sPhaseDetails
: $oPrj->getBox("info", t("page-overview-no-phase")) .$oPrj->renderLink("setup") : $oHtml->getBox("info", t("page-overview-no-phase")) .$oPrj->renderLink("setup")
).' ).'
</div> </div>
</div> </div>
......
...@@ -56,7 +56,7 @@ if ($sPhase) { ...@@ -56,7 +56,7 @@ if ($sPhase) {
* *
*/ */
} else { } else {
$sOut.=$oPrj->getBox("error", t("error-no-phase")); $sOut.=$oHtml->getBox("error", t("error-no-phase"));
} }
$sOut.= '<div id="navbuttom">' . aPrjHome() . '</div>'; $sOut.= '<div id="navbuttom">' . aPrjHome() . '</div>';
......
...@@ -29,7 +29,7 @@ if (array_key_exists("confirm", $aParams)) { ...@@ -29,7 +29,7 @@ if (array_key_exists("confirm", $aParams)) {
} else { } else {
if (!$sPhase) { if (!$sPhase) {
$sOut.=$oPrj->getBox("error", t("error-no-phase")); $sOut.=$oHtml->getBox("error", t("error-no-phase"));
} else { } else {
/* /*
if (!$oPrj->canAcceptPhase($sPhase)){ if (!$oPrj->canAcceptPhase($sPhase)){
......
...@@ -116,7 +116,7 @@ if ($aParams["prj"] == "all") { ...@@ -116,7 +116,7 @@ if ($aParams["prj"] == "all") {
} }
} }
if ($sError){ if ($sError){
$sOut.=$oPrj->getBox("error", '<ul>'.$sError.'</ul>'); $sOut.=$oHtml->getBox("error", '<ul>'.$sError.'</ul>');
} else { } else {
$oForm = new formgen($aForms); $oForm = new formgen($aForms);
// TODO: unhide after checkin // TODO: unhide after checkin
...@@ -140,7 +140,7 @@ if ($aParams["prj"] == "all") { ...@@ -140,7 +140,7 @@ if ($aParams["prj"] == "all") {
if (!$sError) { if (!$sError) {
header("location: /deployment/" . $aParams["id"] . "/setup/"); header("location: /deployment/" . $aParams["id"] . "/setup/");
} }
$sOut.=$oPrj->getBox("error", $sError); $sOut.=$oHtml->getBox("error", $sError);
} }
$sOut.=$oPrj->renderNewProject(); $sOut.=$oPrj->renderNewProject();
} }
...@@ -258,9 +258,9 @@ if ($aParams["prj"] == "all") { ...@@ -258,9 +258,9 @@ if ($aParams["prj"] == "all") {
if (array_key_exists("setupaction", $aParams) && $aParams["setupaction"] == "save") { if (array_key_exists("setupaction", $aParams) && $aParams["setupaction"] == "save") {
if ($oPrj->saveConfig()) { if ($oPrj->saveConfig()) {
$sOut.=$oPrj->getBox("success", t("page-setup-info-settings-were-saved")) . aPrjHome() . '<br><br>'; $sOut.=$oHtml->getBox("success", t("page-setup-info-settings-were-saved")) . aPrjHome() . '<br><br>';
} else { } else {
$sOut.=$oPrj->getBox("error", t("page-setup-error-settings-were-not-saved")); $sOut.=$oHtml->getBox("error", t("page-setup-error-settings-were-not-saved"));
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment