public function toHtml() { $topPanel = new TopPanelControl(null, 'debugTopPanel'); $topPanel->setCaption(' <div class="debug-block"> <span class="glyphicon glyphicon-flash"></span> ' . QueryLog::count() . ' </div> <div class="debug-block"> <span class="glyphicon glyphicon-time"></span> ' . Profiler::getTotalTime() . ' ms </div> <div class="debug-block"> <span class="glyphicon glyphicon-oil"></span> ' . round(memory_get_peak_usage() / 1024 / 1024, 1) . ' MB </div> ')->setOpened(Logging::isError()); if ($this->mode === self::MODE_LARGE) { $tabControl = new TabControl(null, 'debugTabControl'); $tabControl->addTab('Log (' . count(Logging::getLogItems()) . ')')->add($this->showLog()); $tabControl->addTab('SQL-Queries (' . QueryLog::count() . ')')->add($this->showQueryLog()); $tabControl->addTab('Request')->add($this->showNfsRequest()); $tabControl->addTab('REQUEST-Array (' . count($_REQUEST) . ')')->add($this->showRequest()); if (Configuration::get('logging.showServerVar') === 'true') { $tabControl->addTab('SERVER-Array (' . count($_SERVER) . ')')->add($this->showServer()); } $tabControl->addTab('FILES-Array (' . count($_FILES) . ')')->add($this->showFiles()); $tabControl->addTab('Profiler')->add($this->showProfilerInfo()); $tabControl->addTab('Cache')->add($this->showTabInfo()); $tabControl->addTab('Debug')->add($this->showDebugTab()); $topPanel->add($tabControl); } Javascript::addJs($topPanel->getJavascript()); return $topPanel->toHtml(); }
/** * @inheritdoc */ public function toHtml() { if (count(Routing::getBreadcrumbs()) === 0) { return ''; } $ul = Html::create($this->tagToUse)->addCssClasses($this->cssClasses)->css('breadcrumb'); $lastLi = null; foreach (Routing::getBreadcrumbs() as $curBreadcrumb) { $li = Html::create('li')->addTo($ul); $fulllink = $curBreadcrumb['link']; if (strpos($fulllink, 'http') === false) { $fulllink = Configuration::get('site.scriptUrl') . $fulllink; } $text = $curBreadcrumb['text']; if (mb_strlen($curBreadcrumb['text']) > 20) { $text = mb_substr($curBreadcrumb['text'], 0, 20) . '...'; } if ($curBreadcrumb['link'] !== '') { Html::create('a')->addTo($li)->attr('href', $fulllink)->attr('title', $curBreadcrumb['text'])->text($text); } else { Html::create('span')->addTo($li)->attr('title', $curBreadcrumb['text'])->text($text); } $lastLi = $li; } $lastLi->css('active'); return $ul->render(); }
/** * @covers \NewFrontiers\Framework\Output\Javascript::registerLibrary * @covers \NewFrontiers\Framework\Output\Javascript::requireLibrary * @covers \NewFrontiers\Framework\Output\Javascript::includeRequiredLibraries * @covers \NewFrontiers\Framework\Output\Javascript::includeRegisteredLibrary * @covers \NewFrontiers\Framework\Output\Javascript::getInstance */ public function testExternalLibrary() { Javascript::requireLibrary("nfs.StdControls"); Javascript::requireLibrary("nfs.ExtControls"); Javascript::requireLibrary("nfs.DataControls"); Javascript::requireLibrary("jQuery"); Javascript::requireLibrary("datetimepicker"); Javascript::requireLibrary("magnific"); Javascript::requireLibrary("typeahead"); Javascript::requireLibrary("googlemaps"); Javascript::requireLibrary("jqueryuploader"); Javascript::requireLibrary("ckeditor"); Javascript::requireLibrary("bootstrap-toggle"); Javascript::requireLibrary("bootstrap-star-rating"); Javascript::requireLibrary("code-prettify"); Javascript::requireLibrary("bootstrap-slider"); Javascript::requireLibrary("chosen"); Javascript::requireLibrary("froala"); Javascript::requireLibrary("Chart.js"); $string = $this->getActualOutput(); $this->assertEmpty($string); //Read test configuration for full path Configuration::getInstance()->readConfig(); Javascript::includeRequiredLibraries(); $this->expectOutputRegex('/.*(script)+.*/'); //check that valid html is produced $html = $this->getActualOutput(); $this->assertNotEmpty($html); $dom = new \DOMDocument(); $dom->validateOnParse = true; $isValid = $dom->loadHTML($html); $this->assertTrue($isValid); /* now follows a quite complex way to check if all URLs are parsable and if all * scripts that are not located on localhost are accessible. The complex thing * about this is to check scheme-relative URLs. For example //domain.de */ $URL_string = preg_replace('(.*src\\=\\"|\\".*)', "", $html); $URL_array = explode("\n", $URL_string); foreach ($URL_array as $URL) { if (!empty($URL)) { $parsed = parse_url($URL); if ($parsed === false) { $this->fail("Malformed URL: {$URL}"); continue; } if (isset($parsed['host']) && $parsed['host'] != "localhost") { if (empty($parsed['scheme'])) { $httpURL = 'http://' . ltrim($URL, '/'); $headers = @get_headers($httpURL); if (!$headers && strpos($headers[0], '200') !== false) { $httpsURL = 'https://' . ltrim($URL, '/'); $headers = @get_headers($httpsURL); } } else { $headers = @get_headers($URL); } $this->assertTrue($headers && strpos($headers[0], '200') !== false, "Script not found: {$URL}"); } } } }
public function toJavascript() { $key = Configuration::get('googleanalytics.key', null); $domain = Configuration::get('googleanalytics.domain', null); if ($key == null) { throw new Exception('Google Analytics Key/Domain wurde in der Config nicht festgelegt'); } return "\n\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\n ga('create', '{$key}', '{$domain}');\n ga('send', 'pageview');\n\n "; }
function __construct(Kollektion $kollektion, $options = null, $initialize = true, $error_messages = null) { $this->kollektionId = $kollektion->id; $this->options = array('user_dirs' => true, 'upload_dir' => 'medien/', 'upload_url' => Configuration::get('site.internalUrl') . '/medien/', 'image_versions' => array('thumbs' => array('crop' => true, 'max_width' => 140, 'max_height' => 140), 'resized' => array('max_width' => 1024, 'max_height' => 1024))); if ($options) { $this->options = $options + $this->options; } parent::__construct($this->options, $initialize, $error_messages); }
/** * @inheritdoc */ public function toJavascript() { return "\$('#{$this->id}').froalaEditor()"; $path = Configuration::get('site.url'); if ($this->toolbar === self::TOOLBAR_SMALL) { return "\n \n var editor = CKEDITOR.instances['{$this->id}'];\n if (editor) { editor.destroy(true); }\n \n var {$this->id}_editor = CKEDITOR.replace( '{$this->id}', {toolbar: [\n ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],\n ['NumberedList','BulletedList']\n ]}); \n\n CKFinder.setupCKEditor( {$this->id}_editor, '{$path}/lib/ckfinder/');\n CKEDITOR.config.height = '200px';"; } else { return "\n \n var editor = CKEDITOR.instances['{$this->id}'];\n if (editor) { editor.destroy(true); }\n \n var {$this->id}_editor = CKEDITOR.replace( '{$this->id}', {\n height : '400px',\n extraPlugins : 'templates',\n toolbar: [\n ['Source','-','Templates'],\n ['Cut','Copy','Paste','PasteText','PasteFromWord'],\n ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],\n '/',\n ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],\n ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],\n ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],\n ['Link','Unlink','Anchor'],\n ['Image','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],\n '/',\n ['Styles','Format','Font','FontSize'],\n ['TextColor','BGColor'],\n ['Maximize', 'ShowBlocks','-','About']\n ]\n });\n\n CKFinder.setupCKEditor( {$this->id}_editor, '{$path}/lib/ckfinder/');\n\n "; } }
/** * @covers \NewFrontiers\Framework\Output\Template::img */ public function testImg() { Template::load('bootadmin', true); $baseUrl = Configuration::get('site.internalUrl') . '/templates/bootadmin'; $imgString = Template::img('image.png', false, null); $this->assertEquals($baseUrl . '/img/image.png', $imgString); $imgString = Template::img('image.png', true, null); $this->assertEquals('<img src="' . $baseUrl . '/img/image.png" />', $imgString); $imgString = Template::img('image.png', true, 'meineId'); $this->assertEquals('<img src="' . $baseUrl . '/img/image.png" id="meineId"/>', $imgString); }
public function toHtml() { $path = Configuration::get('site.url'); $iconPath = Template::getInstance()->imgDirectory; $script = Configuration::get('site.scriptUrl'); $this->unterordner = new Kollektion(); $this->unterordner = $this->unterordner->filter(['parent' => $this->ordner]); $this->dateien = new Medien(); $this->dateien = $this->dateien->filter(['kollektion' => $this->ordner]); $div = Html::create('div')->addAttribute('id', $this->id); $table = Html::create('table')->css('table')->css('table-striped')->css('table-hover')->addTo($div); // HEADER $thead = Html::create('thead')->addTo($table); $tr = Html::create('tr')->addTo($thead); $th = Html::create('th')->addTo($tr)->addInnerHtml('Titel'); $th = Html::create('th')->addTo($tr)->addInnerHtml('Dateiname'); $th = Html::create('th')->addTo($tr)->addInnerHtml('Größe'); $th = Html::create('th')->addTo($tr)->addCssClass('icon')->addInnerHtml(' '); // BODY $tbody = Html::create('tbody')->addTo($table); // Ebene nach oben if ($this->ordnerObj != null && $this->ordnerObj->ko_parent > 0 && $this->showUp) { $tr = Html::create('tr')->addTo($tbody); $td = Html::create('td')->addTo($tr)->addInnerHtml('<a class="nfs-ajax" data-target="' . $this->ajaxTarget . '" href="' . $script . '/medien/showKollektion/id/' . $this->ordnerObj->ko_parent . '"><img src="' . $iconPath . '/icons/folder_up.png" /> zurück...</a>'); $td = Html::create('td')->addTo($tr)->addInnerHtml(''); $td = Html::create('td')->addTo($tr)->addInnerHtml(''); $td = Html::create('td')->addTo($tr)->addInnerHtml(''); } elseif ($this->ordnerObj != null && $this->showUp) { $tr = Html::create('tr')->addTo($tbody); $td = Html::create('td')->addTo($tr)->addInnerHtml('<a class="nfs-ajax" data-target="' . $this->ajaxTarget . '" href="' . $script . '/medien/showKollektion"><img src="' . $iconPath . '/icons/folder_up.png" /> zurück...</a>'); $td = Html::create('td')->addTo($tr)->addInnerHtml(''); $td = Html::create('td')->addTo($tr)->addInnerHtml(''); $td = Html::create('td')->addTo($tr)->addInnerHtml(''); } foreach ($this->unterordner as $akt) { $tr = Html::create('tr')->addTo($tbody); $td = Html::create('td')->addTo($tr)->addInnerHtml('<a class="nfs-ajax" data-target="' . $this->ajaxTarget . '" href="' . $script . '/medien/showKollektion/id/' . $akt->id . '"><img src="' . $iconPath . '/files/folder.png" /> ' . $akt->ko_bezeichnung . "</a> <a href=\"" . $script . "/medien/editKollektion/id/" . $akt->id . "\">[Edit]</a>"); $td = Html::create('td')->addTo($tr)->addInnerHtml(''); $td = Html::create('td')->addTo($tr)->addInnerHtml(''); $td = Html::create('td')->addTo($tr)->addCssClass('icons')->addInnerHtml('<a class="nfs-ajax" data-target="' . $this->ajaxTarget . '" href="' . $script . '/medien/deleteKollektion/id/' . $akt->id . '"><img src="' . $iconPath . '/icons/delete.png" /></a>'); } foreach ($this->dateien as $akt) { $tr = Html::create('tr')->addTo($tbody); // TODO: Bilder und andere Dokumente unterscheiden $td = Html::create('td')->addTo($tr)->addInnerHtml('<a class="magnigic-popup" href="' . $path . '/medien/' . $akt->me_kollektion . '/' . $akt->me_dateiname . '"><img src="' . $iconPath . '/files/' . $akt->me_erweiterung . '.png" /> ' . $akt->me_titel . "</a> <a href=\"" . $script . "/medien/editMedien/id/" . $akt->id . "\">[Edit]</a>"); $td = Html::create('td')->addTo($tr)->addInnerHtml($akt->me_dateiname); $td = Html::create('td')->addTo($tr)->addInnerHtml(intval($akt->me_groesse / 1024) . ' KB'); $td = Html::create('td')->addTo($tr)->addCssClass('icons')->addInnerHtml('<a href="' . $script . '/medien/deleteMedien/id/' . $akt->id . '"><img src="' . $iconPath . '/icons/delete.png" /></a> '); } $script = Html::create('script')->addInnerHtml("\n \$('.magnific-popup').magnificPopup({\n type: 'image'\n });\n "); return $table->render() . $script->render(); }
public function toHtml() { $div = Html::createElement('div')->addCssClass('flowelement')->addAttribute('id', $this->id); $span = Html::createElement('span')->addCssClass('box')->addInnerHtml($this->text . ' ')->addTo($div); if ($this->aktivitaet->wa_status >= 100) { $img = Html::createElement('img')->addTo($span)->addAttribute('src', Template::img('icons/tick.png'))->addAttribute('title', 'Abgeschlossen am ' . $this->aktivitaet->wa_abschlussdatum . ' von ' . $this->aktivitaet->abschlussbenutzer_vorname . ' ' . $this->aktivitaet->abschlussbenutzer_name); $span->addCssClass('complete'); } elseif ($this->aktivitaet->wa_status >= 0) { $span->addInnerHtml('<a href="' . Configuration::get('site.scriptUrl') . '/workflow/finishActivity/id/' . $this->aktivitaet->id . '" class="tick"> </a>'); $span->addCssClass('active'); } else { $span->addCssClass('not_yet'); } return $div->render(); }
/** * Zeigt die Debug-Console an */ public static function showDebugConsole() { if (Configuration::get('logging.debug') !== 'true') { return; } // TODO: Localhost! $allowed = ['92.217.151.126', '213.188.124.2', '94.219.179.56', '::1', '127.0.0.1', '92.217.158.188', '188.97.199.247', '94.219.93.70']; if (!in_array($_SERVER['REMOTE_ADDR'], $allowed)) { return; } Profiler::endAll(); $debugConsole = new DebugConsoleControl(null, 'dbg'); $html = $debugConsole->toHtml(); echo $html; }
protected function getStdEditControl($readOnly = false) { $control = new ControlContainer(null); $id = 'image' . $this->name; if ($this->getValue() != '' && file_exists('medien/-1/' . $this->getValue())) { $url = Configuration::get('site.url') . "/medien/-1/thumbs/{$this->getValue()}"; } else { $url = Configuration::get('site.url') . "/pixel.png"; } $htmlControl = new HtmlControl($control); $htmlControl->setInnerHtml("<img src=\"{$url}\" id=\"{$id}\" class=\"img-thumbnail\" />"); $uploader = new UploaderControl($control, $this->name); $uploader->setTargetFilename($this->entity->id); $uploader->setValue($this->getValue()); return $control; }
protected function registerPlugins() { $basePath = Configuration::get('site.internalUrl') . '/bower_components/froala-wysiwyg-editor'; Javascript::requireLibrary('froala'); Javascript::registerLibrary('froala-align', ["{$basePath}/js/plugins/align.min.js"]); Javascript::registerLibrary('froala-charCounter', ["{$basePath}/js/plugins/char_counter.min.js"]); Javascript::registerLibrary('froala-codeBeautifier', ["{$basePath}/js/plugins/code_beautifier.min.js"]); Javascript::registerLibrary('froala-codeView', ["{$basePath}/js/plugins/code_view.min.js"]); Javascript::registerLibrary('froala-colors', ["{$basePath}/js/plugins/colors.min.js"]); Javascript::registerLibrary('froala-draggable', ["{$basePath}/js/plugins/draggable.min.js"]); Javascript::registerLibrary('froala-emoticons', ["{$basePath}/js/plugins/emoticons.min.js"]); Javascript::registerLibrary('froala-entities', ["{$basePath}/js/plugins/entities.min.js"]); Javascript::registerLibrary('froala-file', ["{$basePath}/js/plugins/file.min.js"]); Javascript::registerLibrary('froala-fontFamily', ["{$basePath}/js/plugins/font_family.min.js"]); Javascript::registerLibrary('froala-fontSize', ["{$basePath}/js/plugins/font_size.min.js"]); Javascript::registerLibrary('froala-fullscreen', ["{$basePath}/js/plugins/fullscreen.min.js"]); Javascript::registerLibrary('froala-image', ["{$basePath}/js/plugins/image.min.js"]); Javascript::registerLibrary('froala-imageManager', ["{$basePath}/js/plugins/image_manager.min.js"]); Javascript::registerLibrary('froala-inlineStyle', ["{$basePath}/js/plugins/inline_style.min.js"]); Javascript::registerLibrary('froala-lineBreaker', ["{$basePath}/js/plugins/line_breaker.min.js"]); Javascript::registerLibrary('froala-link', ["{$basePath}/js/plugins/link.min.js"]); Javascript::registerLibrary('froala-lists', ["{$basePath}/js/plugins/lists.min.js"]); Javascript::registerLibrary('froala-paragraphFormat', ["{$basePath}/js/plugins/paragraph_format.min.js"]); Javascript::registerLibrary('froala-paragraphStyle', ["{$basePath}/js/plugins/paragraph_style.min.js"]); Javascript::registerLibrary('froala-quickInsert', ["{$basePath}/js/plugins/quick_insert.min.js"]); Javascript::registerLibrary('froala-quote', ["{$basePath}/js/plugins/quote.min.js"]); Javascript::registerLibrary('froala-save', ["{$basePath}/js/plugins/save.min.js"]); Javascript::registerLibrary('froala-table', ["{$basePath}/js/plugins/table.min.js"]); Javascript::registerLibrary('froala-url', ["{$basePath}/js/plugins/url.min.js"]); Javascript::registerLibrary('froala-video', ["{$basePath}/js/plugins/video.min.js"]); Css::registerLibrary('froala-charCounter', ["{$basePath}/css/plugins/char_counter.min.css"]); Css::registerLibrary('froala-codeView', ["{$basePath}/css/plugins/code_view.min.css"]); Css::registerLibrary('froala-colors', ["{$basePath}/css/plugins/colors.min.css"]); Css::registerLibrary('froala-draggable', ["{$basePath}/css/plugins/draggable.min.css"]); Css::registerLibrary('froala-emoticons', ["{$basePath}/css/plugins/emoticons.min.css"]); Css::registerLibrary('froala-file', ["{$basePath}/css/plugins/file.min.css"]); Css::registerLibrary('froala-fullscreen', ["{$basePath}/css/plugins/fullscreen.min.css"]); Css::registerLibrary('froala-image', ["{$basePath}/css/plugins/image.min.css"]); Css::registerLibrary('froala-imageManager', ["{$basePath}/css/plugins/image_manager.min.css"]); Css::registerLibrary('froala-lineBreaker', ["{$basePath}/css/plugins/line_breaker.min.css"]); Css::registerLibrary('froala-quickInsert', ["{$basePath}/css/plugins/quick_insert.min.css"]); Css::registerLibrary('froala-table', ["{$basePath}/css/plugins/table.min.css"]); Css::registerLibrary('froala-video', ["{$basePath}/css/plugins/video.min.css"]); }
public function postRoute(&$request) { // Das normale Routing hat etwas ergeben if (isset($request->module, $request->action)) { return; } Profiler::startSection('Routing.postRoute'); // Default-Page, falls nichts gefunden Logging::info('[Post-Route] Default-Page wird angezeigt'); $defaultId = Configuration::get('site.defaultPageId'); if ($defaultId <= 0) { throw new \Exception('Keine Defaultseite gesetzt!'); } $default = new Page($defaultId); $this->setCurrentPage($request, $default); Profiler::endSection('Routing.postRoute'); }
/** * Diese Methode gibt einen String aus, der alle einzubinden JS Dateien als HTML-Tags enthält * @param bool $beginning */ public static function includeRequiredLibraries($beginning = true) { $manager = self::getInstance(); $url = Configuration::get('site.internalUrl') . '/js'; $bowerUrl = $url . '/components'; $scripts = array(); foreach ($manager->requiredLibraries as $key => &$lib) { if ($lib['included']) { continue; } if (array_key_exists($key, $manager->registeredLibraries)) { $manager->includeRegisteredLibrary($key, $scripts); } elseif ($lib['library'] === 'nfs.StdControls') { $scripts[] = Script::library("{$url}/nostromo/ModalizerControl.js?v3"); $scripts[] = Script::library("{$bowerUrl}/spin.js/spin.js"); $scripts[] = Script::library("{$bowerUrl}/spin.js/jquery.spin.js"); $scripts[] = Script::library("{$bowerUrl}/jquery-validation/dist/jquery.validate.min.js"); $scripts[] = Script::library("{$bowerUrl}/globalize/lib/globalize.js"); $scripts[] = Script::library("{$bowerUrl}/globalize/lib/cultures/globalize.culture.de-DE.js"); $scripts[] = Script::library("{$url}/nostromo/validator.languages.de.js"); $scripts[] = Script::library("{$url}/nostromo/jquery.validate.globalize.min.js"); } elseif ($lib['library'] === 'nfs.ExtControls') { $scripts[] = Script::library("{$url}/nostromo/SubmitDataControl.js"); } elseif ($lib['library'] === 'nfs.DataControls') { $scripts[] = Script::library("{$url}/nostromo/GridControl.js"); } elseif ($lib['library'] === 'jQuery') { //$scripts[] = HtmlScript::createElement("$path/bower_components/jquery/dist/jquery.min.js"); } elseif ($lib['library'] === 'datetimepicker') { $scripts[] = Script::library("{$bowerUrl}/moment/min/moment.min.js"); $scripts[] = Script::library("{$bowerUrl}/moment/locale/de.js"); $scripts[] = Script::library("{$bowerUrl}/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"); } elseif ($lib['library'] === 'typeahead') { $scripts[] = Script::library("{$bowerUrl}/typeahead.js/dist/typeahead.bundle.min.js"); } elseif ($lib['library'] === 'googlemaps') { $scripts[] = Script::library("//maps.google.com/maps/api/js?sensor=true"); $scripts[] = Script::library("{$bowerUrl}/gmaps/gmaps.js"); } elseif ($lib['library'] === 'jqueryuploader') { $scripts[] = Script::library("{$url}/fileupload/jquery.ui.widget.js"); $scripts[] = Script::library("{$url}/fileupload/jquery.iframe-transport.js"); $scripts[] = Script::library("{$url}/fileupload/jquery.fileupload.js"); } elseif ($lib['library'] === 'bootstrap-toggle') { $scripts[] = Script::library("{$bowerUrl}/bootstrap-toggle/js/bootstrap-toggle.min.js"); } elseif ($lib['library'] === 'bootstrap-star-rating') { $scripts[] = Script::library("{$bowerUrl}/bootstrap-star-rating/js/star-rating.min.js"); } elseif ($lib['library'] === 'code-prettify') { $scripts[] = Script::library("https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"); } elseif ($lib['library'] === 'bootstrap-slider') { $scripts[] = Script::library("{$bowerUrl}/seiyria-bootstrap-slider/js/bootstrap-slider.js"); } elseif ($lib['library'] === 'chosen') { $scripts[] = Script::library("{$bowerUrl}/chosen/chosen.jquery.js"); } elseif ($lib['library'] === 'froala') { $scripts[] = Script::library("{$bowerUrl}/froala-wysiwyg-editor/js/froala_editor.min.js"); $scripts[] = Script::library('//cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js'); $scripts[] = Script::library('//cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js'); } elseif ($lib['library'] === 'Chart.js') { $scripts[] = Script::library("{$bowerUrl}/Chart.js/dist/Chart.min.js"); } $lib['included'] = true; } $result = ''; foreach ($scripts as $curScript) { $result .= $curScript->render() . "\n"; } echo $result; }
public function toJavascript() { Javascript::requireLibrary('jQuery'); Javascript::requireLibrary('nfs.DataControls'); if (!isset($this->deleteModule)) { $this->deleteModule = $this->entity->getModuleName(); } $gridUrl = Configuration::get('site.internalUrl') . '/ajaxGridControl.php'; $url = Configuration::get('site.scriptUrl'); $result = "\n var {$this->id} = new GridControl(\$('#{$this->id}'), {\n deleteModule: '{$this->deleteModule}',\n deleteAction: '{$this->deleteAction}',\n gridUrl: '{$gridUrl}',\n url: '{$url}'\n }).setup();\n "; return $result; }
public function getAvatarTag() { return Html::create('img')->attr('src', Configuration::get('site.internalUrl') . '/medien/-1/thumbs/' . $this->val('us_profilbild')); }
public function __construct() { $this->currentLogLevel = Configuration::get('logging.level', LoggingProvider::LOG_TRACE); $this->info('Verwendetes Log-Level: ' . $this->currentLogLevel); }
<!-- /.modal-dialog --> </div> <?php Template::js('jquery-2.1.1.js'); Template::js('bootstrap.min.js'); Template::js('plugins/metisMenu/jquery.metisMenu.js'); Template::js('plugins/slimscroll/jquery.slimscroll.min.js'); Template::js('inspinia.js'); Template::js('plugins/pace/pace.min.js'); Template::js('plugins/jvectormap/jquery-jvectormap-2.0.2.min.js'); Template::js('plugins/jvectormap/jquery-jvectormap-world-mill-en.js'); Template::js('ModalizerControl.js', Configuration::get('site.internalUrl') . '/assets'); Template::js('GridControl.js', Configuration::get('site.internalUrl') . '/assets'); Template::js('spin.js', Configuration::get('site.internalUrl') . '/bower_components/spin.js'); Template::js('jquery.spin.js', Configuration::get('site.internalUrl') . '/bower_components/spin.js'); Template::js('jquery.validate.min.js', Configuration::get('site.internalUrl') . '/bower_components/jquery-validation/dist'); Template::js('globalize.js', Configuration::get('site.internalUrl') . '/bower_components/globalize/lib'); Template::js('globalize.culture.de-DE.js', Configuration::get('site.internalUrl') . '/bower_components/globalize/lib/cultures'); Template::js('validator.languages.de.js', Configuration::get('site.internalUrl') . '/assets'); Template::js('jquery.validate.globalize.min.js', Configuration::get('site.internalUrl') . '/assets'); Template::js('Chart.min.js', Configuration::get('site.internalUrl') . '/bower_components/Chart.js/dist'); Debug::showDebugConsole(); Javascript::display(); ?> </body> </html>
/** * Löscht abgelaufene Dateien */ public function removeExpiredShares() { $buffer_days = 15; $medien = Medien::filter(array('share' => 1)); $send = false; $nachricht = "Folgende abgelaufene Dateien wurden automatisch gelöscht: \n\n"; foreach ($medien as $medium) { $invalid = strtotime($medium->me_valid_until); if (strtotime("+" . $buffer_days . "days", $invalid) < time()) { $nachricht .= $medium->me_titel . "\n"; $medium->delete(); $send = true; } } if ($send) { $empfaenger = Configuration::get('mail.shareInfo'); $betreff = '[' . Configuration::get('site.title') . '] Geteilte Dateien wurden gelöscht'; return PhpMailer::getInstance()->sendMail($empfaenger, $betreff, $nachricht); } }
/** * Gibt zurück, ob man sich aktuell auf der Startseite der Anwendung befindet. * @return bool */ public static function isFrontpage() { return static::currentPage() !== null and static::currentPage()->id == Configuration::get('site.defaultPageId'); }
/** * Gibt den lokalen Pfad zur Originaldatei für den Mailversand zurück * @return string */ public function getLocalPathForMail() { if ($this->isBild()) { return Configuration::get('site.localPath') . DIRECTORY_SEPARATOR . 'medien' . DIRECTORY_SEPARATOR . $this->me_kollektion . DIRECTORY_SEPARATOR . 'resized' . DIRECTORY_SEPARATOR . $this->getFileSystemName(); } else { return Configuration::get('site.localPath') . DIRECTORY_SEPARATOR . 'medien' . DIRECTORY_SEPARATOR . $this->me_kollektion . DIRECTORY_SEPARATOR . $this->getFileSystemName(); } }
public function toJavascript() { return "\n\n\n var kontakte{$this->id} = new Bloodhound({\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('ko_bezeichnung'),\n queryTokenizer: Bloodhound.tokenizers.whitespace,\n remote: '" . Configuration::get('site.url') . "/esvTypeahead.php?query=%QUERY',\n limit: 20\n });\n\n kontakte{$this->id}.initialize();\n\n\n \$('#" . $this->id . "').typeahead(\n {\n minLength: 3,\n highlight: true,\n },\n {\n name: 'esv-kontakte',\n displayKey: 'ko_bezeichnung',\n source: kontakte{$this->id}.ttAdapter(),\n templates: {\n suggestion: function (data) {\n return '<p><span class=\"pull-right nummer\">' + data.ko_nummer + '</span>' + data.ko_bezeichnung + '</p>';\n }\n }\n }\n );\n "; }
</li> </ul> </div> <!-- /.navbar-collapse --> </div> </nav> <?php } else { ?> <div class="container"> <div class="row"> <div class="col-md-12"> <img src="<?php echo Configuration::get('site.internalUrl'); ?> /templates/login_dtv/img/logo_dtv.png"> </div> </div> </div> <?php } ?> <div class="container"> <div class="row"> <div class="col-md-12" role="main">
<?php use NewFrontiers\Framework\Core\ConfigurationProvider; use NewFrontiers\Framework\Database\Database; use Nostromo\Contracts\Facades\Configuration; use NewFrontiers\Framework\Core\Application; use Symfony\Component\EventDispatcher\EventDispatcher; // Registrieren der benötigten Services Application::register('configuration', ConfigurationProvider::getInstance()); Application::register('module', new \NewFrontiers\Provider\Module\XmlModuleProvider()); Application::register('logging', new \NewFrontiers\Provider\Logging\MemoryLoggingProvider()); Application::register('routing', new \NewFrontiers\Provider\Routing\SitemapRoutingProvider()); Application::register('security', new \NewFrontiers\Provider\Security\SqlSecurityProvider()); Application::register('cache', new NewFrontiers\Provider\Cache\SessionCacheProvider()); Application::register('dispatcher', new EventDispatcher()); Application::register('default_database', new Database()); // Datenbank-Engine auf MySQL setzen Database::getInstance()->setEngine(Configuration::get('database.engine', Database::DB_MYSQL));
/** * */ public function redirectToFrontpage() { self::redirect(Configuration::get('site.scriptUrl')); }
public function toJavascript() { $url = Routing::appLink($this->module, $this->action); $siteurl = Configuration::get('site.url'); if ($this->showThumbnail) { $dir = 'thumbs'; } else { $dir = 'resized'; } $formFieldText = ''; foreach ($this->formFields as $field) { $formFieldText .= ", {$field['name']}: {$field['function']}"; } return "\n // Define the url to send the image data to\n var url = '{$url}';\n\n // Call the fileupload widget and set some parameters\n \$('#fileupload{$this->id}').fileupload({\n url: url,\n dataType: 'json',\n\n submit: function(e, data) {\n data.formData = {\n kollektion: {$this->kollektionId},\n info: {$this->info},\n target: '{$this->targetFilename}',\n token: '{$this->token}' {$formFieldText}\n };\n\n \$('#progress-outer{$this->id}').css('display', 'block');\n \$('#progress{$this->id}').addClass('active');\n \$('#files{$this->id}').empty();\n\n\n },\n\n progressall: function (e, data) {\n // Update the progress bar while files are being uploaded\n var progress = parseInt(data.loaded / data.total * 100, 10);\n \$('#progress{$this->id} .bar').css(\n 'width',\n progress + '%'\n );\n },\n\n done: function (e, data) {\n \$.each(data.result.files, function (index, file) {\n if (file.error){\n var html = '<b>'+file.name+'</b>: '+ file.error;\n \$('<div/>').addClass('alert alert-danger').html(html).appendTo('#files');\n } else {\n var html = '<b>'+file.name+'</b>';\n \$('<div/>').addClass('alert alert-success').html(html).appendTo('#files');\n \$('#{$this->id}').val(file.name);\n\n if (\$('#image{$this->id}') != null) {\n \$('#image{$this->id}').attr('src', file.url);\n }\n\n }\n });\n \$('#progress{$this->id}').removeClass('active');\n \$('#progress-outer{$this->id}').css('display', 'none');\n \$('#files-outer{$this->id}').css('display', 'block');\n\n if ('{$this->notify}' != '')\n \$('#{$this->notify}').data('control').update();\n\n\n }\n });\n "; }
/** * Verbindung zur Datenbank aufbauen * * @throws \RuntimeException */ public function connect() { if ($this->provider === null) { throw new \RuntimeException('Setzen Sie erst die Datenbank-Engine, bevor Sie eine Verbindung aufbauen'); } if ($this->connected) { return; } Profiler::startSection('Database.connect'); $this->connected = true; $host = Configuration::get('database.host'); $user = Configuration::get('database.user'); $pass = Configuration::get('database.password'); $dbname = Configuration::get('database.dbname'); $this->pdo = $this->provider->getConnection($host, $dbname, $user, $pass); Profiler::endSection('Database.connect'); }
/** * Shortcut Methode, die die übergebene Nachricht an den in der Konfiguration * hinterlegten Eigentümer sendet. * * @param string $betreff * @param string $nachricht */ public static function sendNotification($betreff, $nachricht) { Mailer::getInstance()->sendMail(Configuration::get('mail.from'), $betreff, $nachricht); }
/** * @inheritdoc */ public function toHtml() { if ($this->action !== '') { $this->addHiddenValue('action', $this->action); $this->addHiddenValue('module', $this->module); $url = Configuration::get('site.scriptUrl'); if (strpos($url, '.php') === false) { $url = Configuration::get('site.internalUrl') . '/index.php'; } } else { $url = $this->url; } $form = Html::create('form'); $form->attr('id', $this->id)->attr('enctype', $this->encoding)->attr('action', $url)->attr('method', $this->method)->attr('role', 'form')->text($this->renderChildren()); return $form->render(); }
/** * @param string|array $match * @param BaseEntity $entity * @param Control $controlContainer * @param $vars * @param $useControl * @return mixed */ private function getReplacement($match, $entity, $controlContainer, $vars, $useControl) { if ($match === 'controls') { // Unter-Controls ausgeben return $controlContainer->renderChildren(); } elseif (is_array($match)) { if (array_key_exists($match[0], $vars)) { // Zusammengesetzter Wert $variable = $match[0]; $property = $match[1]; return $vars[$variable]->{$property}; } elseif (Configuration::get($match[0] . '.' . $match[1]) !== null) { // Konfigurations-Wert return Configuration::get($match[0] . '.' . $match[1]); } } elseif (array_key_exists($match, $vars)) { // Ein Wert im Variablen-Array return $this->getWertFromVars($match, $vars); } elseif ($entity !== null && $match === $entity->primaryKey) { // Primärschlüssel des Entity return $entity->id; } elseif ($controlContainer !== null && $controlContainer->get($match) !== null) { // Control ausgeben [nur HTML] return $controlContainer->get($match)->toHtml(); } elseif ($entity !== null && $entity->hasField($match)) { // String-Repräsentation eines Felds [oder das Control] return $this->getWertFromEntity($match, $entity, $useControl); } elseif ($entity !== null && $entity->getParserText($match) !== '') { // Text aus dem Entity return $entity->getParserText($match); } return ''; }