/** * ----------------------------------------------------------------------------- * @package smartVISU * @author Martin Gleiß * @copyright 2012 - 2015 * @license GPL [http://www.gnu.de] * ----------------------------------------------------------------------------- */ /** handle dropins - only if page configuration is completed */ {% if config_pages != "" %} {% set macrofiles = dir('dropins/shwidgets','^([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\.html$') %} {% set macrofiles = macrofiles|merge(dir('dropins/widgets','^([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\.html$')) %} /** additional widgets in current pages */ {% if isdir('pages/'~config_pages~'/widgets', '^([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\.html$') %} {% set macrofiles = macrofiles|merge(dir('pages/'~config_pages~'/widgets','^([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\.html$')) %} {% endif %} {% set dynmacro = [] %} {% for macrofile in macrofiles %} {% set dynmacro = dynmacro|merge(['{% import "@widgets/' ~ macrofile['file'] ~ '" as ' ~ macrofile['name'] ~ ' %}']) %} {% endfor %} {% extends template_from_string(dynmacro|join("\n") ~ '\n{% block root %}{% endblock %}') %} {% endif %} {% block root %} {{ config_title }} /** CSS assets **/ {% set design_css = isfile('designs/' ~ config_design ~ '.css') ? 'designs/' ~ config_design ~ '.css' : 'dropins/designs/' ~ config_design ~ '.css' %} {% set cssFiles = [ 'vendor/plot.highcharts/highcharts.css', 'vendor/JTSage/DateBox/css/jtsage-datebox.css', 'vendor/jquery.roundslider/roundslider.css', 'vendor/jquery.toast/toast.css', 'lib/clock/jdigiclock.css', 'lib/weather/jdigiweather.css', 'pages/base/base.css', 'pages/base/quad.css', icon0 ~ 'jquery.mobile.icons.min.css', design_css, 'pages/' ~ config_pages ~ '/visu.css' ] %} {% for file in dir('dropins/shwidgets', '(.*)(\.css)') %} {% set cssFiles = cssFiles|merge([file.path]) %} {% endfor %} {% for file in dir('dropins/widgets', '(.*)(\.css)') %} {% set cssFiles = cssFiles|merge([file.path]) %} {% endfor %} {% for file in dir('dropins', '(.*)(\.css)') %} {% set cssFiles = cssFiles|merge([file.path]) %} {% endfor %} {% if isdir('pages/'~config_pages~'/widgets') %} {% for file in dir('pages/'~config_pages~'/widgets', '(.*)(\.css)') %} {% set cssFiles = cssFiles|merge([file.path]) %} {% endfor %} {% endif %} {% if isdir('pages/'~config_pages~'/css') %} {% for file in dir('pages/'~config_pages~'/css', '(.*)(\.css)') %} {% set cssFiles = cssFiles|merge([file.path]) %} {% endfor %} {% endif %} {%- if config_cache and mbstring_available %} /** only use minified and merged version if page cache is activated and mbstring available. otherwise use original single files. **/ {% else -%} {%- for cssFile in cssFiles -%} {%- if cssFile is not empty and isfile(cssFile) %} {%- endif -%} {%- endfor %} {% endif %} /** if configured backend driver is not available (e.g. deprecated -> removed) start w/ offline driver */ {% set driver_error_msg = "" %} {% if not isfile('driver/io_' ~ config_driver ~ '.js') %} {% set driver_error_msg = 'Configured backend driver not found. Starting with Offline driver' %} {% set config_driver = 'offline'%} {% endif %} /** JavaScript assets **/ {% set jsFiles = [ 'lib/base/jquery.mobile.slider.js', 'vendor/plot.highcharts/highstock.js', 'vendor/plot.highcharts/highcharts-more.js', 'vendor/plot.highcharts/modules/draggable-points.js', 'vendor/plot.highcharts/modules/solid-gauge.js', 'vendor/jquery.cycle2/jquery.cycle2.js', 'vendor/jquery.roundslider/jquery-1.61.roundslider.js', 'vendor/jquery.toast/jquery.toast.js', 'vendor/JTSage/DateBox/js/jtsage-datebox.js', 'lib/clock/jquery.jdigiclock.js', 'vendor/JTSage/DateBox/js/i18n/jtsage-datebox.i18n.'~lang('DateBox', 'lang')~'.utf8.js', config_animation ? 'widgets/animation.js' : null, 'lib/base/base.js', 'lib/base/base.php', 'driver/io_' ~ config_driver ~ '.js', 'pages/' ~ config_pages ~ '/visu.js' ] %} {% if isdir('driver/'~config_driver, '\.js') %} {% for file in dir('driver/'~config_driver, '(.*)(\.js)') %} {% set jsFiles = jsFiles|merge([file.path]) %} {% endfor %} {% endif %} {% for file in dir('widgets', '(.*)(\.js)') %} {% set jsFiles = jsFiles|merge([file.path]) %} {% endfor %} {% for file in dir('dropins/shwidgets', '(.*)(\.js)') %} {% set jsFiles = jsFiles|merge([file.path]) %} {% endfor %} {% for file in dir('dropins/widgets', '(.*)(\.js)') %} {% set jsFiles = jsFiles|merge([file.path]) %} {% endfor %} {% for file in dir('dropins', '(.*)(\.js)') %} {% set jsFiles = jsFiles|merge([file.path]) %} {% endfor %} {% if isdir('pages/'~config_pages~'/widgets', '\.js') %} {% for file in dir('pages/'~config_pages~'/widgets', '(.*)(\.js)') %} {% set jsFiles = jsFiles|merge([file.path]) %} {% endfor %} {% endif %} {% if isdir('pages/'~config_pages~'/js', '\.js') %} {% for file in dir('pages/'~config_pages~'/js', '(.*)(\.js)') %} {% set jsFiles = jsFiles|merge([file.path]) %} {% endfor %} {% endif %} {%- if config_cache and mbstring_available -%} /** only use minified and merged version if page cache is activated and mbstring available. otherwise use original single files. **/ {%- else -%} {%- for jsFile in jsFiles -%} {%- if jsFile is not empty and isfile(jsFile) %} {%- endif -%} {%- endfor -%} {%- if config_cache and not mbstring_available %} {%- endif -%} {% endif %} {% block head %}{% endblock %} {% import "@widgets/lib.html" as lib %} {% import "@widgets/basic.html" as basic %} {% import "@widgets/calendar.html" as calendar %} {% import "@widgets/clock.html" as clock %} {% import "@widgets/device.html" as device %} {% import "@widgets/icon.html" as icon %} {% import "@widgets/multimedia.html" as multimedia %} {% import "@widgets/phone.html" as phone %} {% import "@widgets/plot.html" as plot %} {% import "@widgets/popup.html" as popup %} {% import "@widgets/status.html" as status %} {% import "@widgets/weather.html" as weather %} {% block body %}{% endblock %} {% endblock root %}