diff --git a/Gemfile b/Gemfile
index 0dc25bf..27f7d61 100755
--- a/Gemfile
+++ b/Gemfile
@@ -8,7 +8,7 @@ gem 'rails', '3.2.9'
gem 'sqlite3'
gem 'execjs', '~>1.4.0'
-
+ gem 'sanitize'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
diff --git a/app/assets/stylesheets/application.css.scss b/app/assets/stylesheets/application.css.scss
index 3e71d2d..b45b4ef 100755
--- a/app/assets/stylesheets/application.css.scss
+++ b/app/assets/stylesheets/application.css.scss
@@ -62,7 +62,7 @@ a:hover {
div.header {
display: block;
background: url('/assets/fet_icon_small.png') no-repeat;
- background-color: #0A64A4;
+ background-color: #000;
background-position:15px center;
border-bottom:1px solid black;
height:41px;
diff --git a/app/controllers/fetprofiles_controller.rb b/app/controllers/fetprofiles_controller.rb
index f1c9772..17cdd4c 100644
--- a/app/controllers/fetprofiles_controller.rb
+++ b/app/controllers/fetprofiles_controller.rb
@@ -20,6 +20,8 @@ class FetprofilesController < ApplicationController
# GET /fetprofiles/1.json
def show
@fetprofile = Fetprofile.find(params[:id])
+ @gremientabs = Gremium.tabs
+
if params["verwalten"]
@toolbar_elements << {:hicon=>'icon-plus', :text=> I18n.t('fetprofile.newmembership'),:path => new_fetprofile_membership_path(@fetprofile) , :confirm=>"Sure?" } if can? :new, Membership
@toolbar_elements << {:hicon=>'icon-pencil', :text=> I18n.t('common.edit'),:path => edit_fetprofile_path(@fetprofile),:confirm=>"Sure?" } if can? :edit, @fetprofile
diff --git a/app/models/studium.rb b/app/models/studium.rb
index 8fdff0c..93514a8 100755
--- a/app/models/studium.rb
+++ b/app/models/studium.rb
@@ -62,4 +62,10 @@ class Studium < ActiveRecord::Base
semester.save
self.semester << semester
end
+
+ def desc_first_words
+ md = /
(?[\w\s,\.!\?]*)/.match self.desc
+ md[:text].split(" ")[0..100].join(" ")+ " ..."
+ end
+
end
diff --git a/app/views/fetprofiles/show.html.erb b/app/views/fetprofiles/show.html.erb
index 5a44b10..760381c 100644
--- a/app/views/fetprofiles/show.html.erb
+++ b/app/views/fetprofiles/show.html.erb
@@ -1,10 +1,11 @@
+<%= render 'fetprofiles/tabs' %>
<%= notice %>
-
-
-
+
+
+
<%= image_tag @fetprofile.picture.portrait.url %>
-
-
+
+
<%= @fetprofile.name %>
<%= @fetprofile.fetmailalias %>
@@ -12,14 +13,7 @@
<%= @fetprofile.desc %>
-
-
-
-
-
-
-
<% @fetprofile.memberships.each do |m| %>
-
@@ -29,6 +23,8 @@
<% end %>
- <%= render 'layouts/pretty_toolbar' %>
+
-
+
+
+ <%= render 'layouts/pretty_toolbar' %>
diff --git a/config/tinymce.yml b/config/tinymce.yml
index 4563521..fb8817f 100755
--- a/config/tinymce.yml
+++ b/config/tinymce.yml
@@ -2,6 +2,11 @@
theme_advanced_toolbar_location: top
theme_advanced_toolbar_align: left
theme_advanced_statusbar_location: bottom
+theme_advanced_buttons1_add_before:
+ - h2
+ - h3
+ - h4
+ - separator
theme_advanced_buttons3_add:
- tablecontrols
- fullscreen
@@ -9,3 +14,5 @@ plugins:
- table
- fullscreen
- advimage
+ - heading
+heading_clear_tag: p
diff --git a/vendor/assets/javascripts/tinymce/plugins/heading/README.md b/vendor/assets/javascripts/tinymce/plugins/heading/README.md
new file mode 100644
index 0000000..4aa60bd
--- /dev/null
+++ b/vendor/assets/javascripts/tinymce/plugins/heading/README.md
@@ -0,0 +1,59 @@
+Plugin: Heading
+===============
+
+Here is a Heading plugin for TinyMCE by WSL.RU
+This plugin adds H1-H6 buttons to TinyMCE.
+This plugin was developed by Andrey G and modified by ggoodd.
+Further modifications made by Merten van Gerven.
+
+
+Version History
+===============
+
+### 1.4 by Merten van Gerven
+* refactored to reduce code duplication by using closures
+* changed button icons to fit the default theme.
+* fix for broken command execution (http://www.tinymce.com/forum/viewtopic.php?id=25260)
+
+### 1.3
+* rewrited for TinyMCE 3.x
+- removed keyboard shortcuts (use Ctrl+1-6)
+
+### 1.2 by ggoodd
++ added keyboard shortcuts
++ added heading_clear_tag option
+- removed language pack, advansed theme variables used instead
+
+### 1.1 by ggoodd
++ added buttons switching
+- removed NoHeading button
+
+### 1.0 by Andrey G
+* initial version
+
+
+Installation
+============
+
+* clone this repository to your TinyMCE plugins directory and rename to 'heading'.
+* Add plugin to TinyMCE plugin option list.
+* Add heading buttons to button list.
+* Set heading_clear_tag option if you need. Default value is undefined.
+ This option holds formating tag which is added on heading removal.
+
+
+Initialization Example
+======================
+
+```js
+tinyMCE.init({
+
+ theme : "advanced",
+ mode : "exact",
+
+ plugins : "heading",
+ heading_clear_tag : "p",
+ theme_advanced_buttons1_add_before : "h1,h2,h3,h4,h5,h6,separator",
+
+});
+```
diff --git a/vendor/assets/javascripts/tinymce/plugins/heading/editor_plugin.js b/vendor/assets/javascripts/tinymce/plugins/heading/editor_plugin.js
new file mode 100644
index 0000000..b7c4a4d
--- /dev/null
+++ b/vendor/assets/javascripts/tinymce/plugins/heading/editor_plugin.js
@@ -0,0 +1,63 @@
+/**
+ *
+ * @author WSL.RU
+ * @copyright Copyright (c) 2006-2009. All rights reserved.
+ *
+ */
+
+(function(tinymce) {
+
+ /**
+ * Add a new command to tiny MCE
+ */
+ function addCommand(ed, url, headingNumber) {
+ var headingTag = 'h' + headingNumber;
+
+ ed.addButton(headingTag, {
+ title : ed.getLang('advanced.' + headingTag, headingTag) + ' (Ctrl+' + headingNumber + ')',
+ image : url + '/img/' + headingTag + '.gif',
+ cmd: 'mceHeading' + headingNumber
+ });
+
+ ed.addCommand('mceHeading' + headingNumber, function() {
+ var ct = ed.getParam("heading_clear_tag", false) ? ed.getParam("heading_clear_tag", "") : "";
+
+ if (ed.selection.getNode().nodeName.toLowerCase() != headingTag) {
+ ct = headingTag;
+ }
+
+ ed.execCommand('FormatBlock', false, ct)
+ });
+
+ ed.onNodeChange.add( function(ed, cm, n) {
+ cm.setActive(headingTag, n.nodeName.toLowerCase() == headingTag);
+ });
+ }
+
+ tinymce.create('tinymce.plugins.heading', {
+ /**
+ * Initialize the plugin
+ */
+ init : function(ed, url) {
+ for (var headingNumber = 1; headingNumber <= 6; headingNumber++) {
+ addCommand(ed, url, headingNumber);
+ }
+ },
+
+ /**
+ * Plugin information
+ */
+ getInfo : function() {
+ return {
+ longname : 'Heading plugin',
+ author : 'WSL.RU / Andrey G, ggoodd, Merten van Gerven',
+ authorurl : 'http://wsl.ru',
+ infourl : 'mailto:merten.vg@gmail.com',
+ version : '1.4'
+ };
+ }
+ });
+
+ tinymce.PluginManager.add('heading', tinymce.plugins.heading);
+
+})(tinymce);
\ No newline at end of file
diff --git a/vendor/assets/javascripts/tinymce/plugins/heading/img/h1.gif b/vendor/assets/javascripts/tinymce/plugins/heading/img/h1.gif
new file mode 100644
index 0000000..d61ab29
Binary files /dev/null and b/vendor/assets/javascripts/tinymce/plugins/heading/img/h1.gif differ
diff --git a/vendor/assets/javascripts/tinymce/plugins/heading/img/h2.gif b/vendor/assets/javascripts/tinymce/plugins/heading/img/h2.gif
new file mode 100644
index 0000000..93c6705
Binary files /dev/null and b/vendor/assets/javascripts/tinymce/plugins/heading/img/h2.gif differ
diff --git a/vendor/assets/javascripts/tinymce/plugins/heading/img/h3.gif b/vendor/assets/javascripts/tinymce/plugins/heading/img/h3.gif
new file mode 100644
index 0000000..fb56260
Binary files /dev/null and b/vendor/assets/javascripts/tinymce/plugins/heading/img/h3.gif differ
diff --git a/vendor/assets/javascripts/tinymce/plugins/heading/img/h4.gif b/vendor/assets/javascripts/tinymce/plugins/heading/img/h4.gif
new file mode 100644
index 0000000..b1734a9
Binary files /dev/null and b/vendor/assets/javascripts/tinymce/plugins/heading/img/h4.gif differ
diff --git a/vendor/assets/javascripts/tinymce/plugins/heading/img/h5.gif b/vendor/assets/javascripts/tinymce/plugins/heading/img/h5.gif
new file mode 100644
index 0000000..a31a651
Binary files /dev/null and b/vendor/assets/javascripts/tinymce/plugins/heading/img/h5.gif differ
diff --git a/vendor/assets/javascripts/tinymce/plugins/heading/img/h6.gif b/vendor/assets/javascripts/tinymce/plugins/heading/img/h6.gif
new file mode 100644
index 0000000..1b02195
Binary files /dev/null and b/vendor/assets/javascripts/tinymce/plugins/heading/img/h6.gif differ