mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-27 07:00:29 +01:00
145 lines
4.1 KiB
PHP
145 lines
4.1 KiB
PHP
<?php
|
|
/*
|
|
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
|
*
|
|
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
|
|
*
|
|
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
|
|
*
|
|
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
|
|
* to obtain the text of the corresponding license version.
|
|
*
|
|
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
|
*/
|
|
?>
|
|
<?php
|
|
|
|
|
|
/// special layer for webapplications
|
|
class phpWFAPI
|
|
{
|
|
function __construct(&$app)
|
|
{
|
|
$this->app=&$app;
|
|
}
|
|
|
|
function ReBuildPageFrame()
|
|
{
|
|
$this->app->Tpl->ResetParser();
|
|
$this->BuildPageFrame();
|
|
}
|
|
|
|
|
|
function BuildPageFrame()
|
|
{
|
|
$this->app->Tpl->ReadTemplatesFromPath(__DIR__."/../defaulttemplates/");
|
|
|
|
// build template tree
|
|
$this->app->Page->LoadTheme($this->app->WFconf['defaulttheme']);
|
|
|
|
if($this->app->User->GetType()=="")
|
|
$this->app->Page->CreateNavigation($this->app->WFconf['menu'][$this->app->WFconf['defaultgroup']]);
|
|
else
|
|
$this->app->Page->CreateNavigation($this->app->WFconf['menu'][$this->app->User->GetType()]);
|
|
|
|
// start acutally application instance
|
|
$this->app->Tpl->ReadTemplatesFromPath("pages/content/_gen");
|
|
$this->app->Tpl->ReadTemplatesFromPath("pages/content/");
|
|
}
|
|
|
|
|
|
function StartRequestedCommand()
|
|
{
|
|
$defaultpage = $this->app->WFconf['defaultpage'];
|
|
$defaultpageaction = $this->app->WFconf['defaultpageaction'];
|
|
|
|
$module = $this->app->Secure->GetGET('module','alpha');
|
|
$action = $this->app->Secure->GetGET('action','alpha');
|
|
|
|
if(!file_exists("pages/".$module.".php"))
|
|
$module = $defaultpage;
|
|
|
|
if($action=="")
|
|
$action = $defaultpageaction;
|
|
|
|
if(!$this->app->acl->Check($this->app->User->GetType(),$module,$action))
|
|
return;
|
|
|
|
|
|
// start module
|
|
if(file_exists("pages/".$module.".php"))
|
|
{
|
|
include("pages/".$module.".php");
|
|
//create dynamical an object
|
|
$constr=strtoupper($module[0]).substr($module, 1);
|
|
$myApp = new $constr($this->app);
|
|
}
|
|
else
|
|
{
|
|
echo $this->app->WFM->Error("Module <b>$module</b> doesn't exists in pages/");
|
|
|
|
}
|
|
$this->app->acl->CheckTimeOut();
|
|
}
|
|
|
|
/// mit dem "erstellen Formular" einfach bearbeiten liste + formular anzeigen
|
|
function EasyTableList($tablename,$cols,$parsetarget,$pkname,$delmsg,$delmsgcol)
|
|
{
|
|
// show list
|
|
|
|
// create html table
|
|
$table = new HTMLTable("0","100%");
|
|
$table->AddRowAsHeading($cols);
|
|
|
|
$all = $this->app->DB->SelectTable($tablename,$cols);
|
|
|
|
$table->AddField($all);
|
|
|
|
$action = $this->app->Secure->GetGET("action","alpha");
|
|
$module = $this->app->Secure->GetGET("module","alpha");
|
|
|
|
$table->AddCompleteCol(0,
|
|
"<a href=\"index.php?module=$module&action=$action&id=%col%\">bearbeiten</a>");
|
|
|
|
$table->AddCompleteCol(0,
|
|
"<a href=\"#\" onclick=\"str = confirm('{$delmsg}');
|
|
if(str!='' & str!=null)
|
|
window.document.location.href='index.php?module=$module&action=$action&id=%col%&formaction=delete';\">
|
|
loeschen</a>",$delmsgcol);
|
|
|
|
$table->ChangingRowColors('#ffffff','#dddddd');
|
|
|
|
$this->app->Tpl->Set($parsetarget,$table->Get());
|
|
}
|
|
|
|
function Message($msg,$parsetarget='MSGBOX')
|
|
{
|
|
$this->app->Tpl->Add('MSGBOXTEXT',$msg);
|
|
$this->app->Tpl->Parse($parsetarget,"messagebox.tpl");
|
|
}
|
|
// emailvorlage aus db senden
|
|
|
|
function EmailFromTemplate($template,$to,$values)
|
|
{
|
|
$betreff = $this->app->DB->Select("SELECT betreff
|
|
FROM emailvorlagen WHERE name='$template' LIMIT 1");
|
|
|
|
$nachricht = $this->app->DB->Select("SELECT nachricht
|
|
FROM emailvorlagen WHERE name='$template' LIMIT 1");
|
|
|
|
if(count($values) > 0)
|
|
{
|
|
foreach($values as $key=>$value)
|
|
{
|
|
$nachricht = str_replace("%".$key."%",$value,$nachricht);
|
|
$betreff = str_replace("%".$key."%",$value,$betreff);
|
|
}
|
|
}
|
|
|
|
$nachricht = str_replace('#BR#',"\n",$nachricht);
|
|
mail($to,$betreff,$nachricht,"From: ActConnect Team <info@actconnect.de>");
|
|
|
|
}
|
|
}
|
|
?>
|