public function getLabel() { if (Applications::activeApplication() != "lightCRM") { return null; } return "Kalender"; }
public function getHTML($id) { if ($_SESSION["S"]->isUserAdmin()) { $D = new ADesktopGUI(); return $D->getHTML($id); } $c = Applications::activeApplication() . "DesktopGUI"; try { $c = new $c(); if ($id == "1") { return "\n\t\t\t\t\t<div style=\"float:right;width:33.3333%;\"><div id=\"desktopRight\" style=\"padding:10px;\">" . $c->getHTML($id) . "</div></div>\n\t\t\t\t\t<div style=\"float:right;width:33.3333%;\"><div id=\"desktopMiddle\" style=\"padding:10px;width:90%;margin:auto;\"></div></div>\n\t\t\t\t\t<div style=\"float:right;width:33.3333%;\"><div id=\"desktopLeft\" style=\"padding:10px;\"></div></div>\n\t\t\t\t\t" . OnEvent::script(OnEvent::frame("desktopLeft", "Desktop", "2") . OnEvent::frame("desktopMiddle", "Desktop", "3")) . "<div style=\"clear:both;\"></div>"; } return $c->getHTML($id); } catch (ClassNotFoundException $e) { } }
function getHTML($id) { $gui = new HTMLGUIX($this); $gui->name("RSSParser"); $FB = new FileBrowser(); $FB->addDir(dirname(__FILE__)); $P = array_merge(array("" => "kein Parser"), array_flip($FB->getAsLabeledArray("iRSSParser", ".class.php"))); $FB = new FileBrowser(); $FB->addDir(dirname(__FILE__)); $PD = array_merge(array("" => "kein Parser"), array_flip($FB->getAsLabeledArray("iRSSDataParser", ".class.php"))); $fields = array("RSSParserName", "RSSParserURL", "RSSParserPOST", "RSSParserDataParserClass", "RSSParserUseCache", "RSSParserLastUpdate", "RSSParserCache"); if (Applications::activeApplication() == "fheME") { $fields[] = "RSSParserParserClass"; $fields[] = "RSSParserOnCall"; $fields[] = "RSSParserCount"; } $gui->attributes($fields); $gui->type("RSSParserParserClass", "select", $P); $gui->type("RSSParserDataParserClass", "select", $PD); $gui->type("RSSParserUseCache", "checkbox"); $gui->type("RSSParserPOST", "textarea"); $gui->label("RSSParserParserClass", "Parser"); $gui->label("RSSParserOnCall", "Button"); $gui->label("RSSParserCount", "Anzahl"); $gui->label("RSSParserDataParserClass", "Data-Parser"); $gui->descriptionField("RSSParserUseCache", "Der Cache funktioniert nur zusammen mit dem cronjob"); $gui->descriptionField("RSSParserPOST", "Format: Jeweils ein Name:Wert pro Zeile<br>Variablen: \$timestampToday"); $gui->parser("RSSParserLastUpdate", "parserLastUpdate"); $gui->parser("RSSParserCache", "parserCache"); $gui->descriptionField("RSSParserParserClass", "Der Parser kann die Anzeige des Feeds anpassen"); $gui->descriptionField("RSSParserDataParserClass", "Der Parser kann die Daten des Feeds anpassen"); $gui->descriptionField("RSSParserOnCall", "Der Feed wird mit einem eigenen Button geöffnet"); $gui->descriptionField("RSSParserCount", "Die maximale Anzahl der angezeigten Einträge. 0 zeigt alle"); #$gui->type("RSSParserLastUpdate", "hidden"); $gui->type("RSSParserOnCall", "checkbox"); $B = $gui->addSideButton("Update", "down"); $B->rmePCR("RSSParser", $this->getID(), "download", "", OnEvent::reload("Left")); #if($this->A("RSSParserCache") != ""){ # $B = $gui->addSideButton("XML\nvalidieren", "new"); # $B->popup("", "XML validieren", "RSSParser", $this->getID(), "validate"); #} return $gui->getEditHTML(); }
public function getHTML($id) { #$_SESSION["BPS"]->unregisterClass(get_class($this)); $defaultAnsicht = "monat"; if (Applications::activeApplication() == "personalKartei") { $defaultAnsicht = "jahr"; } $ansicht = mUserdata::getUDValueS("KalenderAnsicht", $defaultAnsicht); #$ansicht = $ansicht->getUDValue("KalenderAnsicht"); #if($ansicht == null) $ansicht = "monat"; $display = mUserdata::getUDValueS("KalenderDisplay" . ucfirst($ansicht), "0"); $BThis = new Button("", "arrow_down", "iconicG"); $BThis->style("float:left;margin-top:-6px;margin-right:5px;"); $Calendars = ""; Registry::reset("Kalender"); while ($C = Registry::callNext("Kalender", "categories")) { if (!$C) { continue; } foreach ($C as $tab) { $Calendars .= "<div onclick=\"{$tab->onclick}\">" . ($tab->isCurrent ? $BThis : "") . " {$tab->label}</div>"; } } // <editor-fold defaultstate="collapsed" desc="styles"> $html = "\n\t\t\n\t\t<style type=\"text/css\">\n\t\t.Day {\n\t\t\t-moz-user-select:none;\n\t\t\tborder-left:1px solid #EEE;\n\t\t\tborder-bottom:1px solid #EEE;\n\t\t}\n\t\t\n\t\t/*.Day:hover {\n\t\t\tborder-style:solid;\n\t\t\tborder-width:1px;\n\t\t\tpadding:2px;\n\t\t}*/\n\n\t\t.dayOptions {\n\t\t\tdisplay:none;\n\t\t}\n\n\t\t.Day:hover .dayOptions {\n\t\t\tdisplay:inline;\n\t\t}\n\n\t\t.Termin {\n\t\t\tposition:relative;\n\t\t\tleft:44px;\n\t\t\tcursor:pointer;\n\t\t\twidth:150px;\n\t\t\tfloat:left;\n\t\t\tborder-style:solid;\n\t\t\tborder-width:1px;\n\t\t\tmargin-right:3px;\n\t\t}\n\t\t\n\t\t.KalenderButton {\n\t\t\topacity:0.5;\n\t\t}\n\t\t\n\t\t.KalenderButton:hover {\n\t\t\topacity:1;\n\t\t}\n\t\t\n\t\t.KalenderUser {\n\t\t\tmargin-left:10px;\n\t\t}\n\t\t\n\t\t.KalenderUser div {\n\t\t\tpadding:10px;\n\t\t\tpadding-top:10px;\n\t\t\tpadding-bottom:5px;\n\t\t\tdisplay:inline-block;\n\t\t\tmargin-right:20px;\n\t\t\tcursor:pointer;\n\t\t\tmin-width:150px;\n\t\t}\n\t\t\n\t\t.cellHeight {\n\t\t}\n\t\t\n\t\t.ui-datepicker {\n\t\t\twidth: auto;\n\t\t}\n\n\t\t#contentScreen tr:hover {\n\t\t\tbackground-color:inherit;\n\t\t}\n\n\t\t#calendar1stMonth .ui-datepicker-prev, #calendar1stMonth .ui-datepicker-next/*,\n\t\t#calendar2ndMonth .ui-datepicker-prev, #calendar2ndMonth .ui-datepicker-next */{\n\t\t\tdisplay:none;\n\t\t}\n\t\t\n\t\t#calendar1stMonth .ui-widget-content,\n\t\t#calendar2ndMonth .ui-widget-content, \n\t\t#calendar2ndMonth .ui-widget-content .ui-state-default,\n\t\t#calendar1stMonth .ui-widget-content .ui-state-default {\n\t\t\tborder:0px;\n\t\t}\n\t\t\n\t\t#calendar1stMonth .ui-datepicker-header,\n\t\t#calendar2ndMonth .ui-datepicker-header {\n\t\t\tborder:0px;\n\t\t}\n\t\t\n\t\t/*@media only screen and (max-height: 820px) {\n\t\t\t.cellHeight {\n\t\t\t\theight:55px;\n\t\t\t}\n\t\t}*/\n\t\t</style>"; // </editor-fold> $BLeft = new Button("Zurück", "back", "icon"); $BLeft->rmePCR("mKalender", "", "setDisplay", $display - 1, "contentManager.loadFrame('contentScreen','mKalender');"); $BLeft->style("margin-right:10px;"); $BRight = new Button("Weiter", "navigation", "icon"); $BRight->rmePCR("mKalender", "", "setDisplay", $display + 1, "contentManager.loadFrame('contentScreen','mKalender');"); $BRight->style("margin-right:10px;"); $BToday = new Button("Aktuelles Datum", "down", "icon"); $BToday->rmePCR("mKalender", "", "setToday", '', "contentManager.loadFrame('contentScreen','mKalender');"); $BToday->style("margin-right:10px;"); $BJahr = new Button("Jahr", "./ubiquitous/Kalender/month.png", "icon"); $BJahr->rmePCR("mKalender", "", "setView", "jahr", "contentManager.loadFrame('contentScreen','mKalender');"); $BJahr->style("margin-right:10px;" . ($ansicht != "jahr" ? "opacity:0.5;" : "")); $BJahr->id("jahrButton"); $BMonat = new Button("Monat", "./ubiquitous/Kalender/month.png", "icon"); $BMonat->rmePCR("mKalender", "", "setView", "monat", "contentManager.loadFrame('contentScreen','mKalender');"); $BMonat->style("margin-right:10px;" . ($ansicht != "monat" ? "opacity:0.5;" : "")); $BMonat->id("monatButton"); $BWoche = new Button("Woche", "./ubiquitous/Kalender/workweek.png", "icon"); $BWoche->rmePCR("mKalender", "", "setView", "woche", "contentManager.loadFrame('contentScreen','mKalender');"); $BWoche->style("margin-right:10px;" . ($ansicht != "woche" ? "opacity:0.5;" : "")); $BWoche->id("wocheButton"); $BTag = new Button("Tag", "./ubiquitous/Kalender/day.png", "icon"); $BTag->rmePCR("mKalender", "", "setView", "tag", "contentManager.loadFrame('contentScreen','mKalender');"); $BTag->style("margin-right:10px;" . ($ansicht != "tag" ? "opacity:0.5;" : "")); $BTag->id("tagButton"); if (Applications::activeApplication() == "personalKartei") { $BTag = ""; $BWoche = ""; $BMonat = ""; } if (Applications::activeApplication() != "personalKartei") { $BJahr = ""; } $ST = new HTMLTable(1); $ST->setColClass(1, ""); #$ST->setTableStyle("width:40px;margin:0px;margin-right:-215px;float:right;/*margin-right:-50px;margin-top:95px;*/"); $newWindow = new Button("Kalender in neuem Fenster öffnen", "new_window", "iconicL"); $newWindow->style("margin-right:10px;"); $newWindow->newSession("Mail", Applications::activeApplication(), "mKalender", "Kalender"); if (Session::physion()) { $newWindow = ""; } $reminder = ""; if (Session::isPluginLoaded("mReminder")) { $reminder = Reminder::getButton(); $reminder->style("margin-right:10px;"); } $ST->addRow("<div id=\"calendar1stMonth\"></div>"); $ST->addRow("<div id=\"calendar2ndMonth\"></div>"); $TC = "KalenderView" . ucfirst($ansicht); $TC = new $TC(); $TCalendars = "<div>"; if (trim($Calendars) != "") { $TCalendars .= "<div class=\"KalenderUser\">" . $Calendars . "</div>"; } $TCalendars .= "</div>"; $pCalButton = ""; if (Session::isPluginLoaded("mpCal")) { $pCalButton = pCal::getTBButton(); $pCalButton->type("icon"); $pCalButton->style("margin-right:10px;"); } $GoogleButton = ""; $GoogleDLButton = ""; if (Session::isPluginLoaded("mGoogle")) { $GoogleButton = LoginData::getButtonU("GoogleAccountUserPass", "Google-Daten bearbeiten", "./ubiquitous/Google/google.png"); $GoogleButton->type("icon"); $GoogleButton->style("margin-right:10px;"); $GoogleDLButton = new Button("Daten herunterladen", "./ubiquitous/Google/googleDL.png", "icon"); $GoogleDLButton->popup("", "Daten herunterladen", "Google", "-1", "syncByDateRange", array("'" . date("Y-m-d", $TC->getFirst()) . "'", "'" . date("Y-m-d", $TC->getLast()) . "'")); $GoogleDLButton->style("margin-right:10px;"); } $xCalButton = ""; if (Session::isPluginLoaded("mxCal")) { $xCalButton = xCal::getButton(); $xCalButton->style("margin-right:10px;"); } $BShare = new Button("Kalender teilen", "fork", "iconicL"); $BShare->popup("", "Kalender teilen", "mKalender", "-1", "share"); $BShare->style("margin-right:10px;"); #$AWVButton = new Button("Müllabfuhr-Daten herunterladen", "trash_stroke", "iconicL"); #$AWVButton->popup("", "Müllabfuhr-Daten", "mKalender", "-1", "downloadTrashData"); $AWVButton = ""; $ST->addRow($pCalButton . $GoogleButton . $GoogleDLButton); $html .= "\n\t\t<div style=\"width:205px;float:right;margin-right:40px;\">\n\t\t\t\t<div style=\"padding-top:30px;padding-bottom:15px;padding-left:0px;\">\n\t\t\t\t\t{$newWindow}{$BShare}{$AWVButton}{$xCalButton}{$reminder}\n\t\t\t\t</div>\n\t\t</div>\n\t\t\n\t\t<div style=\"margin-right:270px;\">\n\t\t<div id=\"KalenderTitle\" class=\"prettyTitle\">\n\t\t\t\n\t\t\t<span style=\"float:right;\">\n\t\t\t\t{$BLeft}{$BToday}{$BRight}\n\t\t\t</span>\n\t\t\t<div style=\"float:right;margin-right:100px;\">{$BTag}{$BWoche}{$BMonat}{$BJahr}</div>\n\t\t\t" . $TC->getTitle() . "\n\t\t</div>\n\t\t</div>\n\t\t<div id=\"KalenderAuswahl\">\n\t\t\t{$TCalendars}\n\t\t</div>\n\t\t" . $TC->getHeader() . "\n\t\t<div id=\"KalenderWrapper\" style=\"overflow:auto;\">\n\t\t\t" . ($ansicht != "jahr" ? "\n\t\t\t<div style=\"width:205px;float:right;margin-right:40px;\">\n\t\t\t\t<div style=\"height:23px;\"></div>{$ST}\n\t\t\t</div>" : "") . "\n\t\t\t<div style=\"" . ($ansicht != "jahr" ? "margin-right:270px;" : "") . "\">\n\n\t\t\t" . $TC->getTable($this) . "\n\t\t\t</div>\n\t\t</div>"; $nextMonths = new Datum(); $nextMonths->setToMonth1st(); $thisMonth = $nextMonths->time(); $nextMonths->addMonth(); $nextMonth = $nextMonths->time(); $html .= OnEvent::script("\$j(function() {\n\t\t\$j('#calendar1stMonth').datepicker({ minDate: '" . date("d.m.Y", $thisMonth) . "'" . ($TC->getCurrent()->time() < $nextMonth ? ",defaultDate: '" . date("d.m.Y", $TC->getCurrent()->time()) . "'" : "") . ", showWeek: true, showOtherMonths: true, onSelect: function(dateText, inst) { var day = Math.round(+new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay, 0, 1, 0)/1000); " . OnEvent::rme($this, "setView", array("'tag'", "day"), "function(){ " . OnEvent::reload("Screen") . " }") . " } });\n\t\t\t\n\t\t\$j('.KalenderUser div[class!=backgroundColor1]').hover(function(){ \$j(this).addClass('backgroundColor2'); }, function(){ \$j(this).removeClass('backgroundColor2'); });\n\t\tfitKalender();\n\t\t\t\n\t\t\$j(window).resize(function() {\n\t\t\tfitKalender();\n\t\t});\n\t\t\n\t\t});\n\t\t\n\t\tfunction fitKalender(){\n\t\t\tif(!\$j('#KalenderTitle').length)\n\t\t\t\treturn;\n\t\t\t\n\t\t\t//console.log(\$j('#KalenderTitle').outerHeight());\n\t\t\t//console.log(\$j('#KalenderAuswahl').outerHeight());\n\t\t\tvar height = (contentManager.maxHeight() - \$j('#KalenderAuswahl').outerHeight() - \$j('#KalenderTitle').outerHeight() - \$j('#KalenderHeader').outerHeight()) + 4;\n\t\t\tvar width = contentManager.maxWidth();\n\t\t\t\n\t\t\t\$j('#KalenderWrapper').css('height', height);\n\t\t\t\$j('#KalenderWrapper').css('width', width);\n\n\t\t\tvar cellHeight = (height - \$j('#KalenderTable tr:first th').parent().outerHeight()) / (\$j('#KalenderTable tr').length - " . (($ansicht == "monat" or $ansicht == "jahr") ? "1" : "0") . ") - 1;\n\t\t\t\$j('.cellHeight').css('height', cellHeight+'px');\n\t\t\t\$j('.innerCellHeight').css('height', (cellHeight - \$j('.innerCellTitle:visible').outerHeight())+'px');\n\t\t\t\n\t\t\tif(\$j('#KalenderHeader').length > 0){\n\t\t\t\t//console.log(\$j('#KalenderHeader tr:first th'));\n\t\t\t\t\$j('#KalenderTable tr:first td').each(function(k, v){\n\t\t\t\t\t\n\t\t\t\t\t\$j(\$j('#KalenderHeader tr:first th')[k]).css('width', \$j(v).width());\n\t\t\t\t});\n\t\t\t}\n\t\t\t\n\t\t\tif(\$j('#tagDiv').length) {\n\t\t\t\t\$j('#tagDiv').css('width', \$j('#KalenderTable tr').width()+'px');\n\t\t\t\t\$j('#tagDiv').animate({scrollTop: 7*40}, 0);\n\t\t\t\tvar pos = \$j('#tagDiv').offset();\n\t\t\t\tpos.position = 'absolute';\n\n\t\t\t\t\$j('#tagDiv').css(pos)\n\t\t\t}\n\t\t}") . "\n\t\t<style type=\"text/css\">\n\t\t\t" . ($TC->getCurrent()->time() < $thisMonth ? "#calendar1stMonth .ui-state-default { border: 1px solid #D3D3D3; background-color:transparent; }" : "") . "\n\t\t\t" . ($TC->getCurrent()->time() < $nextMonth ? "#calendar2ndMonth .ui-state-default { border: 1px solid #D3D3D3; background-color:transparent; }" : "") . "\n\t\t\t.ui-datepicker-week-col { color:grey; text-align:left; }\n\t\t\ttr td.ui-datepicker-week-col {text-align:left;font-size:10px; }\n\t\t\t/*.ui-datepicker-week-end { background-color:#DDD; }*/\n\t\t</style>"; $html .= OnEvent::script("\$j(function() {\n\t\t\$j('#calendar2ndMonth').datepicker({ minDate: '" . date("d.m.Y", $nextMonth) . "'" . ($TC->getCurrent()->time() >= $nextMonth ? ", defaultDate: '" . date("d.m.Y", $TC->getCurrent()->time()) . "'" : "") . ", showWeek: true, showOtherMonths: true, onSelect: function(dateText, inst) { var day = Math.round(+new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay, 0, 1, 0)/1000); " . OnEvent::rme($this, "setView", array("'tag'", "day"), "function(){ " . OnEvent::reload("Screen") . " }") . " } });\n\t});"); return $html; }
public static function newSession($physion, $application, $plugin, $cloud = "", $title = "", $icon = "") { echo "<p>Bitte haben Sie etwas Geduld, während die neue Sitzung initialisiert wird...</p><iframe onload=\"window.open(contentManager.getRoot()+'?physion={$physion}&application={$application}&plugin={$plugin}" . ($cloud != "" ? "&cloud={$cloud}" : "") . "" . ($title != "" ? "&title={$title}" : "") . "" . ($icon != "" ? "&icon={$icon}" : "") . "');" . OnEvent::closePopup("Util") . "\" src=\"interface/rme.php?class=Users&construct=&method=doLogin¶meters=%27" . Session::currentUser()->A("username") . "%27,%27" . Session::currentUser()->A("SHApassword") . "%27,%27" . Applications::activeApplication() . "%27,%27" . Session::currentUser()->A("language") . "%27&physion={$physion}" . ($cloud != "" ? "&cloud={$cloud}" : "") . "\" style=\"display:none;\"></iframe>"; }
public function scanPlugins($appFolder = null) { #file_put_contents(Util::getRootPath()."debug.txt", print_r(debug_backtrace(), true)); #echo "<pre>"; #print_r(); #echo "</pre>"; foreach ($this->appFolder as $key => $value) { if ($value == "plugins") { continue; } unset($this->menuEntries[array_search($key, $this->menuEntries)]); } #echo "scanning for plugins...<br />"; if ($appFolder == null) { $folder = "plugins"; if ($_SESSION["applications"]->getActiveApplication() != "nil") { $folder = $_SESSION["applications"]->getActiveApplication(); } } else { $folder = $appFolder; } $allowedPlugins = Environment::getS("allowedPlugins", array()); $extraPlugins = Environment::getS("pluginsExtra", array()); if (Applications::activeApplication() == "Zeus" or Applications::activeApplication() == "nil") { $extraPlugins = array(); } $allowedPlugins = array_merge($allowedPlugins, $extraPlugins); #$p = ".".(is_dir("./$folder/") ? "" : "."); $p = Util::getRootPath(); if ($p[strlen($p) - 1] == "/") { $p[strlen($p) - 1] = " "; } $p = trim($p); $_SESSION["messages"]->startMessage("checking for directory {$p}/{$folder}/: "); if (is_dir("{$p}/{$folder}/")) { $_SESSION["messages"]->endMessage("found"); $plugins = array(); $fp = opendir("{$p}/{$folder}/"); while (($file = readdir($fp)) !== false) { if ($file == "." or $file == "..") { continue; } if (is_dir("{$p}/{$folder}/{$file}")) { if (file_exists("{$p}/{$folder}/{$file}/plugin.xml")) { $file = "{$file}/plugin.xml"; } else { continue; } } if (stripos($file, "plugin") === false) { continue; } $plugins[] = $file; } sort($plugins); foreach ($plugins as $key => $file) { $f = explode(".", $file); if ($f[0][0] == "-") { continue; } if ($f[1] == "xml") { $c = new XMLPlugin("{$p}/{$folder}/{$file}", $allowedPlugins); } else { require_once "{$p}/{$folder}/{$file}"; $f = $f[0]; $c = new $f(); } $_SESSION["messages"]->startMessage("trying to register " . $c->registerName() . ": "); if (count($allowedPlugins) > 0 and !in_array($c->registerClassName(), $allowedPlugins)) { $_SESSION["messages"]->endMessage(" not allowed"); continue; } $pFolder = $c->registerFolder(); if (!is_array($pFolder)) { $this->folders[] = $pFolder; } else { foreach ($pFolder as $k => $v) { $this->folders[] = $v; } } $this->pluginToFolder[$c->registerClassName()] = $c->registerFolder(); $this->blockNonAdmin[$c->registerClassName()] = $c->registerBlockNonAdmin(); if ($c->registerMenuEntry() != "") { $this->menuEntries[$c->registerMenuEntry()] = $c->registerClassName(); } $this->appFolder[$c->registerClassName()] = $folder; if ($c->registerName() != "noName") { $this->classes[$c->registerName()] = $c->registerClassName(); } if ($c->registerName() != "noName" and $c->registerMenuEntryTarget() != "contentRight") { $this->targets[$c->registerClassName()] = $c->registerMenuEntryTarget(); } $this->icons[$c->registerClassName()] = $c->registerIcon(); if ($c->registerPluginIsAdminOnly()) { $this->isAdminOnlyByPlugin[$c->registerClassName()] = $c->registerPluginIsAdminOnly(); } elseif (!$c->registerPluginIsAdminOnly() and isset($this->isAdminOnlyByPlugin[$c->registerClassName()])) { unset($this->isAdminOnlyByPlugin[$c->registerClassName()]); } if ($c->registerDependencies() != "none") { $this->deps[$c->registerClassName()] = $c->registerDependencies(); } $this->versions[$c->registerClassName()] = $c->registerVersion(); if ($c->registerJavascriptFile() != "" and isset($_SESSION["JS"])) { if (is_array($c->registerJavascriptFile())) { foreach ($c->registerJavascriptFile() as $v) { JSLoader::addScriptS($v, $c->registerFolder(), $c->registerClassName(), $folder); } } else { JSLoader::addScriptS($c->registerJavascriptFile(), $c->registerFolder(), $c->registerClassName(), $folder); } } #if(method_exists($c, "registerUseGenericClasses")) # $this->isGeneric[$c->registerName()] = $c->registerUseGenericClasses(); #if(isset($this->isGeneric[$c->registerName()]) AND $this->isGeneric[$c->registerName()]){ # $this->collectors[$c->registerClassName()] = $c->registerName(); # $this->genericPlugins[$c->registerName()] = $c; #} $n = $c->registerClassName(); if ($n != "" and $appFolder == null) { try { $nc = new $n(); if (method_exists($nc, 'getCollectionOf')) { if (!isset($this->collectors[$c->registerClassName()])) { $this->collectors[$c->registerClassName()] = $nc->getCollectionOf(); } } } catch (ClassNotFoundException $e) { if ($n != "") { try { $n = $n . "GUI"; $nc = new $n(); if (method_exists($nc, 'getCollectionOf')) { if (!isset($this->collectors[$c->registerClassName()])) { $this->collectors[$c->registerClassName()] = $nc->getCollectionOf(); } } } catch (ClassNotFoundException $e2) { } } } } if ($f[1] == "xml") { $fld = $c->registerFolder(); if (!is_array($fld)) { $fld = array($fld); } foreach ($fld as $folderName) { $path = "./{$folder}/{$folderName}/" . $c->registerClassName() . ".class.php"; if (file_exists($path)) { require_once $path; } elseif (file_exists("." . $path)) { require_once "." . $path; } } } if ($appFolder == null) { $c->doSomethingElse(); } $_SESSION["messages"]->endMessage(" successful"); unset($c); } } else { $_SESSION["messages"]->endMessage("not found"); } }
public function getHTML($id, $page) { $entries = $_SESSION["CurrentAppPlugins"]->getMenuEntries(); $icons = $_SESSION["CurrentAppPlugins"]->getIcons(); $targets = $_SESSION["CurrentAppPlugins"]->getMenuTargets(); $appMenuDisplayed = MenuGUI::getAppMenuOrder("appMenuDisplayed"); if ($appMenuDisplayed != "") { $appMenuDisplayed = explode(";", $appMenuDisplayed); } else { $appMenuDisplayed = $entries; } ksort($entries); $request = array_values($entries); $xml = self::getSpell($request); #$AP3 = new AppPlugins("customer"); #$plugins = array_merge($plugins, $AP3->getAllPlugins()); #$menu = array_merge($menu, array_flip($AP3->getAllMenuEntries())); #$icons = array_merge($icons, $AP3->getIcons()); #$plugins3 = array_flip($AP3->getAllPlugins()); #print_r($plugins3); $AP = new AppPlugins(Applications::activeApplication()); $plugins = array_flip($AP->getAllPlugins()); $html = ""; $html .= "<div style=\"float:right;width:160px;padding-top:20px;\" id=\"containerSortTabs\">" . $this->getSortable(false) . "</div>\n\t\t\t<div style=\"margin-right:160px;\">"; $U = new mUserdata(); $U->addAssocV3("typ", "=", "TTP"); $collapsedTabs = Environment::getS("collapsedTabs", "0") == "1"; foreach ($entries as $key => $value) { $text = ""; if ($xml !== false) { foreach ($xml->plugin as $xmlp) { if ($xmlp->name == $value) { $text = $xmlp->description; } } } if (isset($plugins[$value])) { unset($plugins[$value]); } $BG = new Button("Plugin {$key} öffnen", "navigation", "icon"); $BG->onclick("contentManager.loadPlugin('" . (isset($targets[$value]) ? $targets[$value] : "contentRight") . "', '{$value}', '{$value}GUI;-');"); $BG->style("float:right;margin-top:-7px;"); $B = new Button($key, $icons[$value], "icon"); $B->style("float:left;margin-right:10px;margin-top:-7px;margin-left:-5px;"); $I = new HTMLInput("usePlugin{$value}", "checkbox", in_array($value, $appMenuDisplayed) ? "1" : "0"); $I->id("usePlugin{$value}"); $I->onchange("if(this.checked) { Menu.showTab('{$value}'); \$j('#minPlugin{$value}').prop('disabled', ''); } else { Menu.hideTab('{$value}'); \$j('#minPlugin{$value}').prop('disabled', 'disabled'); }"); $t = !$_SESSION["S"]->isUserAdmin() ? $U->getUDValueCached("ToggleTab{$value}") : "big"; if ($t == null and $collapsedTabs) { $t = "small"; } if ($t == null) { $t = "big"; } $IM = new HTMLInput("minPlugin{$value}", "checkbox", $t == "big" ? "0" : "1"); $IM->id("minPlugin{$value}"); $IM->onchange("toggleTab('{$value}');"); if (isset($_COOKIE["phynx_layout"]) and ($_COOKIE["phynx_layout"] == "vertical" or $_COOKIE["phynx_layout"] == "desktop")) { $IM->isDisabled(true); } if (!in_array($value, $appMenuDisplayed)) { $IM->isDisabled(true); } #border-width:1px;border-style:solid; $html .= "\n\t\t\t<div style=\"width:33%;float:left;\">\n\t\t\t\t<div style=\"margin:10px;\" class=\"borderColor1 spell\">\n\t\t\t\t\t<div class=\"backgroundColor2\" style=\"padding:10px;padding-bottom:5px;\">\n\t\t\t\t\t\t{$BG}{$B}<h2 style=\"margin-bottom:0px;margin-top:0px;\">{$key}</h2>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div style=\"padding:7px;\">\n\t\t\t\t\t\t{$I}<label style=\"float:none;width:200px;text-align:left;display:inline;margin-left:10px;font-wight:normal;\" for=\"usePlugin{$value}\">Plugin verwenden</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div style=\"padding:7px;padding-top:0px;\">\n\t\t\t\t\t\t{$IM}<label style=\"float:none;width:200px;text-align:left;display:inline;margin-left:10px;font-wight:normal;\" for=\"minPlugin{$value}\">Reiter minimiert</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t" . ($xml !== false ? "<div style=\"padding:7px;height:115px;overflow:auto;\">{$text}</div>" : "") . "\n\t\t\t\t</div>\n\t\t\t</div>"; } $html .= "</div><h2 style=\"clear:both;padding-top:50px;\">Admin-Plugins und Plugins ohne eigenen Reiter</h2><div style=\"margin-right:160px;\">"; $icons = $AP->getIcons(); $plugins = array_flip($plugins); $menu = array_flip($AP->getAllMenuEntries()); $AP2 = new AppPlugins("plugins"); $plugins = array_merge($plugins, $AP2->getAllPlugins()); $menu = array_merge($menu, array_flip($AP2->getAllMenuEntries())); $icons = array_merge($icons, $AP2->getIcons()); $plugins2 = array_flip($AP2->getAllPlugins()); $request = array_values($plugins); $xml = self::getSpell($request); ksort($plugins); foreach ($plugins as $key => $value) { if (isset($menu[$value])) { $key = $menu[$value]; } $text = ""; if ($xml !== false) { foreach ($xml->plugin as $xmlp) { if ($xmlp->name == $value) { $text = $xmlp->description; } } } if ($text == "" or $text == "-") { continue; } if (!isset($plugins2[$value]) and substr($AP->getFolderOfPlugin($value), 0, 3) == "../") { continue; } if (isset($plugins2[$value]) and substr($AP2->getFolderOfPlugin($value), 0, 3) == "../") { continue; } if (!isset($plugins2[$value])) { $isAdmin = $AP->getIsAdminOnly($value); } if (isset($plugins2[$value])) { $isAdmin = $AP2->getIsAdminOnly($value); } $B = new Button($key, $icons[$value], "icon"); $B->style("float:left;margin-right:10px;margin-top:-7px;margin-left:-5px;"); #border-width:1px;border-style:solid; $html .= "\n\t\t\t<div style=\"width:33%;float:left;\">\n\t\t\t\t<div style=\"margin:10px;border-radius:5px;\" class=\"borderColor1 spell\">\n\t\t\t\t\t<div class=\"backgroundColor2\" style=\"padding:10px;padding-bottom:5px;\">\n\t\t\t\t\t\t{$B}<span style=\"float:right;margin-top:7px;\">" . ($isAdmin ? "Admin!" : "") . "</span><h2 style=\"margin-bottom:0px;margin-top:0px;\">{$key}</h2>\n\t\t\t\t\t</div>\n\t\t\t\t\t" . ($xml !== false ? "<div style=\"padding:7px;height:115px;overflow:auto;\">{$text}</div>" : "") . "\n\t\t\t\t</div>\n\t\t\t</div>"; } $html .= "</div>"; #echo "<pre>"; #print_r($menu); #echo "</pre>"; return $html; }
public function getContextMenuHTML($identifier) { $sk = Applications::activeApplication(); #$_SESSION["applications"]->getActiveApplication(); $kal = Applications::getList(); #$_SESSION["applications"]->getApplicationsList(); $kal = array_flip($kal); #print_r($kal); #foreach($kal as $k => $v) # $kal[$k] = $k; $gui = new HTMLGUI(); echo "<div style=\"max-height:400px;overflow:auto;\">" . $gui->getContextMenu($kal, 'Menu', '1', $sk, 'phynxContextMenu.stop(); contentManager.switchApplication();') . "</div>"; echo "<div class=\"backgroundColor1\" id=\"cMLogout\" onclick=\"userControl.doLogout();\" onmouseover=\"this.className='backgroundColor3';\" onmouseout=\"this.className='backgroundColor1';\" style=\"padding:5px;cursor:pointer;\"><img style=\"float:left;\" title=\"Abmelden\" src=\"./images/i2/logout.png\" onclick=\"userControl.doLogout();\" /><p style=\"padding-top:7px;padding-bottom:7px;padding-left:50px;\"><b>Abmelden</b></p></div>"; }
public function getContextMenuHTML($identifier) { $sk = Applications::activeApplication(); #$_SESSION["applications"]->getActiveApplication(); $kal = Applications::getList(); #$_SESSION["applications"]->getApplicationsList(); $kal = array_flip($kal); #print_r($kal); #foreach($kal as $k => $v) # $kal[$k] = $k; $AC = anyC::get("Userdata", "typ", "loginTo"); $AC->addAssocV3("UserID", "=", Session::currentUser()->getID()); while ($UD = $AC->n()) { if ($UD->A("wert") != "0") { continue; } unset($kal[str_replace("loginTo", "", $UD->A("name"))]); } $gui = new HTMLGUI(); echo "<div style=\"max-height:400px;overflow:auto;\">" . $gui->getContextMenu($kal, 'Menu', '1', $sk, 'phynxContextMenu.stop(); contentManager.switchApplication();') . "</div>"; echo "<div class=\"backgroundColor1\" id=\"cMLogout\" onclick=\"userControl.doLogout();\" onmouseover=\"this.className='backgroundColor3';\" onmouseout=\"this.className='backgroundColor1';\" style=\"padding:5px;cursor:pointer;\"><img style=\"float:left;\" title=\"Abmelden\" src=\"./images/i2/logout.png\" onclick=\"userControl.doLogout();\" /><p style=\"padding-top:7px;padding-bottom:7px;padding-left:50px;\"><b>Abmelden</b></p></div>"; }
public function getEMailData() { return array("fromName" => Session::currentUser()->A("name"), "fromAddress" => Session::currentUser()->A("UserEmail"), "recipients" => array(self::mailAddress()), "subject" => "Fehlermeldung in " . Applications::activeApplication() . " " . Applications::activeVersion(), "body" => "Sehr geehrter Herr Furtmeier,\n\nbei der Nutzung von " . Applications::activeApplication() . " ist ein Fehler aufgetreten, während ich folgendes getan habe:\n\n\n\n\n\nWeiter unten sende ich die Fehlermeldung sowie einige Informationen, die Ihnen beim finden des Problems helfen könnten.\n\nFreundliche Grüße,\n" . Session::currentUser()->A("name") . "\n\n\n" . self::$errorMessage . "\n\nAlle geladenen Module:\n" . implode(", ", get_loaded_extensions()) . "\n\nMein Browser:\n" . $_SERVER["HTTP_USER_AGENT"] . "\n\nMein Server:\n" . $_SERVER["SERVER_SOFTWARE"]); }
function getHTML($id) { $forReload = ""; $displayMode = null; $AuftragID = -1; $bps = $this->getMyBPSData(); if ($bps != -1 and isset($bps["AuftragID"])) { $AuftragID = $bps["AuftragID"]; } if ($bps != -1 and isset($bps["displayMode"])) { $displayMode = $bps["displayMode"]; } $_SESSION["BPS"]->unsetACProperty("AuftragID"); $_SESSION["BPS"]->unsetACProperty("displayMode"); #if($this->A == null AND $id != -1) $this->loadMe(); $this->loadMeOrEmpty(); if ($id * 1 == -1) { $this->A = $this->newAttributes(); $this->A->AuftragID = $AuftragID; if ($displayMode != null) { $this->A->type = $displayMode; } //Has to stay or lieferAdresse will also overwrite a normal Auftrags-Adresse if (Session::isPluginLoaded("mAdressBuch")) { $AB = BPS::getProperty("AdressenGUI", "AdressBuch", null); if ($AB) { $this->A->type = "AB{$AB}"; } } $id = $this->newMe(true, false); $this->forceReload(); try { $K = new Kunden(); if ($displayMode == null and $this->A("type") == "default") { //Or else a lieferAdresse will get a Kundennummer $K->createKundeToAdresse($id, false); } } catch (ClassNotFoundException $e) { } $forReload = "<script type=\"text/javascript\">lastLoadedLeft = {$id}; lastLoadedLeftPlugin = 'Adresse';</script>"; } $OptTab = new HTMLSideTable("right"); if (Session::isPluginLoaded("Kunden") and $this->A->AuftragID == -1) { $B = new Button("Kundendaten", "kunden"); $B->loadFrame("contentLeft", "Kunde", "-1", "0", "KundeGUI;AdresseID:{$this->getID()};action:Kappendix"); $OptTab->addRow($B); } if ($_SESSION["applications"]->getActiveApplication() == "open3A") { if ($displayMode != null) { $OptTab->setTableStyle("width:160px;margin:0px;margin-left:-170px;float:left;"); } if (($id == -1 or $forReload != "") and Session::isPluginLoaded("mImport")) { $OTBV = new Button("Schnell-\nImport", "import"); #$OTBV->rmePCR("importAdresse", "", "getFastImportWindow", "", "Popup.display('Adresse importieren:',transport);"); $OTBV->onclick("Import.openSchnellImportAdresse('Adresse importieren:');"); $OTBV->id("ButtonAdresseSchnellImport"); $OptTab->addRow($OTBV); } if ($id != -1 and Session::isPluginLoaded("Kundenpreise") and $this->A->AuftragID == -1 and $this->A->type == "default") { $ButtonKundenpreise = new Button("Kundenpreise", "package"); $ButtonKundenpreise->onclick("contentManager.loadFrame('contentLeft','Kunde', -1, 0, 'KundeGUI;AdresseID:{$this->ID};action:Kundenpreise');"); $OptTab->addRow($ButtonKundenpreise); } if ($this->A->AuftragID == -1 and (Session::isPluginLoaded("mAnsprechpartner") or Session::isPluginLoaded("mOSM"))) { $OptTab->addRow(""); $OptTab->addCellStyle(1, "height:30px;"); } if ($id != -1 and Session::isPluginLoaded("mAnsprechpartner") and $this->A->AuftragID == -1) { $OptTab->addRow(Ansprechpartner::getButton("Adresse", $this->getID())); } if ($id != -1 and Session::isPluginLoaded("mOSM") and $this->A("AuftragID") == -1) { $OptTab->addRow(OpenLayers::getButton("Adresse", $this->getID())); } } if (Session::isPluginLoaded("mklickTel") and $this->A->AuftragID == -1) { $OptTab->addRow(klickTel::getButton($this->getID())); } $this->loadMeOrEmpty(); $gui = $this->gui; $gui->insertSpaceAbove("tel", "Kontakt"); $gui->insertSpaceAbove("strasse", "Adresse"); $gui->insertSpaceAbove("homepage", "Sonstiges"); $gui->setFormID("AdresseForm"); $fields = array("firma", "position", "anrede", "vorname", "nachname", "AdresseSpracheID", "strasse", "bezirk", "zusatz1", "ort", "land", "tel", "fax", "mobil", "email", "homepage", "gebRem", "gebRemMail", "AuftragID", "KategorieID", "type", "geb", "bemerkung"); if (Session::isPluginLoaded("mLDAP")) { $fields[] = "exportToLDAP"; } $gui->setShowAttributes($fields); $gui->setLabel("bemerkung", "Notizen"); if (Session::isPluginLoaded("mSprache")) { $gui->setLabel("AdresseSpracheID", "Sprache"); $gui->setLabelDescription("AdresseSpracheID", "und Währung"); #$ACS = anyC::get("Sprache"); #$S = array(); #while($SLW = $ACS->getNextEntry()) # $S[$SLW->getID()] = $SLW->A("SpracheSprache")." "." ".$SLW->A("SpracheWaehrung"); $gui->selectWithCollection("AdresseSpracheID", new mSprache(), "SpracheName"); #$gui->setType("AdresseSpracheID", "select"); #$gui->setOptions("AdresseSpracheID", array_keys($S), array_values($S)); #$gui->insertSpaceAbove("firma"); } else { $gui->setType("AdresseSpracheID", "hidden"); } #$gui->setAttributes($this->A); $gui->setObject($this); $gui->setName("Adresse"); $gui->setOptions("anrede", array_keys(self::getAnreden()), array_values(self::getAnreden())); $gui->setType("anrede", "select"); $gui->setType("geb", "hidden"); $gui->setType("gebRemMail", "hidden"); $gui->setType("gebRem", "hidden"); $gui->setType("exportToLDAP", "checkbox"); $gui->insertSpaceAbove("exportToLDAP"); $gui->setFieldDescription("exportToLDAP", "Soll die Adresse auf einen LDAP-Server exportiert werden?"); $gui->setType("AuftragID", "hidden"); $gui->setType("type", "hidden"); #$gui->setLabel("geb","Jahrestag"); $gui->setLabel("ort", "PLZ/Ort"); $gui->setLabel("strasse", "Straße/Hausnr."); $gui->setLabel("tel", "Telefon"); $gui->setLabel("email", "E-Mail"); $gui->setLabel("exportToLDAP", "LDAP-Export?"); $gui->setParser("strasse", "AdresseGUI::parserStrasse", array($this->A("nr"))); $gui->setParser("ort", "AdresseGUI::parserOrt", array($this->A("plz"))); #$gui->useAutoCompletion("plz", (Session::isPluginLoaded("Postleitzahlen") ? "Postleitzahlen" : "Adressen")); if (Session::isPluginLoaded("mStammdaten") or Applications::activeApplication() == "MMDB") { /*if($this->A("land") == ""){ $S = Stammdaten::getActiveStammdaten(); if($S->A("land") == "D") $S->changeA("land","DE"); $this->changeA("land", ISO3166::getCountryToCode($S->A("land"))); }*/ $gui->setType("land", "select"); $countries = ISO3166::getCountries(); $labels = array_merge(array("" => "keine Angabe"), $countries); $values = array_merge(array("" => ""), $countries); $gui->setOptions("land", array_values($values), array_values($labels)); if ($this->A("land") != ISO3166::getCountryToCode("GB") and $this->A("land") != ISO3166::getCountryToCode("US") and $this->A("land") != ISO3166::getCountryToCode("CH")) { $gui->setLineStyle("zusatz1", "display:none;"); $gui->setLineStyle("position", "display:none;"); } if ($this->A("land") != ISO3166::getCountryToCode("DK") and $this->A("land") != ISO3166::getCountryToCode("ES")) { $gui->setLineStyle("bezirk", "display:none;"); } $gui->setLabel("zusatz1", "Zusatz 1"); $gui->setInputJSEvent("land", "onchange", "contentManager.toggleFormFields((this.value == '" . ISO3166::getCountryToCode("GB") . "' || this.value == '" . ISO3166::getCountryToCode("US") . "' || this.value == '" . ISO3166::getCountryToCode("CH") . "') ? 'show' : 'hide', ['zusatz1', 'position']); contentManager.toggleFormFields((this.value == '" . ISO3166::getCountryToCode("DK") . "' || this.value == '" . ISO3166::getCountryToCode("ES") . "') ? 'show' : 'hide', ['bezirk']);"); } if (Session::isPluginLoaded("mGemeinschaft")) { $gui->activateFeature("addCustomButton", $this, "tel", Gemeinschaft::getCallButton($this->A("tel"))); $gui->activateFeature("addCustomButton", $this, "mobil", Gemeinschaft::getCallButton($this->A("mobil"), "mobile")); } $kat = new Kategorien(); $kat->addAssocV3("type", "=", $displayMode != "" ? $displayMode : "1"); $keys = $kat->getArrayWithKeys(); $keys[] = "0"; $values = $kat->getArrayWithValues(); $values[] = "bitte auswählen"; $gui->setOptions("KategorieID", $keys, $values); $gui->setType("bemerkung", "textarea"); $gui->setLabel("KategorieID", "Kategorie"); if ($AuftragID == -1) { $gui->setType("KategorieID", "select"); } else { $gui->setType("KategorieID", "hidden"); $gui->setType("bemerkung", "hidden"); $gui->setType("tel", "hidden"); $gui->setType("fax", "hidden"); $gui->insertSpaceAbove("email"); $gui->setType("homepage", "hidden"); $gui->setType("exportToLDAP", "hidden"); $gui->setType("mobil", "hidden"); } switch ($displayMode) { case "auftragsAdresse": $gui->setJSEvent("onSave", "function() {\n\t\t\t\t\tcontentManager.loadFrame('contentLeft','Auftrag',{$this->A->AuftragID});\n\t\t\t\t\tcontentManager.loadFrame('contentRight','Auftraege');\n\t\t\t\t}"); break; case "lieferAdresse": $this->A->type = "lieferAdresse"; $gui->setJSEvent("onSave", "function() {\n\t\t\t\t\tcontentManager.loadFrame('contentRight','Auftraege');\n\t\t\t\t\tcontentManager.loadFrame('subframe','GRLBM',{$this->A->AuftragID});\n\t\t\t\t}"); break; } Aspect::joinPoint("buttons", $this, __METHOD__, $OptTab); $gui->setStandardSaveButton($this, "Adressen"); $gui->customize($this->customizer); return $forReload . $OptTab . $gui->getEditHTML(); }