Merge remote-tracking branch 'origin/master' into stable-production

This commit is contained in:
2018-05-14 20:26:09 +02:00
21 changed files with 652 additions and 110 deletions

View File

@@ -5,7 +5,7 @@ gem 'sprockets', '2.2.2'
gem 'webrick', '1.3.1'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'mysql2'
gem 'mysql2', '~>0.3.10'
gem 'sqlite3'
gem 'execjs', '~>1.4.0'

View File

View File

0
Short,
View File

View File

View File

@@ -0,0 +1,134 @@
html {
background-color: #fff;
overflow: hidden;
}
body {
display: flex;
flex-flow: wrap;
height: 100vh;
justify-content: space-between;
flex-direction: column;
}
.header {
height: 200px;
width: 100%
}
svg {
padding-top: 2em;
}
.impulsPath {
fill: none;
stroke: #04669c;
stroke-miterlimit: 1;
stroke-width: 6px;
stroke-dasharray: 1946.243;
stroke-dashoffset: 0;
stroke-linejoin: round;
stroke-linecap: round;
animation: dash 10s ease-out infinite;
animation-direction: normal;
}
.FET-logotext-stroke {
fill: #fff;
}
#FET-logotext {
opacity: 0;
animation: logotext 10s ease-in infinite;
}
.content-area {
height: auto;
width: 100%;
}
.footer {
width: 100%;
height: 150px;
background-color: #04669c;
padding-bottom: 10px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
color: #fff;
flex-basis: bottom;
}
.footer h3,
p {
margin: 0;
padding: 0 20px;
font-family: Helvetica, Arial;
letter-spacing: 0.1em;
}
.footer h3 {
padding-top: 20px;
}
.footer .adress {
margin: auto;
text-align: left;
}
.footer .contact {
margin: auto;
text-align: center;
}
.footer .servicecontainer{
display: inline-flex;
margin: auto;
}
.footer .servicecontainer .servicetime {
margin: auto;
text-align: right;
}
.footer .servicecontainer .servicetime #time {
font-size: 0.7em
}
.footer .servicecontainer .servicestatus{
margin: auto;
width:20px;
height: 100%
padding-right: 30px;
background-color: #fff;
}
/*K E Y F R A M E S*/
@keyframes dash {
from {
stroke-dashoffset: 1946.243;
opacity: 0;
stroke-width: 0.5;
}
to {
opacity: 1;
stroke-dashoffset: 0;
stroke-width: 5px;
}
}
@keyframes logotext {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

View File

@@ -8,7 +8,7 @@ class HomeController < ApplicationController
params[:month]= Date.today.month if params[:month].nil?
params[:year]= Date.today.year if params[:year].nil?
@calentries= (@rubriken.map {|r| r.calendar}).collect(&:calentries).flatten.select {|c| c.object !=nil}
@starttopic= @themen = Thema.where(:id=>t).first
@@ -21,7 +21,7 @@ class HomeController < ApplicationController
end
def infoscreen
authorize! :infoscreen, User
authorize! :infoscreen, User
@neuigkeiten = Neuigkeit.accessible_by(current_ability, :show).where(flag_infoscreen: true)
render layout: false
end
@@ -29,7 +29,7 @@ class HomeController < ApplicationController
t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml")
@themen = Thema.where(:id=>t)
end
def treeview
def treeview
authorize! :doadmin, User
@themengruppen = Themengruppe.order(:priority).reverse
@themengruppen += Themengruppe.intern.order(:priority).reverse
@@ -54,7 +54,7 @@ class HomeController < ApplicationController
else
@logs = `tail -n #{lines} log/development.log | grep -v 'actionpack\\|railties\\|activesupport\\|::Translation'`
end
end
def startdev
render 'setup_fetsite_dev'
@@ -64,7 +64,7 @@ class HomeController < ApplicationController
end
def search
unless params['query'].nil? || params['query'].empty?
@results = Sunspot.search Neuigkeit,Rubrik, Fetprofile, Thema, Themengruppe, Lva, Studium, Modul, Modulgruppe, Gremium, Document do
fulltext params['query']
@@ -88,7 +88,7 @@ class HomeController < ApplicationController
# @themen=Thema.search(params['query']).public
# end
@themen=[]
else
@neuigkeiten=[]
@fetprofiles=[]
@@ -110,10 +110,10 @@ class HomeController < ApplicationController
unless params[:themen].nil?
t=([t].flatten+params[:themen]).uniq
end
unless params[:rmthema].nil?
unless params[:rmthema].nil?
t=t-[params[:rmthema]]
end
File.open("config/contact_topic.yml",'w'){|f| f.write(t.to_yaml)}
File.open("config/contact_topic.yml",'w'){|f| f.write(t.to_yaml)}
redirect_to admin_home_index_path
end

View File

@@ -16,7 +16,7 @@ class RubrikenController < ApplicationController
@rubriken= Rubrik.accessible_by(current_ability, :show)
@neuigkeiten = Neuigkeit.accessible_by(current_ability, :list).page(params[:page]).per(3)
@calentries= (@rubriken.map {|r| r.calendar.calentries.of_month(Date.new(params[:year],params[:month],1))}).flatten.select {|c| c.object !=nil}
@calentries= (@rubriken.map {|r| r.calendar.calentries.of_month(Date.new(params[:year].to_i,params[:month].to_i,1))}).flatten.select {|c| c.object !=nil}
respond_to do |format|
format.html
format.js {render action: :show}

View File

@@ -10,7 +10,7 @@ class Document < ActiveRecord::Base
has_paper_trail
TYPS = { 1=>"fet_docs", 10=>"protocol", 11=> "agenda"}
has_many :attachments, :as=>:parent
def long_name
def long_name
if self.parent.class=="Meeting"
"<b>"+self.parent.text+ "</b>"+ self.name
else
@@ -18,20 +18,20 @@ class Document < ActiveRecord::Base
end
end
def self.new_divid_for(parent)
"document_new_parent_" + parent.class.to_s + "_" + parent.id.to_s
"document_new_parent_" + parent.class.to_s + "_" + parent.id.to_s
end
def divid
"document_"+self.id.to_s
end
def self.ether
EtherpadLite.connect('http://www.fet.at/etherpad', File.new('/srv/etherpad/etherpad-lite/APIKEY.txt'))
EtherpadLite.connect('https://www.fet.at/etherpad', File.new('config/etherpad/APIKEY.txt'))#https://www.etherpad.fet.at
end
def create_pdf
require "open3"
#url=blank_document_url({id: self.id, host: host, port: port})
# url=Rails.application.routes.url_helpers.blank_document_url({id: self.id, host: host, port: port})
file = Tempfile.new(['document', '.pdf'])
bin=Rails.application.config.pdf_bin
sin,sout,serr=Open3.popen3("#{bin} --header-html \"file://#{Rails.root}/app/views/documents/header.html\" --footer-html \"file://#{Rails.root}/app/views/documents/footer.html\" --replace title1 \"#{self.name}\" - #{file.path}")
@@ -71,6 +71,7 @@ class Document < ActiveRecord::Base
def move_to_etherpad
unless self.is_etherpad? || self.id.nil?
self.etherpadkey="document_"+ self.id.to_s
if self.text.nill?
self.ep_pad.html = '<div>'+"text"+'</div>'
else
@@ -91,7 +92,7 @@ class Document < ActiveRecord::Base
end
def read_from_etherpad
self.text=ApplicationController.helpers.strip_control_chars( self.ep_pad.html)
end
def ep_pad
self.ep_group.pad(self.etherpadkey)
@@ -101,16 +102,16 @@ class Document < ActiveRecord::Base
Document.ether.group(Document::TYPS[t])
end
def text_stripped
ApplicationController.helpers.strip_control_chars(ApplicationController.helpers.strip_tags(text.to_s.gsub("<"," <").gsub(">","> ").to_s))
ApplicationController.helpers.strip_control_chars(ApplicationController.helpers.strip_tags(text.to_s.gsub("<"," <").gsub(">","> ").to_s))
end
searchable do
text :text, stored: true do |d|
d.text_stripped
end
text :name, :boost=>4.0, :stored=> true
text :meeting, stored: true do |d|
(d.parent.is_a?(Meeting))? d.try(:parent).try(:text).to_s : ""
text :name, :boost=>4.0, :stored=> true
text :meeting, stored: true do |d|
(d.parent.is_a?(Meeting))? d.try(:parent).try(:text).to_s : ""
end
end
def maketoc
@@ -124,20 +125,20 @@ class Document < ActiveRecord::Base
l=2
f=true;
s="<ul>"
c.each do |h|
c.each do |h|
s=s+ "</li></ul></li>"*(l-h["level"]) if (h["level"]<l) and !f
s=s+" </li>" if (h["level"]==l) and !f
s=s+" </li>" if (h["level"]==l) and !f
if (h["level"]>l)
s=s + "<ul><li>" * (h["level"]-l)
s=s + "<ul><li>" * (h["level"]-l)
else
s=s+"<li>"
end
end
s=s+h["text"]
l = h["level"]
f=false
end
s=s+"</ul>"*(l-2) if (l>2)
s=s+"</ul>"*(l-2) if (l>2)
s=s+"</ul>"
self.toc=s
end

View File

@@ -16,9 +16,9 @@ class Neuigkeit < ActiveRecord::Base
attr_accessible :datum, :text, :title, :rubrik_id, :author_id,:picture,:picture_cache, :calentries_attributes, :flag_important
belongs_to :author, :class_name =>'User'
belongs_to :rubrik, :class_name =>'Rubrik', :foreign_key => "rubrik_id"
has_one :calendar, through: :rubrik
has_one :calendar, through: :rubrik
has_many :calentries, as: :object, :dependent=> :destroy
has_many :nlinks, :dependent=> :destroy
has_many :nlinks, :dependent=> :destroy
has_one :meeting
has_many :attachments, :as=>:parent
has_one :title_pic, :class_name=>"Attachment", :as=>:parent, :conditions=>["attachments.flag_titlepic =?", true]
@@ -60,11 +60,11 @@ class Neuigkeit < ActiveRecord::Base
end
def read_attribute(name,options={})
if translated?(name)
a=super(name,options)
a=self.translation_for(options[:locale] || I18n.locale).read_attribute(name) if self.no_fallbacks
a=super(name,options)
a=self.translation_for(options[:locale] || I18n.locale).read_attribute(name) if self.no_fallbacks
a
else
else
super(name)
end
end
@@ -91,7 +91,7 @@ class Neuigkeit < ActiveRecord::Base
!self.meeting.nil?
end
def self.published
where("datum <= ? AND datum IS NOT NULL", Time.now.to_date)
where("datum <= ? AND datum IS NOT NULL", Time.now.to_date)
end
def datum_nilsave
@@ -132,7 +132,17 @@ class Neuigkeit < ActiveRecord::Base
"...."
else
words[0..100].join(" ")+ " ..." unless words.nil?
end
end
def text_infoscreen_words
md = /<p>(?<text>[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p'])
words=md[:text].split(" ") unless md.nil?
if words.nil? || words.empty?
"...."
else
words[0..1000].join(" ")+ " ..." unless words.nil?
end
end
def has_calentries?
@@ -143,7 +153,7 @@ class Neuigkeit < ActiveRecord::Base
end
def relevant_calentry
ce = self.calentries.min_by{|c| c.days_to_today * 1.3 * ((c.is_past?)? 2:1)} if self.is_event?
ce= self.meeting.calentry if self.has_meeting?
ce= self.meeting.calentry if self.has_meeting?
ce
end
def update_cache
@@ -151,8 +161,8 @@ class Neuigkeit < ActiveRecord::Base
self.update_column(:cache_order, (self.meeting.calentry.start.to_date - Date.today).to_i.abs * 1.3)
self.update_column(:cache_relevant_date, self.meeting.calentry.start.to_date)
self.touch
else
if self.is_event?
else
if self.is_event?
c = self.calentries.min_by{|c| c.days_to_today * 1.3 * ((c.is_past?)? 2:1)}
self.update_column(:cache_order, c.days_to_today * 1.3 * ((c.is_past?)? 2:1))
self.update_column(:cache_relevant_date, (c.is_past?) ? c.ende.to_date : c.start.to_date)
@@ -184,7 +194,7 @@ class Neuigkeit < ActiveRecord::Base
end
end
searchable do
text :text
text :text
text :datum
text :title
end

View File

@@ -9,7 +9,7 @@
</li>
</ul>
</p>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<!--<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div>
@@ -23,4 +23,6 @@
<div><%= f.submit "Sign in" %></div>
<% end %>
-->
<%= render "devise/shared/links" %>

View File

@@ -1 +1 @@
<%= link_to "weiter" , "http://www.fet.at/etherpad/p/"+@document.ep_pad.id , target: :blank %>
<%= link_to "weiter" , "https://www.fet.at/etherpad/p/"+@document.ep_pad.id , target: :blank %>

View File

@@ -3,84 +3,101 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
<%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
<%= stylesheet_link_tag "infoscreenframe.css" %>
<%= javascript_include_tag "application" %>
<%= javascript_include_tag "jmpress" %>
</head>
<body>
<div id ="jmpress">
<% i=1 %>
<% @neuigkeiten.each do |n| %>
<div class="step contentbox" id="step-<%=i%>" data-x="<%= i *2000 %>" data-y="<%= Random.rand(0..5)*200 %>" data-rotate="<%= Random.rand(0..18)*10 %>" style="width:1000px; height:500px; padding: 50px; display:block" data-duration="10000"><% @toolbar_elements=[];@questions=[] %>
<div class="media" style="width: 660px; height:340px; transform: scale(1.5) translate(120px,50px)" >
<div class="pull-left" href="#" style="max-width:200px;">
<% unless n.picture_robust.big_thumb.to_s.empty? %>
<p>
<br><%= link_to image_tag(n.picture_robust.big_thumb),n.picture_robust.try(:url) %>
</p>
<% end %>
<h3>
<% if n.has_calentries? %>
<div href="#">
<%= fa_icon("calendar 2x") %>
<%= n.relevant_calentry.text %>
</div>
<% elsif n.has_meeting? %>
<div href="#">
<%= fa_icon("calendar 2x") %>
<%= n.meeting.calentry.text unless n.meeting.calentry.nil? %>
</div>
<% end %>
</h3>
</div>
<div class="media-body">
<h1 itemprop="name">
<%= raw(n.title) %> <%#= link_to fa_icon("edit"), edit_rubrik_neuigkeit_path(n.rubrik, n), remote: true if can? :edit, n %>
</h1>
<div itemprop="articleBody" style="font-size:large">
<%= raw(n.text_first_words) %>
<%= content_tag(:iframe,'', width: "100%", height: "100%", name: "targetframe", allowTransparency:"true", scrolling:"no", frameborder:"0", src: "/iframe/infoscreenframe.html") %> <%#header picture/animation %>
<div id ="jmpress">
<% i=1 %>
<% @neuigkeiten.each do |n| %>
<div class="step" id="step-<%=i%>" data-x="<%= i *2000 %>" data-y="<%= Random.rand(0..5)*200 %>" style="position:absolute; height:540px; width:1230px; display: block;" data-duration="10000">
<div class="media" style="width:'95%'; height:480px;" >
<div class="pull-left" href="#" style="max-width:250px;">
<% unless n.picture_robust.big_thumb.to_s.empty? %>
<p>
<br><%= link_to image_tag(n.picture_robust.big_thumb),n.picture_robust.try(:url) %></p>
<% end %>
<h3>
<% if n.has_calentries? %>
<div href="#">
<%= fa_icon("calendar 2x") %>
<%= n.relevant_calentry.text %>
</div>
<% elsif n.has_meeting? %>
<div href="#">
<%= fa_icon("calendar 2x") %>
<%= n.meeting.calentry.text unless n.meeting.calentry.nil? %>
</div>
</div>
<% end %>
</h3>
</div>
<div class="media-body">
<h1 itemprop="name">
<%= raw(n.title) %> <%#= link_to fa_icon("edit"), edit_rubrik_neuigkeit_path(n.rubrik, n), remote: true if can? :edit, n %>
</h1>
<div itemprop="articleBody" style="font-size:large">
<%= raw(n.text_infoscreen_words) %>
</div>
</div>
</div>
</div>
<% i = i+1 %>
<% end %>
</div>
</div>
</div>
<% i = i+1 %>
<% end %>
<script>
var d = new Date();
var n = d.getDay();
var now = d.getHours() + "." + d.getMinutes();
var weekdays = [
["Sunday"],
["Monday", 9.00, 14.00],
["Tuesday", 9.00, 14.00],
["Wednesday", 9.00, 14.00],
["Thursday", 9.00, 14.00],
["Friday", 9.00, 12.00],
["Saturday"] // we are closed, sorry!
];
var day = weekdays[n];
if (now > day[1] && now < day[2]) {
document.write("<div id='footer' style='background: green; height:25px; width:50px; margin:10px; position:absolute'>");
document.write("OPEN");
document.write("</div>");
}
else {
document.write("<div id='footer' style='background: red; height:25px; width:60px; margin:10px; position:absolute'>");
document.write("CLOSED");
document.write("</div>");
}
</script>
</div>
<div class="ui-progressbar ui-widget ui-widget-content ui-corner-all" style="height:10px; z-index: 2000; left: 5px; right: 5px; bottom: 5px; height: 10px; position:absolute">
<div id="" class="ui-progressbar-value ui-widget-header ui-corner-left" style=""></div>
</div>
<script>
$(function () {
$('#jmpress').jmpress({
duration: {
barPropertyStart: '0',
barSelector: '.ui-progressbar-value'
},
initStep: function(element, eventData) {
console.log('We\'re changing to step: #' + $(element).attr('id') + '!');
}
<script>
$(function () {
$('#jmpress').jmpress({
initStep: function(element, eventData) {
console.log('We\'re changing to step: #' + $(element).attr('id') + '!');
}
});
setTimeout(function(){
window.location.reload();
/* or window.location = window.location.href; */
}, 100000);
});
setTimeout(function(){
window.location.reload();
/* or window.location = window.location.href; */
}, 100000);
});
</script>
</script>
</body>

View File

@@ -10,10 +10,15 @@ production:
development:
solr:
hostname: solr
port: 8983
hostname: triton-amp.local
port: 8080
log_level: INFO
path: /solr/mycore
# solr:
# hostname: localhost
# port: 8983
# log_level: INFO
# path: /solr/mycore
test:
solr:

View File

@@ -1,7 +1,7 @@
#! /bin/bash
ruby_command="ruby"
rake_command="rake"
bundler_command="bundler"
bundler_command="bundle"
# Are the necessary programs installed?
command -v $ruby_command >/dev/null 2>&1 || { echo >&2 "The given ruby command does not exist. Please change the command or install ruby"; exit 1; }
@@ -17,11 +17,12 @@ cp -u config/omniauth_secrets.yml.example config/omniauth_secrets.yml
touch config/crawl_config.yml
echo "Bundle install..."
# Run Bundler
$bundler_command install #|| {echo "Bundler failed. Please run \"$bundle\_command install\" seperately and debug the errors, before running this script again"; exit 1;}
$bundler_command install || { echo "Bundler failed. Please run \"$bundle\_command install\" seperately and debug the errors, before running this script again";exit 1; }
echo "Migrate the database..."
# Run the migration
$rake_command db:migrate #||{echo "Migration failed. Please run \"$rake\_command db:migrate\" seperately and debug the errors, before running this script again"; exit 1}
$rake_command db:migrate || { echo "Migration failed. Please run \"$rake\_command db:migrate\" seperately and debug the errors, before running this script again"; exit 1; }
echo "Start the sunspot server"
# Run Sunspot
@@ -35,7 +36,7 @@ if [ ! -f config/start_topic.yml ]; then
echo "1" > config/start_topic.yml
fi
# Generate fetadmin user "admin@fet.at", password: 12345678
touch config/crawl_config.yml

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -0,0 +1,134 @@
html {
background-color: #fff;
overflow: hidden;
}
body {
display: flex;
flex-flow: wrap;
height: 100vh;
justify-content: space-between;
flex-direction: column;
}
.header {
height: 200px;
width: 100%
}
svg {
padding-top: 2em;
}
.impulsPath {
fill: none;
stroke: #04669c;
stroke-miterlimit: 1;
stroke-width: 6px;
stroke-dasharray: 1946.243;
stroke-dashoffset: 0;
stroke-linejoin: round;
stroke-linecap: round;
animation: dash 10s ease-out infinite;
animation-direction: normal;
}
.FET-logotext-stroke {
fill: #fff;
}
#FET-logotext {
opacity: 0;
animation: logotext 10s ease-in infinite;
}
.content-area {
height: auto;
width: 100%;
}
.footer {
width: 100%;
height: 150px;
background-color: #04669c;
padding-bottom: 10px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
color: #fff;
flex-basis: bottom;
}
.footer h3,
p {
margin: 0;
padding: 0 20px;
font-family: Helvetica, Arial;
letter-spacing: 0.1em;
}
.footer h3 {
padding-top: 20px;
}
.footer .adress {
margin: auto;
text-align: left;
}
.footer .contact {
margin: auto;
text-align: center;
}
.footer .servicecontainer{
display: inline-flex;
margin: auto;
}
.footer .servicecontainer .servicetime {
margin: auto;
text-align: right;
}
.footer .servicecontainer .servicetime #time {
font-size: 0.7em
}
.footer .servicecontainer .servicestatus{
margin: auto;
width:20px;
height: 100%
padding-right: 30px;
background-color: #fff;
}
/*K E Y F R A M E S*/
@keyframes dash {
from {
stroke-dashoffset: 1946.243;
opacity: 0;
stroke-width: 0.5;
}
to {
opacity: 1;
stroke-dashoffset: 0;
stroke-width: 5px;
}
}
@keyframes logotext {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

View File

@@ -0,0 +1,134 @@
html {
background-color: #fff;
overflow: hidden;
}
body {
display: flex;
flex-flow: wrap;
height: 100vh;
justify-content: space-between;
flex-direction: column;
}
.header {
height: 200px;
width: 100%
}
svg {
padding-top: 2em;
}
.impulsPath {
fill: none;
stroke: #04669c;
stroke-miterlimit: 1;
stroke-width: 6px;
stroke-dasharray: 1946.243;
stroke-dashoffset: 0;
stroke-linejoin: round;
stroke-linecap: round;
animation: dash 10s ease-out infinite;
animation-direction: normal;
}
.FET-logotext-stroke {
fill: #fff;
}
#FET-logotext {
opacity: 0;
animation: logotext 10s ease-in infinite;
}
.content-area {
height: auto;
width: 100%;
}
.footer {
width: 100%;
height: 150px;
background-color: #04669c;
padding-bottom: 10px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
color: #fff;
flex-basis: bottom;
}
.footer h3,
p {
margin: 0;
padding: 0 20px;
font-family: Helvetica, Arial;
letter-spacing: 0.1em;
}
.footer h3 {
padding-top: 20px;
}
.footer .adress {
margin: auto;
text-align: left;
}
.footer .contact {
margin: auto;
text-align: center;
}
.footer .servicecontainer{
display: inline-flex;
margin: auto;
}
.footer .servicecontainer .servicetime {
margin: auto;
text-align: right;
}
.footer .servicecontainer .servicetime #time {
font-size: 0.7em
}
.footer .servicecontainer .servicestatus{
margin: auto;
width:20px;
height: 100%
padding-right: 30px;
background-color: #fff;
}
/*K E Y F R A M E S*/
@keyframes dash {
from {
stroke-dashoffset: 1946.243;
opacity: 0;
stroke-width: 0.5;
}
to {
opacity: 1;
stroke-dashoffset: 0;
stroke-width: 5px;
}
}
@keyframes logotext {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

View File

@@ -0,0 +1,104 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Infoscreen</title>
<style media="screen">
pre.code {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
padding: 10px;
height: 280px;
overflow: auto;
background: #181818;
border: solid 2px #181818;
}
#codelines {
display: none;
}
#svg {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
border: solid 2px #ccc;
width: 300px;
height: 300px;
float: left;
margin-right: 10px;
font: 1em source-sans-pro, Source Sans Pro, Helvetica, sans-serif;
}
</style>
<link rel="stylesheet" href="./infoscreenframe.css">
</head>
<body>
<div class="header">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 200">
<path id="impulsPath" class="impulsPath" d="M0,61.43H1018c2.41,0,6.77-2.28,9.12-2.28,2.66,0,8.3,6.58,11.65,6.58,3.16,0,7.47-15.07,10-15.07,4.3,0,10.38,29.62,14.18,29.62s11.89-55.47,13.67-55.47c5.32,0,10.63,86.34,14.18,86.34,4.3,0,10.63-111.15,13.42-111.15,3.54,0,8.86,123.56,13.17,123.56,3.8,0,8.36-116.85,13.55-116.85,3.42,0,8.74,100,13.67,100,3.67,0,9.24-71.15,12.91-71.15,3.42,0,10.51,41.78,12.91,41.78,3.42,0,8.48-24.56,12.41-24.56,4.43,0,7.93,12.91,12.41,12.91,5.7,0,8.3-6.58,11.65-6.58s6.77,2.28,9.12,2.28h64"/>
<g id="FET-logotext"><g id="F"><path d="M1042,82.71l12.7-35.9v-.1c.2-.3,3.8-8.5,13.1-9.6h37.9l-4,11.6h-25.8a7.19,7.19,0,0,0-4.8,3.7l-.6,1.6h14.1l-4.1,11.7h-14l-6.1,17Z"/><path class="FET-logotext-stroke" d="M1102.9,39l-2.6,7.6h-24.6a9.18,9.18,0,0,0-6.4,5l-1.6,4.4h14.1l-2.7,7.7h-14l-6.1,17h-14.2l11.7-33.2s3.3-7.5,11.5-8.5h34.9m5.7-4h-40.9c-10.4,1.3-14.5,10.4-14.7,10.8l-.1.1V46L1041,79.31l-1.9,5.3h22.7l.9-2.7,5.1-14.4H1082l.9-2.7,2.7-7.7,1.9-5.3h-13.7a5.48,5.48,0,0,1,2.3-1.4h27.1l.9-2.7,2.6-7.6,1.9-5.1Z"/></g><g id="E"><path d="M1101.3,82.71h-.2a8.59,8.59,0,0,1-6.2-3.8,9.86,9.86,0,0,1-.7-7.9l8.8-24.9.1-.1c.2-.3,4.3-8.1,13.3-9H1154l-4,11.7-26-.1a7.1,7.1,0,0,0-4.6,3.7l-.6,1.7h14.1l-4.1,11.7h-14.2l-1.1,3.1a2.37,2.37,0,0,0,.2,1.6,2.23,2.23,0,0,0,1.2.7h27l-4,11.7h-36.6Z"/><path class="FET-logotext-stroke" d="M1151.2,39l-2.6,7.7-24.8-.1a9.21,9.21,0,0,0-6.2,5l-1.7,4.4H1130l-2.7,7.7h-14.1l-1.6,4.5s-1.1,4.1,3,4.9H1139l-2.6,7.7h-35c-7.8-1.3-5.3-9.1-5.3-9.1l8.7-24.6s3.7-7.1,11.7-7.9l34.7-.2m5.6-4h-40.6c-10.1,1-14.7,9.7-14.9,10l-.1.3-.1.3-8.7,24.6v.2c-.2.5-1.6,5.4.9,9.6a10.41,10.41,0,0,0,7.5,4.7l.3.1h38.2l.9-2.7,2.6-7.7,1.8-5.3h-29l.5-1.4h14.1l.9-2.7,2.7-7.7,1.9-5.3H1122a6.42,6.42,0,0,1,2.2-1.4l24.3.1h2.9l.9-2.7,2.6-7.7,1.9-5.3Z"/></g><g id="T"><path d="M1154.3,82.71l12-34-15.1-.1.9-2.6a14.39,14.39,0,0,1,11.5-9H1204l-4.1,11.7h-15l-12.1,34.1h-18.5Z"/><path class="FET-logotext-stroke" d="M1201.2,38.91l-2.7,7.7h-15l-12.1,34.1h-14.3l12-34-15.1-.1a12.54,12.54,0,0,1,9.9-7.7h37.3m5.7-4h-43.6a16.53,16.53,0,0,0-13.1,10.3l-1.8,5.3h5.6l9.5.1-10.1,28.7-1.9,5.3h22.7l.9-2.7,11.1-31.4h15l.9-2.7,2.7-7.7,2.1-5.2Z"/></g></g>
</svg>
</div>
<div class="content-area">
<!-- Inhaltsbereich -->
</div>
<div class="footer">
<div class="adress">
<h3>Fachschaft Elektrotechnik</h3><br>
<p>Gußhausstraße 25-27<br>Room CD 01 09 (1st floor)<br>1040 Vienna</p>
</div>
<div class="contact">
<h3>Contact</h3><br>
<p>E-Mail: service@fet.at<br>Phone: +43-1-58801 49553<br></p>
</div>
<div class="servicecontainer">
<div class="servicetime">
<h3>Service times</h3><br>
<p style="text-align: right">Mon to Thur: 9am to 02pm<br>Fri: 9am to 12am<br>
<span id="time"></span>
</p>
</div>
<div class="servicestatus">
<!-- <svg class="servicestatusled">
<circle id="servicestatusled" cx="10" cy="15" r="10" style="fill: red" />
</svg> -->
</div>
</div>
</div>
<script>
var today = new Date();
today = today;
document.getElementById('time').innerHTML = today;
</script>
</body>
</html>

0
test1
View File