diff --git a/pom.xml b/pom.xml index 685bf5b1c3ef15aca16d3d391507b9b533081659..ae900cd80b8b87ce31a6b425e1f360c962b58c74 100644 --- a/pom.xml +++ b/pom.xml @@ -2168,11 +2168,6 @@ <artifactId>velocity</artifactId> <version>1.6.2</version> </dependency> - <dependency> - <groupId>radeox</groupId> - <artifactId>radeox</artifactId> - <version>1.0-b2</version> - </dependency> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> diff --git a/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java b/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java index 72ada06f93429c803066044a9068e2a94469d393..2498c24d5671369103f3ba49e75326a0d5bbc42d 100644 --- a/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java +++ b/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java @@ -27,8 +27,6 @@ import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormUIFactory; import org.olat.core.gui.components.form.flexible.elements.SelectionElement; -import org.olat.core.gui.formelements.CheckBoxElement; -import org.olat.core.gui.formelements.FormElement; import org.olat.core.id.User; import org.olat.user.AbstractUserPropertyHandler; import org.olat.user.UserManager; @@ -62,39 +60,6 @@ public class GenericCheckboxPropertyHandler extends AbstractUserPropertyHandler return sElem; } -/** - * - * @see org.olat.user.propertyhandlers.UserPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean) - */ - public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) { - CheckBoxElement ui = null; - UserManager um = UserManager.getInstance(); - - String value = getInternalValue(user); - boolean isEnabled = value != null && value.equals("true") ? Boolean.TRUE : Boolean.FALSE; - ui = new CheckBoxElement(i18nFormElementLabelKey(), isEnabled); - if ( um.isUserViewReadOnly(usageIdentifyer, this) && ! isAdministrativeUser) { - ui.setReadOnly(true); - } - if (um.isMandatoryUserProperty(usageIdentifyer, this)) { - ui.setMandatory(true); - } - return ui; - } - -/** - * - * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement) - */ - public String getStringValue(FormElement ui) { - String value = ""; - if (((CheckBoxElement) ui).isChecked()) - value = "true"; - else - value = "false"; - - return value; - } /** * @@ -118,13 +83,6 @@ public class GenericCheckboxPropertyHandler extends AbstractUserPropertyHandler return displayValue; } -/** - * - * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement, java.util.Map) - */ - public boolean isValid(FormElement ui, Map formContext) { - return true; - } /** * @@ -142,23 +100,6 @@ public class GenericCheckboxPropertyHandler extends AbstractUserPropertyHandler return true; } -/** - * - * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateFormElementFromUser(org.olat.core.gui.formelements.FormElement, org.olat.core.id.User) - */ - public void updateFormElementFromUser(FormElement ui, User user) { - ((CheckBoxElement) ui).setName(getInternalValue(user)); - } - -/** - * - * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormElement(org.olat.core.id.User, org.olat.core.gui.formelements.FormElement) - */ - public void updateUserFromFormElement(User user, FormElement ui) { - String internalValue = getStringValue(ui); - setInternalValue(user, internalValue); - } - /** * * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormItem(org.olat.core.id.User, org.olat.core.gui.components.form.flexible.FormItem) diff --git a/src/main/java/org/olat/admin/sysinfo/RequestLoglevelController.java b/src/main/java/org/olat/admin/sysinfo/RequestLoglevelController.java index 0ac7cba75a5c1e73022105d30baa4695e84217ec..389893eb4b8275aaa6a4d0a37798c01613c6c761 100644 --- a/src/main/java/org/olat/admin/sysinfo/RequestLoglevelController.java +++ b/src/main/java/org/olat/admin/sysinfo/RequestLoglevelController.java @@ -1,130 +1,152 @@ /** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -*/ + * OLAT - Online Learning and Training<br> + * http://www.olat.org + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> + * University of Zurich, Switzerland. + * <hr> + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * This file has been modified by the OpenOLAT community. Changes are licensed + * under the Apache 2.0 license as the original file. + */ package org.olat.admin.sysinfo; import org.apache.log4j.Logger; import org.olat.core.gui.UserRequest; -import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.TextElement; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; -import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; -import org.olat.core.gui.control.controller.BasicController; import org.olat.core.util.threadlog.RequestBasedLogLevelManager; import org.olat.core.util.threadlog.UserBasedLogLevelManager; /** * A rather simply kept controller used for the requestloglevel feature which - * was added to debug special cases with 'slow requests'. + * was added to debug special cases with 'slow requests'. * <p> - * It allows to mark particular requests (based on ip address or username - - * dont overlap those two though!) with a specific loglevel and even an appender. + * It allows to mark particular requests (based on ip address or username - dont + * overlap those two though!) with a specific loglevel and even an appender. * <p> - * That way you can have all requests from say user 'administrator' logged - * with log level DEBUG and sent to appender 'DebugLog' (which is a standard - * log4j appender and can therefore for example be writing to a different file - * than the rest of the log events). + * That way you can have all requests from say user 'administrator' logged with + * log level DEBUG and sent to appender 'DebugLog' (which is a standard log4j + * appender and can therefore for example be writing to a different file than + * the rest of the log events). * <P> - * Initial Date: 13.09.2010 <br> + * Initial Date: 13.09.2010 <br> + * * @author Stefan */ -public class RequestLoglevelController extends BasicController implements Controller { +public class RequestLoglevelController extends FormBasicController { + + // private RequestLoglevelForm form; - private RequestLoglevelForm form; - private final RequestBasedLogLevelManager requestBasedLogLevelManager; - + private final UserBasedLogLevelManager userBasedLogLevelManager; + private TextElement txeRemoteIps; + private TextElement txeUsernames; + protected RequestLoglevelController(UserRequest ureq, WindowControl control) { super(ureq, control); - + requestBasedLogLevelManager = RequestBasedLogLevelManager.getInstance(); userBasedLogLevelManager = UserBasedLogLevelManager.getInstance(); - - if (requestBasedLogLevelManager==null && userBasedLogLevelManager==null) { + + if (requestBasedLogLevelManager == null && userBasedLogLevelManager == null) { VelocityContainer requestlogleveldisabled = createVelocityContainer("requestlogleveldisabled"); putInitialPanel(requestlogleveldisabled); } else { - form = new RequestLoglevelForm("requestloglevelform", getTranslator()); - form.addListener(this); - putInitialPanel(form); + initForm(ureq); } } + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + uifactory.addStaticTextElement("requestloglevel.format.label", getTranslator().translate("requestloglevel.format.text"), formLayout); + txeRemoteIps = uifactory.addTextAreaElement("requestloglevel.ips", 10, 60, "", formLayout); + txeUsernames = uifactory.addTextAreaElement("requestloglevel.usernames", 10, 60, "", formLayout); + } + /** * @see org.olat.core.gui.control.DefaultController#doDispose() */ @Override protected void doDispose() { - // TODO Auto-generated method stub + // TODO Auto-generated method stub } - /** - * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event) - */ + private String[] getUsernamesAndLevels() { + String[] retVal = txeUsernames.getValue().split("\r\n"); + return retVal; + } + + private String getRawUsernames() { + return txeUsernames.getValue(); + } + + private String[] getIpsAndLevels() { + String[] retVal = txeRemoteIps.getValue().split("\r\n"); + return retVal; + } + + private String getRawIpsAndLevels() { + return txeRemoteIps.getValue(); + } + @Override - protected void event(UserRequest ureq, Component source, Event event) { - if(source == form){ - String[] usernames = form.getUsernamesAndLevels(); - String[] ips = form.getIpsAndLevels(); - - if (requestBasedLogLevelManager!=null) { - requestBasedLogLevelManager.reset(); - - requestBasedLogLevelManager.storeIpsAndLevels(form.getRawIpsAndLevels()); - - for (int i = 0; i < ips.length; i++) { - String ip = ips[i]; - if (ip!=null && ip.length()>0 && ip.contains("=")) { - try{ - requestBasedLogLevelManager.setLogLevelAndAppender(ip); - } catch(Exception e) { - Logger.getLogger(getClass()).warn("Couldnt set loglevel for remote address: "+ip, e); - } + protected void formOK(UserRequest ureq) { + + String[] usernamesALevels = getUsernamesAndLevels(); + String[] ipsALevels = getIpsAndLevels(); + + if (requestBasedLogLevelManager != null) { + requestBasedLogLevelManager.reset(); + + requestBasedLogLevelManager.storeIpsAndLevels(getRawIpsAndLevels()); + + for (int i = 0; i < ipsALevels.length; i++) { + String ip = ipsALevels[i]; + if (ip != null && ip.length() > 0 && ip.contains("=")) { + try { + requestBasedLogLevelManager.setLogLevelAndAppender(ip); + } catch (Exception e) { + Logger.getLogger(getClass()).warn("Couldnt set loglevel for remote address: " + ip, e); } } } - - if (userBasedLogLevelManager!=null) { - userBasedLogLevelManager.storeUsernameAndLevels(form.getRawUsernames()); - - userBasedLogLevelManager.reset(); - for (int i = 0; i < usernames.length; i++) { - String username = usernames[i]; - if (username!=null && username.length()>0 && username.contains("=")) { - try{ - userBasedLogLevelManager.setLogLevelAndAppender(username); - } catch(Exception e) { - Logger.getLogger(getClass()).warn("Couldnt set loglevel for username: "+username, e); - } + } + + if (userBasedLogLevelManager != null) { + userBasedLogLevelManager.storeUsernameAndLevels(getRawUsernames()); + + userBasedLogLevelManager.reset(); + for (int i = 0; i < usernamesALevels.length; i++) { + String username = usernamesALevels[i]; + if (username != null && username.length() > 0 && username.contains("=")) { + try { + userBasedLogLevelManager.setLogLevelAndAppender(username); + } catch (Exception e) { + Logger.getLogger(getClass()).warn("Couldnt set loglevel for username: " + username, e); } } } - } } diff --git a/src/main/java/org/olat/admin/sysinfo/RequestLoglevelForm.java b/src/main/java/org/olat/admin/sysinfo/RequestLoglevelForm.java deleted file mode 100644 index bb7f0e96ec77b30eeb027bdfabcc775ce4fd01eb..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/admin/sysinfo/RequestLoglevelForm.java +++ /dev/null @@ -1,109 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -*/ -package org.olat.admin.sysinfo; - -import org.olat.core.gui.components.form.Form; -import org.olat.core.gui.formelements.StaticHTMLTextElement; -import org.olat.core.gui.formelements.TextAreaElement; -import org.olat.core.gui.translator.Translator; -import org.olat.core.util.threadlog.RequestBasedLogLevelManager; -import org.olat.core.util.threadlog.UserBasedLogLevelManager; - -/** - * The form used by RequestLoglevelController which simply contains - * two fields: one for the ip addresses to loglevel/logappenders, - * the other one for the usernames to loglevel/appenders. - * <p> - * The format of the fields is described in RequestBasedLogLevelManager.setLogLevelAndAppender - * and UserBasedLogLevelManager.setLogLevelAndAppender - * <P> - * Initial Date: 13.09.2010 <br> - * @author Stefan - * @see RequestBasedLogLevelManager#setLogLevelAndAppender(String) - * @see UserBasedLogLevelManager#setLogLevelAndAppender(String) - */ -public class RequestLoglevelForm extends Form { - - private TextAreaElement remoteIps; - private TextAreaElement usernames; - - public RequestLoglevelForm(String name, Translator translator) { - super(name, translator); - - StaticHTMLTextElement ste = new StaticHTMLTextElement("requestloglevel.format.label", translator.translate("requestloglevel.format.text"), 1024); - addFormElement("requestloglevel.format", ste); - - RequestBasedLogLevelManager requestBasedLogLevelManager = RequestBasedLogLevelManager.getInstance(); - if (requestBasedLogLevelManager!=null) { - remoteIps = new TextAreaElement("requestloglevel.ips", 10, 60, null); - String ipsAndLevels = requestBasedLogLevelManager.loadIpsAndLevels(); - if (ipsAndLevels!=null) { - remoteIps.setValue(ipsAndLevels); - } - - addFormElement("requestloglevel.ips", remoteIps); - } - - UserBasedLogLevelManager userBasedLogLevelManager = UserBasedLogLevelManager.getInstance(); - if (userBasedLogLevelManager!=null) { - usernames = new TextAreaElement("requestloglevel.usernames", 10, 60, null); - String usernameAndLevels = userBasedLogLevelManager==null ? null : userBasedLogLevelManager.loadUsernameAndLevels(); - if (usernameAndLevels!=null) { - usernames.setValue(usernameAndLevels); - } - - addFormElement("requestloglevel.usernames", usernames); - } - - addSubmitKey("save", "save"); - } - - /** - * @see org.olat.core.gui.components.form.Form#validate() - */ - @Override - public boolean validate() { - return true; - } - - String[] getUsernamesAndLevels(){ - String[] retVal = usernames.getValue().split("\r\n"); - return retVal; - } - - String getRawUsernames() { - return usernames.getValue(); - } - - String[] getIpsAndLevels(){ - String[] retVal = remoteIps.getValue().split("\r\n"); - return retVal; - } - - String getRawIpsAndLevels() { - return remoteIps.getValue(); - } - -} diff --git a/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java b/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java index a29a1fd3ede18b0e8dd809e361e435c8b30a7a33..d4a5c99c42ee0d2a009fdba55e03343b2e3ceef0 100644 --- a/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java +++ b/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java @@ -42,6 +42,7 @@ import org.olat.core.gui.components.form.flexible.elements.DateChooser; import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.elements.SelectionElement; import org.olat.core.gui.components.form.flexible.elements.SingleSelection; +import org.olat.core.gui.components.form.flexible.elements.SpacerElement; import org.olat.core.gui.components.form.flexible.elements.StaticTextElement; import org.olat.core.gui.components.form.flexible.elements.TextElement; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; @@ -50,8 +51,6 @@ import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; -import org.olat.core.gui.formelements.SpacerElement; -import org.olat.core.gui.formelements.VisibilityDependsOnSelectionRule; import org.olat.core.logging.OLATRuntimeException; import org.olat.core.util.StringHelper; @@ -121,8 +120,8 @@ public class KalendarEntryForm extends FormBasicController { calendarValues[i] = cw.getKalendarConfig().getDisplayName(); } - String currentRecur = CalendarUtils.getRecurrence(event.getRecurrenceRule()); - VisibilityDependsOnSelectionRule rule; +// String currentRecur = CalendarUtils.getRecurrence(event.getRecurrenceRule()); +// VisibilityDependsOnSelectionRule rule; keysRecurrence = new String[] { RECURRENCE_NONE, KalendarEvent.DAILY, diff --git a/src/main/java/org/olat/core/gui/components/form/Form.java b/src/main/java/org/olat/core/gui/components/form/Form.java index f4f19fba34ec8d077d7d7561a92bf82ce9ba9ed8..7c487596ef307aeeb39d51c4fedc2fb86870ea39 100644 --- a/src/main/java/org/olat/core/gui/components/form/Form.java +++ b/src/main/java/org/olat/core/gui/components/form/Form.java @@ -26,42 +26,16 @@ package org.olat.core.gui.components.form; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; - -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.ComponentRenderer; import org.olat.core.gui.control.Event; -import org.olat.core.gui.control.JSAndCSSAdder; -import org.olat.core.gui.formelements.CheckBoxElement; -import org.olat.core.gui.formelements.DateElement; -import org.olat.core.gui.formelements.FormElement; -import org.olat.core.gui.formelements.IntegerElement; -import org.olat.core.gui.formelements.MultipleSelectionElement; -import org.olat.core.gui.formelements.PasswordElement; -import org.olat.core.gui.formelements.RadioButtonGroupElement; -import org.olat.core.gui.formelements.SingleSelectionElement; -import org.olat.core.gui.formelements.TextAreaElement; -import org.olat.core.gui.formelements.TextElement; -import org.olat.core.gui.formelements.VisibilityDependsOnSelectionRule; -import org.olat.core.gui.formelements.WikiMarkupTextAreaElement; -import org.olat.core.gui.render.ValidationResult; -import org.olat.core.gui.translator.Translator; -import org.olat.core.util.i18n.I18nModule; /** * enclosing_type Description: <br> * + * #OO-40 : refactored: now only holds some legacy static values * @author Felix Jost */ -public abstract class Form extends Component { +public abstract class Form { /** * Comment for <code>CANCEL_IDENTIFICATION</code> @@ -91,457 +65,15 @@ public abstract class Form extends Component { */ public static final Event EVNT_FORM_CANCELLED = new Event("form_cancelled"); - private static final ComponentRenderer RENDERER = new FormRenderer(); - - private List submitKeysi18n = new ArrayList(); - private List submitKeysIdentifiers = new ArrayList(); - private String selectedSubmitKey = null; - private String cancelKeyi18n = null; - - private boolean displayOnly = false; - - // we like to keep the order for rendering -> LinkedHashMap instead of Hashmap - private Map elements = new LinkedHashMap(10); - private List visibilityDependsOnSelectionRules = new ArrayList(); - private boolean valid = false; - boolean markCancel; - boolean markCommand; - String markLookupCommand; - boolean markSubmit; - - /** - * A Form must have a valid name and a valid translator. Create the translator - * outside the Form e.g. in a controller or manager. - * - * @param name, translator - */ - public Form(String name, Translator translator) { - super(name, translator); - } - - /** - * @deprecated construct a new form if needed - */ - public void removeFormElements() { - valid = false; - submitKeysi18n.clear(); - submitKeysIdentifiers.clear(); - cancelKeyi18n = null; - displayOnly = false; - elements = new LinkedHashMap(10); - } - - /** - * adds a formelement - * - * @param name should not contain anything critical to HTML (no ".", no - * umlaut, etc.) - * @param formElement - */ - public void addFormElement(String name, FormElement formElement) { - formElement.setName(name); - elements.put(name, formElement); - } - - /** - * @param name - * @return The generic form element - */ - public FormElement getFormElement(String name) { - return (FormElement) elements.get(name); - } - - /** - * @param name - * @return A form element of type text - */ - public TextElement getTextElement(String name) { - return (TextElement) getFormElement(name); - } - - /** - * @param name - * @return A form element of type integer - */ - public IntegerElement getIntegerElement(String name) { - return (IntegerElement) getFormElement(name); - } - - /** - * @param name - * @return A form element of type date - */ - public DateElement getDateElement(String name) { - return (DateElement) getFormElement(name); - } - - /** - * @param name - * @return A form element of type check-box - */ - public CheckBoxElement getCheckBoxElement(String name) { - return (CheckBoxElement) getFormElement(name); - } - - /** - * @param name - * @return A form element of type single selection - */ - public SingleSelectionElement getSingleSelectionElement(String name) { - return (SingleSelectionElement) getFormElement(name); - } - - /** - * @param name - * @return A form element of type radio button - */ - public RadioButtonGroupElement getRadioButtonElement(String name) { - return (RadioButtonGroupElement) getFormElement(name); - } - - /** - * @param name - * @return A form element of type multiple selection - */ - public MultipleSelectionElement getMultipleSelectionElement(String name) { - return (MultipleSelectionElement) getFormElement(name); - } - - /** - * @param name - * @return A form element of type text area - */ - public TextAreaElement getTextAreaElement(String name) { - return (TextAreaElement) getFormElement(name); - } - - /** - * @param name - * @return A form element of type wiki markup - */ - public WikiMarkupTextAreaElement getWikiMarkupTextAreaElement(String name) { - return (WikiMarkupTextAreaElement) getFormElement(name); - } - - /** - * @param name - * @return A form element of type password - */ - public PasswordElement getPasswordElement(String name) { - return (PasswordElement) getFormElement(name); - } - - /** - * @return integer: the form element counter - */ - public int getElementCount() { - return elements.size(); - } - - /** - * gives an iterator over the names of the contained formelements - * - * @return Iterator - */ - public Iterator getNameIterator() { - return elements.keySet().iterator(); - } - - /** - * disables the form input on all formelements, but keeps the submit/cancel - * buttons. convenience method, useful for e.g. after a form has been - * successfully submitted. - * - * @param readOnly - */ - public void setAllFormElements(boolean readOnly) { - Iterator it_formelemnames = getNameIterator(); - while (it_formelemnames.hasNext()) { - String name = (String) it_formelemnames.next(); - FormElement fe = getFormElement(name); - fe.setReadOnly(readOnly); - } - } - - /** - * @see org.olat.core.gui.components.Component#dispatchRequest(org.olat.core.gui.UserRequest) - */ - protected void doDispatchRequest(UserRequest ureq) { - // since we are a >form<, this must be a submit or a cancel - // check for cancel first - - - String cancel = ureq.getParameter(Form.CANCEL_IDENTIFICATION); - String lookupCommand = ureq.getParameter(ELEM_BUTTON_COMMAND_ID); - - // test for recorder - - - if (cancel != null) { - setDirty(true); - fireEvent(ureq, EVNT_FORM_CANCELLED); - } else if (lookupCommand != null) { - fireEvent(ureq, new Event(lookupCommand)); - } else { // assume form submit - // cannot rely on this since a form can also be submitted by hitting - // return, in which case - // the submit button itself is not submitted - // if (ureq.getParameter(Form.SUBMIT_IDENTIFICATION) != null) { - - // standard behavior: set all values, validate, and fire Event - Map recMap = null; - Iterator it_formelemnames = getNameIterator(); - while (it_formelemnames.hasNext()) { - String name = (String) it_formelemnames.next(); - String[] values = ureq.getHttpReq().getParameterValues(name); - FormElement fe = getFormElement(name); - fe.clearError(); // clear any previous errors - if (!fe.isReadOnly()) { - fe.setValues(values); - } - } - - // get selected submit key - Set parameters = ureq.getParameterSet(); - String parameterKey = null; - boolean foundASubmit = false; - for (Iterator iter_parameters = parameters.iterator(); iter_parameters.hasNext();) { - parameterKey = (String) iter_parameters.next(); - if (parameterKey.startsWith(SUBMIT_IDENTIFICATION)) { - foundASubmit = true; - break; - } - } - - if (foundASubmit) { - String sPosition = parameterKey.substring(SUBMIT_IDENTIFICATION.length() + 1); - int iPosition = Integer.parseInt(sPosition); - selectedSubmitKey = (String) submitKeysIdentifiers.get(iPosition); - } else { - // assume the first submitkey (when we hit enter in a form (with internet explorer) - selectedSubmitKey = (String) submitKeysIdentifiers.get(0); - } - setDirty(true); - - if (validate()) { - valid = true; - fireEvent(ureq, EVNT_VALIDATION_OK); - } else { - valid = false; - fireEvent(ureq, EVNT_VALIDATION_NOK); - } - } - } - - /** - * @return true: form validates, false: form contains invalid data - */ - public abstract boolean validate(); - - public void validate(UserRequest ureq, ValidationResult vr) { - super.validate(ureq, vr); - // include needed css and js libs - - JSAndCSSAdder jsa = vr.getJsAndCSSAdder(); - jsa.addRequiredCSSFile(Form.class, "css/jscalendar.css", false); - jsa.addRequiredJsFile(Form.class, "js/jscalendar/calendar.js"); - jsa.addRequiredJsFile(Form.class, "js/jscalendar/olatcalendartranslator.js"); - jsa.addRequiredJsFile(Form.class, "js/jscalendar/calendar-setup.js"); - jsa.addRequiredJsFile(Form.class, "js/form.js"); - - } - - /** - * Returns the submitKeys. - * - * @return List of i18n keys for submit buttons - */ - List getSubmitKeysi18n() { - return submitKeysi18n; - } - - /** - * Sets the submitKey. - * - * @param submitKeyi18n The submitKey to set - * @deprecated since 22.11.2005 replaced by - * <code>addSubmitKey(String submitKeyi18n, String identifier)</code>. - */ - public void setSubmitKey(String submitKeyi18n) { - addSubmitKey(submitKeyi18n, ""); - } - - /** - * Sets the submitKey. - * - * @param submitKeyi18n The submitKey to set - * @deprecated since 19.07.2006 replaced by - * <code>addSubmitKey(String submitKeyi18n, String identifier)</code>. - */ - public void addSubmitKey(String submitKeyi18n) { - addSubmitKey(submitKeyi18n, ""); - } - - /** - * Adds a button with i18n key identified by identifier. - * - * @param submitKeyi18n - * @param identifier - */ - public void addSubmitKey(String submitKeyi18n, String identifier) { - submitKeysi18n.add(submitKeyi18n); - submitKeysIdentifiers.add(identifier); - } - - /** - * Returns the validated. - * - * @return boolean - */ - public boolean isValid() { - return valid; - } - - /** - * Sets the default cancel button. behaves like - * <code>setCancelKey("cancel")</code> - */ - public void setCancelButton() { - setCancelKey("cancel"); - } - - /** - * Removes the default cancel button. This is only needed if you want to - * toggle the visibility of the button. behaves like - * <code>setCancelKey(null)</code> - */ - public void removeCancelButton() { - setCancelKey(null); - } - - /** - * Sets the cancelParamName. - * - * @param cancelKey - */ - public void setCancelKey(String cancelKeyi18n) { - this.cancelKeyi18n = cancelKeyi18n; - } - - /** - * Returns the cancelKey. - * - * @return String - */ - String getCancelKeyi18n() { - return cancelKeyi18n; - } - - /** - * Returns the displayOnly. - * - * @return boolean - */ - public boolean isDisplayOnly() { - return displayOnly; - } - - /** - * Sets the displayOnly. - * - * @param displayOnly The displayOnly to set - */ - public void setDisplayOnly(boolean displayOnly) { - this.displayOnly = displayOnly; - setAllFormElements(displayOnly); - } - - /** - * Check if this form contains mandatory fields - * - * @return True if form has at least one mandatory field, false otherwhise - */ - public boolean hasMandatoryFields() { - Iterator entries = elements.values().iterator(); - while (entries.hasNext()) { - if (((FormElement) entries.next()).isMandatory()) return true; - } - return false; - } - - /** - * Check if this form contains mandatory fields - * - * @return True if form has at least one mandatory field, false otherwhise - */ - public boolean hasWikiMarkupFields() { - Iterator entries = elements.values().iterator(); - while (entries.hasNext()) { - if (entries.next() instanceof WikiMarkupTextAreaElement) return true; - } - return false; - } - - /** - * Set a visibility-of-element-depends-on-a-selection-element rule to the form - * - * @param rule - */ - public void addVisibilityDependsOnSelectionRule(VisibilityDependsOnSelectionRule rule) { - visibilityDependsOnSelectionRules.add(rule); - } - - /** - * Get a list of all dependecy rules - * - * @return List of VisibilityDependsOnSelectionRule objects - */ - public List getVisibilityDependsOnSelectionRules() { - return visibilityDependsOnSelectionRules; - } - - public ComponentRenderer getHTMLRendererSingleton() { - return RENDERER; - } - - - /** - * @return Returns the selectedSubmitKey. - */ - public String getSelectedSubmitKey() { - return selectedSubmitKey; - } - /** - * Use this to translate inside a form. - * - * @param key - * @return - */ - protected String translate(String key) { - return getTranslator().translate(key); - } - - /** - * Use this to translate inside a form. - * - * @param key - * @param args - * @return - */ - protected String translate(String key, String[] args) { - return getTranslator().translate(key, args); - } - - /** - * @return The current locale of the form translator. - */ - protected Locale getLocale() { - if (getTranslator() == null) { - return I18nModule.getDefaultLocale(); - } else { - return getTranslator().getLocale(); - } - } + // this variables are used in functions.js - do not change + /** html form id prependix * */ + public static final String JSFORMID = "bfo_"; + /** html element id prependix * */ +// public static final String JSELEMENTID = "bel_"; + /** html row id prependix * */ +// public static final String JSELEMENTROWID = "ber_"; + + } \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/FormRenderer.java b/src/main/java/org/olat/core/gui/components/form/FormRenderer.java deleted file mode 100644 index d4c4227c4f10d374034d2d32ae14dbc690e631d1..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/FormRenderer.java +++ /dev/null @@ -1,901 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.components.form; - -import java.util.Iterator; -import java.util.List; - -import org.apache.commons.lang.StringEscapeUtils; -import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.ComponentRenderer; -import org.olat.core.gui.control.winmgr.AJAXFlags; -import org.olat.core.gui.formelements.CheckBoxElement; -import org.olat.core.gui.formelements.FormElement; -import org.olat.core.gui.formelements.HTMLTextAreaElement; -import org.olat.core.gui.formelements.LinkElement; -import org.olat.core.gui.formelements.MultipleSelectionElement; -import org.olat.core.gui.formelements.PasswordElement; -import org.olat.core.gui.formelements.PopupData; -import org.olat.core.gui.formelements.RadioButtonGroupElement; -import org.olat.core.gui.formelements.SelectionElement; -import org.olat.core.gui.formelements.SingleSelectionElement; -import org.olat.core.gui.formelements.SpacerElement; -import org.olat.core.gui.formelements.StaticHTMLTextElement; -import org.olat.core.gui.formelements.StaticTextElement; -import org.olat.core.gui.formelements.TextAreaElement; -import org.olat.core.gui.formelements.TextElement; -import org.olat.core.gui.formelements.TitleElement; -import org.olat.core.gui.formelements.VisibilityDependsOnSelectionRule; -import org.olat.core.gui.formelements.WikiMarkupTextAreaElement; -import org.olat.core.gui.formelements.WikiMarkupTextAreaElementAutoSize; -import org.olat.core.gui.render.RenderResult; -import org.olat.core.gui.render.Renderer; -import org.olat.core.gui.render.RenderingState; -import org.olat.core.gui.render.StringOutput; -import org.olat.core.gui.render.URLBuilder; -import org.olat.core.gui.translator.Translator; -import org.olat.core.logging.AssertException; -import org.olat.core.logging.OLATRuntimeException; -import org.olat.core.util.Formatter; -import org.olat.core.util.i18n.I18nManager; - -/** - * enclosing_type Description:<br> - * - * @author Felix Jost - */ -public class FormRenderer implements ComponentRenderer { - private static final String READONLYA = "<div class=\"b_form_disabled\">"; - private static final String READONLYB = "</div>"; - - // this variables are used in functions.js - do not change - /** html form id prependix * */ - public static final String JSFORMID = "bfo_"; - /** html element id prependix * */ - public static final String JSELEMENTID = "bel_"; - /** html row id prependix * */ - public static final String JSELEMENTROWID = "ber_"; - - /** - * This is a singleton! so it may not change instance variables Constructor - * for FormRenderer. There must be an empty contructor for the Class.forName() - * call - */ - public FormRenderer() { - super(); - } - - /** - * @see org.olat.core.gui.render.ui.ComponentRenderer#render(org.olat.core.gui.render.Renderer, - * org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component, - * org.olat.core.gui.render.URLBuilder, org.olat.core.gui.translator.Translator, - * org.olat.core.gui.render.RenderResult, java.lang.String[]) - */ - public void render(Renderer renderer, StringOutput target, Component source, URLBuilder ubu, Translator translator, - RenderResult renderResult, String[] args) { - if (translator == null) { // missing translator - throw new RuntimeException("no translator"); - } - boolean doNotWrapSubmit = (args != null && args[0].equals("donotwrapsubmit")); - - // precompile form elements into sting buffer - StringOutput formElementsSO = new StringOutput(4096); - Form f = (Form) source; - boolean error = false; - renderFormHeader(f, formElementsSO, ubu, renderer.getGlobalSettings().getAjaxFlags()); - - Iterator it_names = f.getNameIterator(); - while (it_names.hasNext()) { - String name = (String) it_names.next(); - FormElement fe = f.getFormElement(name); - if (fe.isError()) { - error = true; - } - renderFormElement(f, fe, formElementsSO, translator, ubu, args); - } - - if (!f.isDisplayOnly()) { - if (doNotWrapSubmit) { - renderFormSubmit(f, formElementsSO, translator); - } else { - formElementsSO.append("<div class=\"b_form_element_wrapper b_clearfix\"><div class=\"b_form_element\"><div class=\"b_button_group\">"); - renderFormSubmit(f, formElementsSO, translator); - formElementsSO.append("</div></div></div>"); - } - - //check form - formElementsSO.append("<script type=\"text/javascript\">\n/* <![CDATA[ */\n"); - formElementsSO.append("function checkform").append(f.getComponentName()).append("(){\n"); - renderElementVisibilityDependencyRules(f, formElementsSO); - formElementsSO.append("}\n/* ]]> */\n</script>\n"); - - } - renderFormFooter(f, formElementsSO, translator); - // end precompiling form elements - - // now build form wrapper together with errors - target.append("<div class=\"b_form\">"); // Open form wrapper - if (error) { - target.append("<div class=\"b_form_general_error\">" + translator.translate("form.general.error") + "</div>"); - } - target.append(formElementsSO); - target.append("</div>"); // Close form wrapper - } - - /** - * Method renderFormHeader. - * - * @param f - * @param sb - */ - private void renderFormHeader(Form f, StringOutput sb, URLBuilder ubu, AJAXFlags flags) { - // form header - sb.append("<form method=\"post\" name=\""); - sb.append(f.getComponentName()); - sb.append("\" action=\""); - - boolean iframePostEnabled = flags.isIframePostEnabled(); - - ubu.buildURI(sb, null, null, iframePostEnabled ? AJAXFlags.MODE_TOBGIFRAME : AJAXFlags.MODE_NORMAL); - sb.append("\" id=\""); - sb.append(JSFORMID); - sb.append(f.hashCode()); - sb.append("\""); - if (iframePostEnabled) { - ubu.appendTarget(sb); - } - sb.append(" onsubmit=\"if(o_info.linkbusy) return false; else o_beforeserver(); return true;\">"); - } - - /** - * @param f - * @param sb - */ - private void renderFormSubmit(Form f, StringOutput sb, Translator translator) { - // Submit buttons - if (f.getSubmitKeysi18n().size() == 0) throw new OLATRuntimeException(null, - "Submit key in form is undefined. Use setSubmitKey(\"save\"); to set key in the form.", null); - int counter = 0; - for (Iterator iter_I18nKeys = f.getSubmitKeysi18n().iterator(); iter_I18nKeys.hasNext();) { - String i18nKey = (String) iter_I18nKeys.next(); - String name = Form.SUBMIT_IDENTIFICATION + "_" + counter; - if(f.markSubmit){ - sb.append("<span style=\"border:2px solid red;\">"); - } - - sb.append("<input type=\"submit\" name=\"").append(name).append("\" class=\"b_button\" value=\"") - .append(StringEscapeUtils.escapeHtml(translator.translate(i18nKey))).append("\" />"); - if(f.markSubmit){ - sb.append("</span>"); - } - - counter++; - } - - // Cancel buttons - if (f.getCancelKeyi18n() != null) { - if(f.markCancel){ - sb.append("<span style=\"border:2px solid red;\">"); - } - - sb.append("<input type=\"submit\" name=\"").append(Form.CANCEL_IDENTIFICATION).append("\" class=\"b_button\" value=\"") - .append(StringEscapeUtils.escapeHtml(translator.translate(f.getCancelKeyi18n()))).append("\" />"); - - if(f.markCancel){ - sb.append("</span>"); - } - } - } - - /** - * Method renderFormFooter. - * - * @param f - * @param sb - * @param translator - */ - private void renderFormFooter(Form f, StringOutput sb, Translator translator) { - sb.append("</form>"); - } - - /** - * Method renderFormElement. - * - * @param fe - * @param sb - * @param args - */ - private void renderFormElement(Form f, FormElement fe, StringOutput sb, Translator translator, URLBuilder ubu, String[] args) { - sb.append("<div class=\"b_form_element_wrapper b_clearfix"); - if (fe.isError()) { - sb.append(" b_form_error"); - } - if (fe instanceof TextAreaElement) { -// sb.append(" b_form_element_wrapper_textarea"); - } - // row id used from within function.js, don't remove this! - sb.append("\" id=\"").append(JSELEMENTROWID).append(fe.getName() + f.getComponentName()).append("\">"); - - // deal with special cases first - if (fe instanceof TitleElement) { - TitleElement te = (TitleElement) fe; - sb.append("<h4>").append(translator.translate(te.getTitleKey())).append("</h4>"); - - } else if (fe instanceof SpacerElement) { - SpacerElement spe = (SpacerElement) fe; - if (spe.isHr()) sb.append("<hr class=\"b_form_spacer\" />"); - if (spe.isBr()) sb.append("<div class=\"b_form_spacer\" />"); - - } else { - // real form field follow now - sb.append("<div class=\"b_form_element_label \">"); - - if (! (fe instanceof RadioButtonGroupElement && ((RadioButtonGroupElement)fe).isNoLabel() )) { - sb.append("<label for=\"").append(JSELEMENTID).append(fe.hashCode()).append("\">"); - renderLabel(fe, sb, translator); - sb.append("</label>"); - } - - // add icon for mandatory rows - if (!f.isDisplayOnly()) { - if (fe.isMandatory()) { - sb.append("<span class=\"b_form_mandatory\" title=\""); - sb.append(StringEscapeUtils.escapeHtml(translator.translate("form.mandatory.hover"))); - sb.append("\"> </span>"); - } - } - sb.append("</div><div class=\"b_form_element"); - if (f.isDisplayOnly()) { - sb.append(" b_form_element_disponly"); - } - sb.append("\">"); - - if(fe.getVisualMarked()){ - sb.append("<span style=\"border:2px solid red;\">"); - } - - - if (fe instanceof WikiMarkupTextAreaElement) { - WikiMarkupTextAreaElement te = (WikiMarkupTextAreaElement) fe; - renderWikiMarkupTextAreaElementAutoSize(f, te, sb, false); - } else if (fe instanceof HTMLTextAreaElement) { // must be checked before TextAreaElement !! - TextAreaElement te = (TextAreaElement) fe; - renderTextAreaElement(f, te, sb, true, args); - } else if (fe instanceof WikiMarkupTextAreaElementAutoSize) { - TextAreaElement te = (TextAreaElement) fe; - renderWikiMarkupTextAreaElementAutoSize(f, te, sb, true); - } else if (fe instanceof TextAreaElement) { - TextAreaElement te = (TextAreaElement) fe; - renderTextAreaElement(f, te, sb, false, args); - } else if (fe instanceof StaticTextElement) { - StaticTextElement ste = (StaticTextElement) fe; - renderStaticTextElement(ste, sb); - } else if (fe instanceof StaticHTMLTextElement) { - StaticHTMLTextElement ste = (StaticHTMLTextElement) fe; - renderStaticHTMLTextElement(ste, sb); - } else if (fe instanceof PasswordElement) { - PasswordElement pe = (PasswordElement) fe; - renderPasswordElement(f, pe, sb); - } else if (fe instanceof TextElement) { - renderTextElement(f, (TextElement) fe, sb, ubu); - } else if (fe instanceof CheckBoxElement) { - CheckBoxElement cbe = (CheckBoxElement) fe; - renderCheckBox(f, cbe, sb, translator); - } else if (fe instanceof RadioButtonGroupElement) { - RadioButtonGroupElement rbe = (RadioButtonGroupElement) fe; - renderRadioButtonGroup(f, rbe, translator, sb); - } else if (fe instanceof SingleSelectionElement) { - SingleSelectionElement se = (SingleSelectionElement) fe; - renderDropDown(f, se, sb); - } else if (fe instanceof MultipleSelectionElement) { - MultipleSelectionElement me = (MultipleSelectionElement) fe; - renderCheckBoxes(f, me, translator, sb); - } else if (fe instanceof LinkElement) { - LinkElement le = (LinkElement) fe; - renderLink(f, le, translator, sb); - } else { - throw new OLATRuntimeException("Unknown for element::" + fe.getName() + " " + fe.getClass().getCanonicalName(), null); - } - - if(fe.getVisualMarked()){ - sb.append("</span\">"); - } - - if (!fe.isReadOnly() && fe.getExample() != null) { - sb.append("<div class=\"b_form_example\">("); - sb.append(fe.getExample()); - sb.append(")</div>"); - } - - if (fe.isError()) { - sb.append("<div class=\"b_form_error_msg\">"); - sb.append(fe.getError(translator)); - sb.append("</div>"); - } - - sb.append("</div>"); // close b_form_element - } - - sb.append("</div>"); // close b_form_element_wrapper - } - - - /** - * @Deprecated The wiki markup area is no longer supported. In the legacy form - * infrastructure it's still there, but it won't be available in the - * new flexi forms. In flexi forms use the RichTextElement instead. - */ - @Deprecated - private void renderWikiMarkupTextAreaElementAutoSize(Form f, TextAreaElement tea, StringOutput sb, boolean resizable) { - String val = tea.getValue(); - if (val == null) val = ""; - if (f.isDisplayOnly()) { - sb.append(Formatter.formatWikiMarkup(val)); - } else if (tea.isReadOnly()) { - appendReadOnly(Formatter.formatWikiMarkup(val), sb); - } else { - String uniqueId = JSELEMENTID+tea.hashCode(); - sb.append("<textarea onchange=\"return setFormDirty('") - .append(JSFORMID) - .append(f.hashCode()) - .append("')\" onclick=\"return setFormDirty('") - .append(JSFORMID) - .append(f.hashCode()) - .append("')\" cols=\"") - .append(tea.getCols()) - .append("\" rows=\"") - .append(tea.getRows()) - .append("\" name=\"") - .append(tea.getName()) - .append("\" id=\"") - .append(uniqueId) - .append("\""); - sb.append(">") - .append(StringEscapeUtils.escapeHtml(val)) - .append("</textarea>"); - - // wiki syntax icon - sb.append("<br /><a href=\"javascript:contextHelpWindow('"); - Renderer.renderNormalURI(sb, "help/"); - String pack = this.getClass().getName().substring(0, this.getClass().getName().lastIndexOf(".")); - sb.append(I18nManager.getInstance().getLocaleKey(f.getTranslator().getLocale())).append("/").append(pack).append("/").append("wiki-format.html"); - sb.append("')\" class=\"b_form_wikitext\">"); - sb.append(f.getTranslator().translate("form.wiki.hover")); - sb.append("</a>"); - - if(resizable){ - sb.append("<script type=\"text/javascript\">") - .append("b_form_resizeTextarea('").append(uniqueId).append("');") - .append("</script>"); - } - } - } - - - - /** - * @param f - * @param tea - * @param sb - * @param allowHTML - */ - private void renderTextAreaElement(Form f, TextAreaElement tea, StringOutput sb, boolean allowHTML, String[] args) { - String val = tea.getValue(); - if (val == null) val = ""; - if (f.isDisplayOnly()) { - sb.append(allowHTML ? val.toString() : Formatter.escWithBR(val).toString()); - } else if (tea.isReadOnly()) { - appendReadOnly(allowHTML ? val.toString() : Formatter.escWithBR(val).toString(), sb); - } else { - boolean wrapoff = (args != null && args[0].equals("wrapoff")); - String uniqueId = JSELEMENTID+tea.hashCode(); - sb.append("<textarea onchange=\"return setFormDirty('") - .append(JSFORMID) - .append(f.hashCode()) - .append("')\" onclick=\"return setFormDirty('") - .append(JSFORMID) - .append(f.hashCode()) - .append("')\" cols=\"") - .append(tea.getCols()) - .append("\" rows=\"") - .append(tea.getRows()) - .append("\" name=\"") - .append(tea.getName()) - .append("\" id=\"") - .append(uniqueId) - .append("\""); - if (wrapoff) sb.append(" wrap=\"off\""); - sb.append(">") - .append(allowHTML ? val : StringEscapeUtils.escapeHtml(val).toString()) - .append("</textarea>"); - } - } - - /** - * Method renderTextElement. - * - * @param textElement - * @param sb - */ - private void renderTextElement(Form f, TextElement textElement, StringOutput sb, URLBuilder ubu) { - String val = textElement.getValue(); - if (val == null) val = ""; - String htmlVal = StringEscapeUtils.escapeHtml(val).toString(); - if (f.isDisplayOnly()) { - sb.append(htmlVal); - } else if (textElement.isReadOnly()) { - appendReadOnly(htmlVal, sb); - } else { - PopupData popupData = textElement.getPopupData(); - String cId = String.valueOf(textElement.hashCode()); - sb.append("<input type=\"text\" id=\"").append(textElement.getName()) - .append("\" name=\"").append(textElement.getName()) - .append("\" value=\"").append(htmlVal).append("\" size=\"").append(textElement.getSize()).append("\" maxlength=\"") - .append(textElement.getMaxLength()).append("\" ") - .append("onkeypress=\"return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')\" ") - .append("onclick=\"return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')\" ").append("id=\"") - .append(JSELEMENTID).append(cId).append("\" />"); - if (textElement.isUseDateChooser()) { - // date chooser button - sb.append("<span class=\"b_form_datechooser\" id=\"trigger_").append(textElement.getName()).append("\" title=\"").append(StringEscapeUtils.escapeHtml(f.getTranslator().translate("calendar.choose"))).append("\"> </span>"); - // date chooser javascript - sb.append("<script type=\"text/javascript\">").append("Calendar.setup({").append("inputField:\"").append(textElement.getName()).append("\",").append("ifFormat:\""); - if (textElement.getDateChooserDateFormat() == null) { - // use default format from default locale file - Formatter formatter = Formatter.getInstance(f.getTranslator().getLocale()); - if (textElement.isDateChooserTimeEnabled()) sb.append(formatter.getSimpleDatePatternForDateAndTime()); - else sb.append(formatter.getSimpleDatePatternForDate()); - - } else { - // use custom date format - sb.append(textElement.getDateChooserDateFormat()); - } - sb.append("\",").append("button:\"trigger_").append(textElement.getName()).append("\",").append("align:\"Tl\",").append( - "singleClick:false,"); - if (textElement.isDateChooserTimeEnabled()) { - sb.append("showsTime:true,"); - sb.append("timeFormat:\"24\","); - } - sb.append("cache:true,").append("firstDay:1,").append("showOthers:true,"); - // Call on change method on input field to trigger dirty button - sb.append("onUpdate:function(){setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}"); - // Finish js code - sb.append("});").append("</script>"); - } - if (popupData != null) { - String text = StringEscapeUtils.escapeHtml(f.getTranslator().translate(popupData.getButtonlabelkey())); - // javascript:{win=window.open('../media/script/Popup/06_01Strassen.html?olatraw=true','webclass_popup','toolbar=no,location=no,directories=0,status=no,menubar=0,scrollbars=yes,resizable=yes,width=650,height=550');win.focus();} - sb.append("<a href=\"javascript:{win=window.open('"); - ubu.buildURI(sb, new String[] { Form.ELEM_BUTTON_COMMAND_ID }, new String[] { popupData.getButtonaction() }); - sb.append("','olatpopup','toolbar=no,location=no,directories=0,status=no,menubar=0,scrollbars=yes,resizable=yes,width=") - .append(popupData.getPopupwidth()).append(",height=").append(popupData.getPopupheight()) - .append("');win.focus();}\" title=\"").append(text).append("\" class=\"b_form_genericchooser\"></a>"); - } - } - } - - /** - * Method renderPasswordElement. - * - * @param pe - * @param sb - */ - private void renderPasswordElement(Form f, PasswordElement pe, StringOutput sb) { - String val = new String(pe.getValue().replaceAll(".", "*")); - if (f.isDisplayOnly()) { - sb.append(val); - } else if (pe.isReadOnly()) { - appendReadOnly(val, sb); - } else { - String uniqueId = JSELEMENTID+pe.hashCode(); - sb.append("<input type=\"password\" name=\"").append(pe.getName()).append("\" size=\"").append(pe.getSize()).append("\" id=\"").append(uniqueId) - .append("\" maxlength=\"").append(pe.getMaxLength()).append("\" onchange=\"return setFormDirty('").append(JSFORMID).append( - f.hashCode()).append("')\" onclick=\"return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')\" />"); - } - } - - private void renderLink(Form f, LinkElement le, Translator translator, StringOutput sb) { - StringBuffer linkSB = new StringBuffer(); - String url = le.getURL(); - if (url == null) { - url = "http://"; - } else if (!url.startsWith("http")) { - url = "http://" + le.getURL(); - } - String uniqueId = JSELEMENTID+le.hashCode(); - linkSB.append("<a href=\"").append(url).append("\" class=\"b_link_extern\" target=\"_blank\">"); - linkSB.append(le.getLinkName()); - linkSB.append("</a>"); - if (f.isDisplayOnly()) { - sb.append(linkSB.toString()); - } else if (le.isReadOnly()) { - appendReadOnly(linkSB.toString(), sb); - } else { - sb.append("<input name=\"").append(le.getName()).append("\" size=\"").append(32) - .append("\" maxlength=\"").append(265).append("\" onchange=\"return setFormDirty('").append(JSFORMID).append( - f.hashCode()).append("')\" onclick=\"return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')\" value=\""); - sb.append(url); - sb.append("\" id=\"").append(uniqueId).append("\"/>"); - } - } - - - - private void appendReadOnly(String text, StringOutput sb) { - sb.append(READONLYA); - sb.append(text); - sb.append(READONLYB); - } - - private void renderStaticTextElement(StaticTextElement staticTextElement, StringOutput sb) { - String val = staticTextElement.getValue(); - sb.append(StringEscapeUtils.escapeHtml(val)); // - - } - - private void renderStaticHTMLTextElement(StaticHTMLTextElement staticTextElement, StringOutput sb) { - sb.append(staticTextElement.getValue()); - - } - - private void renderLabel(FormElement formElement, StringOutput sb, Translator translator) { - String labelKey = formElement.getLabelKey(); - if (labelKey != null) { - sb.append(translator.translate(labelKey) + ":"); - } - } - - private void renderRadioButtonGroup(Form f, RadioButtonGroupElement rbge, Translator translator, StringOutput sb) { - int cnt = rbge.getSize(); - if (rbge.getSelected() == -1) throw new AssertException("no selection at render time"); - sb.append("<div id=\"").append(JSELEMENTID+rbge.hashCode()).append("\">"); - if (f.isDisplayOnly()) { - int sel = rbge.getSelected(); - String val = rbge.getValue(sel); - if (val == null) throw new AssertException("value in readonly mode of radiobutton group (" + rbge.getName() + ") was null, selPos = " - + rbge.getSelected()); - sb.append(StringEscapeUtils.escapeHtml(val).toString()); - - } else { - String subStrName = "name=\"" + rbge.getName() + "\""; - for (int i = 0; i < cnt; i++) { - String key = rbge.getKey(i); - String value = rbge.getValue(i); - boolean selected = rbge.isSelected(i); - sb.append("<input type=\"radio\" class=\"b_radio\" " + subStrName + " value=\""); - sb.append(key); - sb.append("\""); - if (selected) sb.append(" checked=\"checked\""); - if (rbge.isReadOnly()) { - sb.append(" disabled=\"disabled\""); - } else { - sb.append(" onclick=\"{checkform"); - sb.append(f.getComponentName()); - sb.append("();"); - sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\" onchange=\"{checkform"); - sb.append(f.getComponentName()); - sb.append("();"); - sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\""); - } - sb.append(" />"); - if (!rbge.isHTMLIsAllowed()) { - sb.append(StringEscapeUtils.escapeHtml(value)); - } else { - sb.append(value); - } - sb.append(" "); - if (rbge.renderVertical()) sb.append("<br />"); - } - } - sb.append("</div>"); - } - - private void renderDropDown(Form f, SingleSelectionElement sse, StringOutput sb) { - int cnt = sse.getSize(); - sb.append("<div id=\"").append(JSELEMENTID+sse.hashCode()).append("\">"); - if (f.isDisplayOnly()) { - int sel = sse.getSelected(); - String val = sse.getValue(sel); - if (val == null) throw new AssertException("value in readonly mode of drop-down list (" + sse.getName() + ") was null, selPos = " - + sse.getSelected()); - sb.append(StringEscapeUtils.escapeHtml(val).toString()); - - } else { - sb.append("<select name=\""); - sb.append(sse.getName()); - sb.append("\""); - if (sse.isReadOnly()) { - sb.append(" disabled=\"disabled\""); - } else { - sb.append(" onchange=\"{checkform"); - sb.append(f.getComponentName()); - sb.append("();"); - sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\""); - } - sb.append(">"); - for (int i = 0; i < cnt; i++) { - String key = sse.getKey(i); - String value = sse.getValue(i); - boolean selected = sse.isSelected(i); - sb.append("<option value=\""); - sb.append(key); - sb.append("\" "); - if (selected) sb.append("selected=\"selected\""); - sb.append(">"); - sb.append(StringEscapeUtils.escapeHtml(value)); - sb.append("</option>"); - } - sb.append("</select>"); - } - sb.append("</div>"); - } - - /* - * private void renderRadioButtons(SelectionElement se, StringOutput sb) { - * String name = se.getName(); int cnt = se.getSize(); for (int i = 0; i < - * cnt; i++) { String key = se.getKey(i); String value = se.getValue(i); - * boolean selected = se.isSelected(i); sb.append("<input type=\"radio\" - * name=\""); sb.append(name); sb.append("\" value=\""); sb.append(key); - * sb.append("\""); if (selected) { sb.append(" checked=\"checked\""); } - * sb.append("> "); sb.append(value); sb.append("<br />"); } } - */ - - private void renderCheckBox(Form f, CheckBoxElement cbe, StringOutput sb, Translator translator) { - String labelKey = cbe.getLabelKey(); - String label = translator.translate(labelKey); - boolean checked = cbe.isChecked(); - sb.append("<input type=\"checkbox\" class=\"b_checkbox\" name=\""); - sb.append(cbe.getName()); - sb.append("\" value=\""); - sb.append(StringEscapeUtils.escapeHtml(label)); - sb.append("\""); - if (checked) sb.append(" checked=\"checked\""); - if (cbe.isReadOnly()) { - sb.append(" disabled=\"disabled\""); - } else { - sb.append(" onchange=\"{checkform"); - sb.append(f.getComponentName()); - sb.append("();"); - sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\" onclick=\"{checkform"); - sb.append(f.getComponentName()); - sb.append("();"); - sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\" "); - } - sb.append(" id=\"").append(JSELEMENTID+cbe.hashCode()).append("\"/>"); - } - - /** - * Method renderCheckBoxes. - * - * @param me - * @param sb - */ - private void renderCheckBoxes(Form f, MultipleSelectionElement me, Translator translator, StringOutput sb) { - String name = me.getName(); - int cnt = me.getSize(); - sb.append("<div id=\"").append(JSELEMENTID+me.hashCode()).append("\">"); - for (int i = 0; i < cnt; i++) { - String key = me.getKey(i); - String value = me.getValue(i); - boolean selected = me.isSelected(i); - sb.append("<input type=\"checkbox\" class=\"b_checkbox\" name=\""); - sb.append(name); - sb.append("\" value=\""); - sb.append(key); - sb.append("\""); - if (selected) sb.append(" checked=\"checked\""); - if (me.isReadOnly()) { - sb.append(" disabled=\"disabled\""); - } else { - sb.append(" onchange=\"{checkform"); - sb.append(f.getComponentName()); - sb.append("();"); - sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\" onclick=\"{checkform"); - sb.append(f.getComponentName()); - sb.append("();"); - sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\""); - } - sb.append(" /> "); - sb.append(StringEscapeUtils.escapeHtml(value)); - sb.append("<br />"); - } - if (me.enableCheckAll() && !me.isReadOnly()) { // add check/uncheck link - sb.append("<div class=\"b_form_togglecheck\">"); - sb.append("<a href=\"#\" onclick=\"javascript:{b_form_toggleCheck(document."); - sb.append(f.getComponentName() + "." + name); - sb.append(", true);setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\"><input type=\"checkbox\" class=\"b_checkbox\" checked=\"checked\" disabled=\"disabled\" /> "); - sb.append(translator.translate("form.checkall")); - sb.append("</a>"); - - sb.append("<br /><a href=\"#\" onclick=\"javascript:{b_form_toggleCheck(document."); - sb.append(f.getComponentName() + "." + name); - sb.append(", false);setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\"><input type=\"checkbox\" class=\"b_checkbox\" disabled=\"disabled\" /> "); - sb.append(translator.translate("form.uncheckall")); - sb.append("</a>"); - sb.append("</div>"); - } - sb.append("</div>"); - } - - /** - * @see org.olat.core.gui.render.ui.ComponentRenderer#renderHeaderIncludes(org.olat.core.gui.render.Renderer, - * org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component, - * org.olat.core.gui.render.URLBuilder, org.olat.core.gui.translator.Translator) - */ - public void renderHeaderIncludes(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator transll, - RenderingState rstate) { - /* - * no longer needed here as js gets included by Form component for ajax compatibilty - - // FIXME:fj:a remove translator from interface, use source.getTranslator - // instead - Form f = (Form) source; - // add date chooser java script when in edit only mode - if (!f.isDisplayOnly()) { - Iterator it_formelemnames = f.getNameIterator(); - while (it_formelemnames.hasNext()) { - String name = (String) it_formelemnames.next(); - FormElement fe = f.getFormElement(name); - // only check on elements that are not set to readonly and - // are of type text element - if (!fe.isReadOnly() && fe instanceof TextElement) { - TextElement tel = (TextElement) fe; - // if this text element uses a date chooser add date chooser java - // script libraries - if (tel.isUseDateChooser()) { - - // only include this css and the .js once (loading the same .js file - // more than once is unnecessary and gives javascript errors - Object alreadyIncluded = rstate.getRenderInfo(this, "date_js"); - if (alreadyIncluded == null) { - // the first time -> include - rstate.putRenderInfo(this, "date_js", new Object()); - - sb.append("<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\""); - String fontSize = renderer.getGlobalSettings().getFontSize(); - Renderer.renderNormalURI(sb, "raw/css/jscalendar-" + fontSize + ".css"); - sb.append("\" title=\"jscalendarcss\">\n").append("<script type=\"text/javascript\" src=\""); - Renderer.renderNormalURI(sb, "raw/js/jscalendar/calendar.js"); - sb.append("\"></script>\n").append("<script type=\"text/javascript\" src=\""); - Renderer.renderNormalURI(sb, "raw/js/jscalendar/lang/calendar-"); - sb.append(source.getTranslator().getLocale().getLanguage()).append(".js\"></script>\n").append( - "<script type=\"text/javascript\" src=\""); - Renderer.renderNormalURI(sb, "raw/js/jscalendar/calendar-setup.js"); - sb.append("\"></script>\n"); - // finished, date chooser is initialized, skip all other elements - break; - } // else omit output of css and js includes - } - } - } - if (!f.isDisplayOnly()) { - sb.append("<script type=\"text/javascript\">\n"); - sb.append("function checkform").append(f.getComponentName()).append("(){\n"); - renderElementVisibilityDependencyRules(f, sb); - sb.append("}</script>\n"); - - } - - } - - */ - } - - /** - * @see org.olat.core.gui.render.ui.ComponentRenderer#renderBodyOnLoadJSFunctionCall(org.olat.core.gui.render.Renderer, - * org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component) - */ - public void renderBodyOnLoadJSFunctionCall(Renderer renderer, StringOutput sb, Component source, RenderingState rstate) { - StringBuffer tmp = new StringBuffer(); - Form f = (Form) source; - String foName = f.getComponentName(); - FormElement focusElem = null, mandatoryElem = null, firstElem = null; - // PRE: f.isVisible() ensured by renderer - if (!f.isValid() && !f.isDisplayOnly()) { - // focus on first error, or on the first element if there is no error - Iterator it_formelemnames = f.getNameIterator(); - while (it_formelemnames.hasNext()) { // guaranteed correct order since - // linkedhashmap - String name = (String) it_formelemnames.next(); - FormElement fe = f.getFormElement(name); - if (!fe.isReadOnly()) { - if (firstElem == null) firstElem = fe; - if (fe.isError()) { - focusElem = fe; - break; - } else if (fe.isMandatory()) { - if (mandatoryElem == null) mandatoryElem = fe; // focus first - // mandatory element - } - } - } - if (focusElem == null) { - // no error, set focus on mandatory element - focusElem = (mandatoryElem == null ? firstElem : mandatoryElem); - } - // may still be null if a form has no formelements (e.g. msg plus ok - // button) - if (focusElem != null) { - String feName = focusElem.getName(); - tmp.append("\nvar form = document.forms[\"").append(foName).append("\"]; if (form) form.elements[\"").append(feName).append("\"]"); - if (focusElem instanceof RadioButtonGroupElement) tmp.append("[0]"); - //on array elements select first entry - tmp.append(".focus();\n"); - } - } // else: do not focus on valid forms - - // Init visibility rules on all selection elements if form not in display - // only mode - if (!f.isDisplayOnly()) { - tmp.append("checkform").append(f.getComponentName()).append("();\n"); - } - - // Add try catch - maybe form not found or other error - if (tmp.length() > 0) { - sb.append("try{"); - sb.append(tmp.toString()); - sb.append("}catch(e){"); - sb.append("if (B_AjaxLogger.isDebugEnabled()) B_AjaxLogger.logDebug(e.message, 'FormRenderer:renderBodyOnLoadJSFunctionCall');"); - sb.append("}"); - } - } - - private void renderElementVisibilityDependencyRules(Form f, StringOutput sb) { - List rules = f.getVisibilityDependsOnSelectionRules(); - Iterator iter = rules.iterator(); - while (iter.hasNext()) { - VisibilityDependsOnSelectionRule rule = (VisibilityDependsOnSelectionRule) iter.next(); - FormElement dependentElement = rule.getDependentElement(); - SelectionElement selection = rule.getSelectionElement(); - String resetValueOrig = rule.getResetValue(); - String resetValue = null; - if (resetValueOrig != null) { - // quote return caracters to fill into js variable - resetValue = resetValueOrig.replaceAll("\n", "\\\\n"); - resetValue = resetValue.replaceAll("\r", "\\\\n"); - } - sb.append("b_form_updateFormElementVisibility('") - .append(f.getComponentName()) - .append("','") - .append(selection.getName()) - .append("','") - .append(dependentElement.getName()) - .append("','") - .append(rule.getVisibilityRuleValue()) - .append("',") - .append(String.valueOf(rule.isVisibilityRuleResult())) - .append(",\"") - .append(resetValue) - .append("\",") - .append(String.valueOf(rule.isHideDisabledElements())) - .append(",") - .append(String.valueOf(rule.isPreventOppositeAction())) - .append(");\n"); - } - } - -} diff --git a/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java b/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java index 934fb40ea74f24f6df88a632306fe801fb6f75d7..023eb275c748b21d60e6f305d30cd78601435976 100644 --- a/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java +++ b/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java @@ -26,11 +26,11 @@ package org.olat.core.gui.components.tree; +import org.apache.commons.lang.StringEscapeUtils; import org.olat.core.gui.GUIInterna; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.ComponentRenderer; import org.olat.core.gui.components.form.Form; -import org.olat.core.gui.components.form.FormRenderer; import org.olat.core.gui.control.winmgr.AJAXFlags; import org.olat.core.gui.render.RenderResult; import org.olat.core.gui.render.Renderer; @@ -39,7 +39,6 @@ import org.olat.core.gui.render.StringOutput; import org.olat.core.gui.render.URLBuilder; import org.olat.core.gui.translator.Translator; import org.olat.core.util.tree.TreeHelper; -import org.apache.commons.lang.StringEscapeUtils; /** * enclosing_type Description: <br> @@ -120,7 +119,7 @@ public class SelectionTreeRenderer implements ComponentRenderer { if (iframePostEnabled) { ubu.appendTarget(target); } - target.append(" id=\"").append(FormRenderer.JSFORMID).append(tree.hashCode()).append("\""); + target.append(" id=\"").append(Form.JSFORMID).append(tree.hashCode()).append("\""); target.append(">"); // append root node renderRootNode(root, target); @@ -128,10 +127,10 @@ public class SelectionTreeRenderer implements ComponentRenderer { if (root.getChildCount() != 0) { renderChildNodes(root, "", tree.hashCode(), tree.isMultiselect(), tree.getGreyOutNonSelectableEntries(), tree.isShowAltTextAsHoverOnTitle(), target, tree); if (tree.isMultiselect() && atLeastOneIsAccessible) { - target.append("<div class=\"b_togglecheck\"><a href=\"javascript:checkall(true);setFormDirty('").append(FormRenderer.JSFORMID).append(tree.hashCode()).append("');\">"); + target.append("<div class=\"b_togglecheck\"><a href=\"javascript:checkall(true);setFormDirty('").append(Form.JSFORMID).append(tree.hashCode()).append("');\">"); target.append("<input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" />"); target.append(translator.translate("checkall")); - target.append("</a> <a href=\"javascript:checkall(false);setFormDirty('").append(FormRenderer.JSFORMID).append(tree.hashCode()).append("\');\">"); + target.append("</a> <a href=\"javascript:checkall(false);setFormDirty('").append(Form.JSFORMID).append(tree.hashCode()).append("\');\">"); target.append("<input type=\"checkbox\" disabled=\"disabled\" />"); target.append(translator.translate("uncheckall")); target.append("</a></div>"); @@ -223,8 +222,8 @@ public class SelectionTreeRenderer implements ComponentRenderer { } else { sb.append(child.getIdent()); } - sb.append("\" onchange=\"return setFormDirty('").append(FormRenderer.JSFORMID).append(treeID).append("')\" "); - sb.append(" onclick=\"return setFormDirty('").append(FormRenderer.JSFORMID).append(treeID).append("')\" />"); + sb.append("\" onchange=\"return setFormDirty('").append(Form.JSFORMID).append(treeID).append("')\" "); + sb.append(" onclick=\"return setFormDirty('").append(Form.JSFORMID).append(treeID).append("')\" />"); } // node title (using css if available) String cssClass = child.getCssClass(); diff --git a/src/main/java/org/olat/core/gui/formelements/AbstractFormElement.java b/src/main/java/org/olat/core/gui/formelements/AbstractFormElement.java deleted file mode 100644 index 496b8cde13fccf82568164165b6e3f9037f38b56..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/AbstractFormElement.java +++ /dev/null @@ -1,210 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import org.olat.core.gui.translator.Translator; - -/** - * enclosing_type Description: <br> - * - * @author Felix Jost - */ -public abstract class AbstractFormElement implements FormElement { - private String name; - private String error; - private String errorKey; - private String[] errorKeyParams; - private String labelKey; - private String example; - private boolean readOnly; - private boolean mandatory; - private boolean visualMarkIsOn; - - /** - * @see org.olat.core.gui.formelements.FormElement#setName(java.lang.String) - */ - public void setName(String name) { - this.name = name; - } - - /** - * @see org.olat.core.gui.formelements.FormElement#getName() - */ - public String getName() { - return name; - } - - /** - * Set a translated error message. - * @param error - */ - public void setError(String error) { - clearError(); - this.error = error; - } - - /** - * @return a translated error message. - * @see org.olat.core.gui.formelements.FormElement#getError(org.olat.core.gui.translator.Translator) - */ - public String getError(Translator translator) { - if (error != null) { - return error; - } else { - return translator.translate(errorKey, errorKeyParams); - } - } - - /** - * Set an error translation key. - * @param errorKey - * @see org.olat.core.gui.formelements.FormElement#setErrorKey(java.lang.String) - */ - public void setErrorKey(String errorKey) { - clearError(); - this.errorKey = errorKey; - } - - /** - * Error translation key with parameters to be set in the translation. - * - * @param errorKey - * @param params - * @see org.olat.core.gui.formelements.FormElement#setErrorKeyWithParams(java.lang.String, - * java.lang.String[]) - */ - public void setErrorKeyWithParams(String errorKey, String[] params) { - clearError(); - this.errorKey = errorKey; - this.errorKeyParams = params; - } - - /** - * @return true if an error or error key was set. - * @see org.olat.core.gui.formelements.FormElement#isError() - */ - public boolean isError() { - return errorKey != null || error != null; - } - - /** - * Clear the error message. After that <code>isError()</code> returns - * <code>false</code>. - * - * @see org.olat.core.gui.formelements.FormElement#clearError() - */ - public void clearError() { - error = null; - errorKey = null; - errorKeyParams = null; - } - - /** - * @return String - */ - public String getLabelKey() { - return labelKey; - } - - /** - * Sets the labelKey. - * - * @param labelKey The labelKey to set - */ - public void setLabelKey(String labelKey) { - this.labelKey = labelKey; - } - - /** - * Returns the readOnly. - * - * @return boolean - */ - public boolean isReadOnly() { - return readOnly; - } - - /** - * Sets the readOnly. - * - * @param readOnly The readOnly to set - */ - public void setReadOnly(boolean readOnly) { - this.readOnly = readOnly; - } - - /** - * Returns the mandatory. - * - * @return boolean - */ - public boolean isMandatory() { - return mandatory; - } - - /** - * Sets the mandatory. - * - * @param mandatory The mandatory to set - */ - public void setMandatory(boolean mandatory) { - this.mandatory = mandatory; - } - - /** - * Returns an optional element example - * - * @return The example - */ - public String getExample() { - return example; - } - - /** - * Sets the optional element example - * - * @param string The example - */ - public void setExample(String string) { - example = string; - } - - - /** - * @see org.olat.core.gui.formelements.FormElement#getVisualMarked() - */ - public boolean getVisualMarked() { - return visualMarkIsOn; - } - - /** - * @see org.olat.core.gui.formelements.FormElement#setVisualMarked(boolean) - */ - public void setVisualMarked(boolean on) { - this.visualMarkIsOn = on; - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/AbstractTextElement.java b/src/main/java/org/olat/core/gui/formelements/AbstractTextElement.java deleted file mode 100644 index 62cece4b73619ae199a19f8b99b3b990cfb45dd3..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/AbstractTextElement.java +++ /dev/null @@ -1,195 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import org.olat.core.logging.AssertException; - -/** - * Initial Date: Apr 20, 2004 - * - * @author gnaegi - * - * Comment: - * Base class that implements common methods used in TextElements, - * TextAreaElements and PasswordElements. - */ -public abstract class AbstractTextElement extends AbstractFormElement { - - private String original; - private String value; - private boolean clean = false; - private PopupData popupData; - - /** - * @return String - */ - public String getValue() { - if (!clean && value != null) { - /** - * unicode line separator can break OLAT ajax or any other js string - */ - value = value.replaceAll("\u2028", ""); - clean = true; - } - return value != null ? value : "" ; - } - - /** - * Sets the value. if null is given, an empty string is assumed. - * @param value The value to set - */ - public void setValue(String value) { - if (value == null) value=""; - else { - // Remember original value for dirty evaluation. - // null value is not regarded as initial value. only - // real values are used inital values - if (original == null) original = new String(value); - } - /** - * unicode line separator can break OLAT ajax or any other js string - */ - this.value = value.replaceAll("\u2028", ""); - } - - /** - * @param errorKey - * @return - */ - public boolean notEmpty(String errorKey) { - if (value == null || value.equals("")) { - setErrorKey(errorKey); return false; - } - else { - clearError(); return true; - } - } - - /** - * - * @param maxLength - * @param errorKey - * @return - */ - public boolean notLongerThan(int maxLength, String errorKey){ - if (value.length() > maxLength){ - setErrorKey(errorKey); return false; - } - else { - clearError(); return true; - } - - } - - - /** - * compares a text value with another value - * @param otherValue - * @param errorKey - * @return true if they are equal - */ - public boolean isEqual(String otherValue, String errorKey){ - if (value == null || !value.equals(otherValue)) { - setErrorKey(errorKey); return false; - } - else { - return true; - } - } - - /** - * Check if the text element is empty - * @return boolean true if is empty, false otherwhise - */ - public boolean isEmpty() { - return value.equals(""); - } - - /** - * Check if the text element is empty - * @param errorKey - * @return boolean true if is empty, false otherwhise - */ - public boolean isEmpty(String errorKey) { - if (isEmpty()) { - setErrorKey(errorKey); - return true; - } - return false; - } - - /** - * @param regExp - * @param errorKey - * @return - */ - public boolean matches(String regExp, String errorKey) { - if (value == null || !value.matches(regExp)) { - setErrorKey(errorKey); - return false; - } - else { - return true; - } - } - /** (non-Javadoc) - * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[]) - */ - public void setValues(String[] values) { - if (isReadOnly()) throw new AssertException("setting a readonly field:"+getName()); - if (values == null) throw new AssertException("no text (not even empty) for field:"+getName()); - if (values.length != 1) throw new AssertException("got multiple values for field:"+getName()); - setValue(values[0]); - } - - /** - * @see org.olat.core.gui.formelements.FormElement#isDirty() - */ - public boolean isDirty(){ - if (original == null) { - if (value == null || value.equals("")) return false; - return true; - } - return (original.equals(value)) ? false : true; - } - - /** - * @return - */ - public PopupData getPopupData() { - return popupData; - } - - /** - * if set, a button will be placed to the right of the textelement. the buttons labelKey, the command/action of the button, - * the id of the textelement, and the width and height of the popup window are determined by the attributes in popupData - * @param popupData - */ - public void setPopupData(PopupData popupData) { - this.popupData = popupData; - } -} diff --git a/src/main/java/org/olat/core/gui/formelements/CheckBoxElement.java b/src/main/java/org/olat/core/gui/formelements/CheckBoxElement.java deleted file mode 100644 index fdb463a6388eee37671801413b01e760269f84bb..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/CheckBoxElement.java +++ /dev/null @@ -1,95 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import org.olat.core.logging.AssertException; - -/** - * Description: <br> - * - * @author Felix Jost - */ -public class CheckBoxElement extends AbstractFormElement { - private boolean checked; - private Boolean original; - - /** - * @param labelKey - * - */ - public CheckBoxElement(String labelKey) { - this(labelKey, false); - } - - /** - * @param labelKey - * @param checked - */ - public CheckBoxElement(String labelKey, boolean checked) { - setLabelKey(labelKey); - setChecked(checked); - } - - /** - * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[]) - */ - public void setValues(String[] values) { - if (values == null) { - setChecked(false); - } else { - if (values.length != 1) throw new AssertException("got multiple values for checkbox field:" + getName()); - // value is not interesting, since this is a single checkbox as a - // formelement - setChecked(true); - } - } - - /** - * Sets the checked. - * - * @param checked The checked to set - */ - public void setChecked(boolean checked) { - this.checked = checked; - if (original == null) original = new Boolean(checked); - } - - /** - * @return boolean - */ - public boolean isChecked() { - return checked; - } - - /** - * @see org.olat.core.gui.formelements.FormElement#isDirty() - */ - public boolean isDirty() { - return (original != null && original.booleanValue() == checked) ? false : true; - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/DateElement.java b/src/main/java/org/olat/core/gui/formelements/DateElement.java deleted file mode 100644 index 2f62e57aeb9079dd1a15ff019303dec987d7625b..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/DateElement.java +++ /dev/null @@ -1,148 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; - -/** - * Description: <br> - * - * @author Felix Jost - */ -public class DateElement extends TextElement { - - private Locale locale; - private String customDateFormat = null; - private DateFormat df; - - /** - * @param labelKey - * @param date - * @param locale to produce the dateformat fitting to the locale - */ - public DateElement(String labelKey, Date date, Locale locale) { - super(labelKey, null, false, 11, 10); // max input size is 10 - this.locale = locale; - setDate(date); - setUseDateChooser(true); // uses date chooser by default - setDateChooserTimeEnabled(false); //date without time - } - - /** - * @param labelKey - * @param date - * @param customDateFormat e.g. "dd.MM.yyyy HH:mm", see java.text.SimpleDateFormat - */ - public DateElement(String labelKey, Date date, String customDateFormat) { - super(labelKey, null, false, customDateFormat.length() + 1, customDateFormat.length()); // max input size is 10 - this.customDateFormat = customDateFormat; - setDate(date); - setUseDateChooser(true); // uses date chooser by default - setDateChooserTimeEnabled(false); //date without time - } - - /** - * @param labelKey - * @param locale - */ - public DateElement(String labelKey, Locale locale) { - this(labelKey, null, locale); - } - - /** - * @param errorKey - * @return true if valid - */ - public boolean validDate(String errorKey) { - String val = getValue(); - if (val == null) return false; - if (getDate() != null) { - clearError(); - return true; - } else { - setErrorKey(errorKey); - return false; - } - } - - /** - * @return the date or null if the value is not valid (parsed with - * DateFormat.getDateInstance(DateFormat.SHORT, locale), or with new - * SimpleDateFormat(customDataFormat)) - */ - public Date getDate() { - Date d = null; - try { - d = getDateFormat().parse(getValue()); - } catch (ParseException e) { - // return null - } - return d; - } - - /** - * @param date - */ - public void setDate(Date date) { - if (date == null) { - setValue(""); - } else { - setValue(formatDate(date)); - } - } - - /** - * @return an example date as string - */ - public String getExampleDate() { - String example = getDateFormat().format(new Date()); - return example; - } - - private String formatDate(Date date) { - String da = getDateFormat().format(date); - return da; - } - - private DateFormat getDateFormat() { - if (df == null) { - if (customDateFormat == null) { - df = DateFormat.getDateInstance(DateFormat.SHORT, locale); - df.setLenient(false); - } else { - df = new SimpleDateFormat(customDateFormat); - df.setLenient(false); - } - } - return df; - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/FormElement.java b/src/main/java/org/olat/core/gui/formelements/FormElement.java deleted file mode 100644 index 126cba4bdbc6c58ce4256324614d0e42202388f7..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/FormElement.java +++ /dev/null @@ -1,133 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import org.olat.core.gui.translator.Translator; - -/** - * @author Felix Jost - */ -public interface FormElement { - /** - * @param name - */ - public void setName(String name); - - /** - * @return - */ - public String getName(); - - /** - * Set a translated error message. - * @param error - */ - public void setError(String error); - - /** - * Set an error translation key. - * @param errorKey - */ - public void setErrorKey(String errorKey); - - /** - * Error translation key with parameters to be set in the translation. - * - * @param errorKey - * @param params - */ - public void setErrorKeyWithParams(String errorKey, String[] params); - - /** - * @return a translated error message - */ - public String getError(Translator translator); - - /** - * @return true if an error or error key was set. - */ - public boolean isError(); - - - /** - * Clear the error message. After that <code>isError()</code> returns - * <code>false</code>. - */ - public void clearError(); - - /** - * // if the parameter is missing (values == null), ignore (this may be if a - * formelement is readonly e.g.) H: formelement not readonly - * - * @param values - */ - public void setValues(String[] values); - - /** - * @return - */ - public String getLabelKey(); - - /** - * @param labelKey - */ - public void setLabelKey(String labelKey); - - /** - * @return - */ - public boolean isReadOnly(); - - /** - * @param readOnly - */ - public void setReadOnly(boolean readOnly); - - /** - * @return - */ - public boolean isMandatory(); - - /** - * @param mandatory - */ - public void setMandatory(boolean mandatory); - - /** - * @return - */ - public String getExample(); - - /** - * @return - */ - public boolean isDirty(); - - void setVisualMarked(boolean on); - boolean getVisualMarked(); - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/HTMLTextAreaElement.java b/src/main/java/org/olat/core/gui/formelements/HTMLTextAreaElement.java deleted file mode 100644 index 8bb866eaf1402bc22eecea001d817d8436b4d4d3..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/HTMLTextAreaElement.java +++ /dev/null @@ -1,54 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - - -/** -* @author Felix Jost -*/ -public class HTMLTextAreaElement extends TextAreaElement { - - /** - * @param labelKey - * @param rows - * @param cols - */ - public HTMLTextAreaElement(String labelKey, int rows, int cols) { - super(labelKey, rows, cols, ""); - } - - /** - * @param labelKey - * @param rows - * @param cols - * @param value - */ - public HTMLTextAreaElement(String labelKey, int rows, int cols, String value) { - super(labelKey, rows, cols, value); - } - -} diff --git a/src/main/java/org/olat/core/gui/formelements/IntegerElement.java b/src/main/java/org/olat/core/gui/formelements/IntegerElement.java deleted file mode 100644 index 34260d212b04996975f42228a738cfaa35ba5c53..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/IntegerElement.java +++ /dev/null @@ -1,108 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import org.olat.core.logging.OLATRuntimeException; - -/** -* @author Felix Jost -*/ -public class IntegerElement extends TextElement { - - - private int intvalue; - private boolean checked; - - /** - * @param labelKey - * @param intvalue - * @param size - */ - public IntegerElement(String labelKey, int intvalue, int size) { - super(labelKey, ""+intvalue, false, size, size); - this.intvalue = intvalue; - } - - /** - * @param labelKey - * @param intvalue - */ - public IntegerElement(String labelKey, int intvalue) { - super(labelKey, ""+intvalue, false, 20, 20); - this.intvalue = intvalue; - } - - /** - * @param labelKey - */ - public IntegerElement(String labelKey) { - super(labelKey,"", false, 20, 20); - this.intvalue = 0; - } - - /** - * @param errorKey - * @return - */ - public boolean isInteger(String errorKey) { - String val = getValue(); - boolean ok = false; - try { - this.intvalue = Integer.parseInt(val); - clearError(); - ok = true; - this.checked = true; - } - catch (NumberFormatException nfe) { - setErrorKey(errorKey); - } - return ok; - } - - /** - * Make sure you called isInteger prior to this method. Otherwhise the invalue is invalid - * and a runtime exception will be thrown - * @return int - */ - public int getIntvalue() { - if (this.checked) - return intvalue; - else - throw new OLATRuntimeException(IntegerElement.class, - "You must call isInteger() in the form validate method prior to calling getIntvalue!", null); - } - - /** - * Sets the intvalue. - * @param intvalue The intvalue to set - */ - public void setIntvalue(int intvalue) { - this.intvalue = intvalue; - super.setValue(new StringBuilder().append(intvalue).toString()); - } - -} diff --git a/src/main/java/org/olat/core/gui/formelements/KeyValue.java b/src/main/java/org/olat/core/gui/formelements/KeyValue.java deleted file mode 100644 index 098daf99fee3044bac958c0b32ca5ff460697bab..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/KeyValue.java +++ /dev/null @@ -1,43 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - - -/** - * @author Felix Jost - */ -public interface KeyValue { - /** - * @return - */ - String getKey(); - - /** - * @return - */ - String getValue(); -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/KeyValueImpl.java b/src/main/java/org/olat/core/gui/formelements/KeyValueImpl.java deleted file mode 100644 index 7681086758d280aa3b75a987b9a66759166684fe..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/KeyValueImpl.java +++ /dev/null @@ -1,69 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * @author Felix Jost - */ -public class KeyValueImpl implements KeyValue { - private String key, value; - - /** - * Constructor for KeyValue. - */ - public KeyValueImpl() { - super(); - } - - /** - * Constructor for KeyValueImpl. - * - * @param key - * @param value - */ - public KeyValueImpl(String key, String value) { - if (key == null || value == null) throw new RuntimeException("key or value null in KeyValue:key " + key + ", val" + value); - this.key = key; - this.value = value; - } - - /** - * @see org.olat.core.gui.formelements.KeyValue#getKey() - */ - public String getKey() { - return key; - } - - /** - * @see org.olat.core.gui.formelements.KeyValue#getValue() - */ - public String getValue() { - return value; - } - -} - diff --git a/src/main/java/org/olat/core/gui/formelements/LinkElement.java b/src/main/java/org/olat/core/gui/formelements/LinkElement.java deleted file mode 100644 index 1abe7915d5f6c64c2b77d784d97890a4c4b5883b..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/LinkElement.java +++ /dev/null @@ -1,99 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * Initial Date: 08.08.2003 - * @author Mike Stock Comment: - */ -public class LinkElement extends AbstractFormElement { - - private String URL; - private String linkName; - private String origUrl, origLinkName; - - /** - * @param labelKey - * @param URL - * @param linkName - */ - public LinkElement(String labelKey, String URL, String linkName) { - this.setLabelKey(labelKey); - this.setURL(URL); - this.setLinkName(linkName); - } - - /** - * Ignore - * - * @param values - */ - public void setValues(String[] values) { - // - } - - /** - * @return - */ - public String getURL() { - return URL; - } - - /** - * @param string - */ - public void setURL(String string) { - URL = string; - // Remember original value for dirty evaluation - if (origUrl == null) origUrl = new String(string); - } - - /** - * @return - */ - public String getLinkName() { - return linkName; - } - - /** - * @param string - */ - public void setLinkName(String string) { - linkName = string; - // Remember original value for dirty evaluation - if (origLinkName == null) origLinkName = new String(string); - } - - /** - * @see org.olat.core.gui.formelements.FormElement#isDirty() - */ - public boolean isDirty() { - if (origLinkName.equals(linkName) && origUrl.equals(URL)) return false; - return true; - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/MultipleSelectionElement.java b/src/main/java/org/olat/core/gui/formelements/MultipleSelectionElement.java deleted file mode 100644 index bcc3892900e24a386b87fdd36c2756d7bb5eda36..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/MultipleSelectionElement.java +++ /dev/null @@ -1,56 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import java.util.Set; - -/** - * @author Felix Jost - */ -public interface MultipleSelectionElement extends SelectionElement { - - /** - * @return a Set of Strings - */ - public Set getSelectedKeys(); - - /** - * @param how many - * @param errorKey - * @return - */ - public boolean isAtLeastSelected(int howmany, String errorKey); - - /** - * Whether to provide comfort function where the user can enable/disable all - * elements with a single click. - * - * @return - */ - public boolean enableCheckAll(); - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/PasswordElement.java b/src/main/java/org/olat/core/gui/formelements/PasswordElement.java deleted file mode 100644 index dee337853727a0e2db812eb43d05b4987326cb67..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/PasswordElement.java +++ /dev/null @@ -1,55 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * @author Felix Jost - */ -public class PasswordElement extends TextElement { - - /** - * Constructor for PasswordElement. - * - * @param labelKey - * @param maxLength - */ - public PasswordElement(String labelKey, int maxLength) { - this(labelKey, 30, maxLength); - } - - /** - * Constructor for PasswordElement - * - * @param labelKey - * @param size - * @param maxLength - */ - public PasswordElement(String labelKey, int size, int maxLength) { - super(labelKey, null, false, size, maxLength); - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/PopupData.java b/src/main/java/org/olat/core/gui/formelements/PopupData.java deleted file mode 100644 index 0c56ed0a02ffb5bf958f8b0015dd9e0d9fd113b6..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/PopupData.java +++ /dev/null @@ -1,123 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * - * Initial Date: 06.10.2004 - * @author Felix Jost - */ -public class PopupData { - private String textelementId, buttonaction, buttonlabelkey; - private int popupwidth, popupheight; - - /** - * @param textelementId - * @param buttonaction - * @param buttonlabelkey - * @param popupwidth - * @param popupheight - */ - public PopupData(String textelementId, String buttonaction, String buttonlabelkey, int popupwidth, int popupheight) { - this.textelementId = textelementId; - this.buttonaction = buttonaction; - this.buttonlabelkey = buttonlabelkey; - this.popupwidth = popupwidth; - this.popupheight = popupheight; - } - - /** - * @return - */ - public String getButtonaction() { - return buttonaction; - } - - /** - * @param buttonaction - */ - public void setButtonaction(String buttonaction) { - this.buttonaction = buttonaction; - } - - /** - * @return - */ - public String getButtonlabelkey() { - return buttonlabelkey; - } - - /** - * @param buttonlabelkey - */ - public void setButtonlabelkey(String buttonlabelkey) { - this.buttonlabelkey = buttonlabelkey; - } - - /** - * @return - */ - public int getPopupheight() { - return popupheight; - } - - /** - * @param popupheight - */ - public void setPopupheight(int popupheight) { - this.popupheight = popupheight; - } - - /** - * @return - */ - public int getPopupwidth() { - return popupwidth; - } - - /** - * @param popupwidth - */ - public void setPopupwidth(int popupwidth) { - this.popupwidth = popupwidth; - } - - /** - * @return - */ - public String getTextelementId() { - return textelementId; - } - - /** - * @param textelementId - */ - public void setTextelementId(String textelementId) { - this.textelementId = textelementId; - } -} - diff --git a/src/main/java/org/olat/core/gui/formelements/RadioButtonGroupElement.java b/src/main/java/org/olat/core/gui/formelements/RadioButtonGroupElement.java deleted file mode 100644 index ba17ab571cd23a0409cf34115ee5d3608998a7cd..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/RadioButtonGroupElement.java +++ /dev/null @@ -1,111 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - - -/** - * Radio buttons are static single selection elements that are rendered as - * a radio button group instead of a drop down list - * <P> - * Initial Date: Aug 6, 2004 - * @author patrick - * @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>) - */ - -public class RadioButtonGroupElement extends StaticSingleSelectionElement { - - boolean renderVertical; - /** - * noLabel means, that there will be no decription text left of - * the radio buttons. You can use this in a scenario like this: - * - * Description StaticHTMLElement describes something - * - * O ThisIsThe1stoption - * O ThisIsThe2ndOption - * O ThisIsThe3rdOption - * - * As you see, there is no second description since the HTML text already - * described everything. Used e,g, in external page config form. - * - */ - boolean noLabel; - /** - * If HTML is allowed, HTML Tags from LocalStrings will not be escaped, - */ - boolean HTMLIsAllowed; - - /** - * - * @param renderVertical - * @param labelKey - * @param keys - * @param values - */ - public RadioButtonGroupElement(boolean renderVertical, String labelKey, String[] keys, String[] values) { - super(labelKey, keys, values); - this.renderVertical = renderVertical; - this.noLabel = false; - this.HTMLIsAllowed = false; - } - - /** - * @return true if radio buttons should be rendered vertical - */ - public boolean renderVertical() { - return renderVertical; - } - - /** - * @return Returns true if no description should be displayed. - */ - public boolean isNoLabel() { - return noLabel; - } - - /** - * @param noLabel Set to true if no description should be displayed. - */ - public void setNoLabel(boolean noDescription) { - this.noLabel = noDescription; - } - - /** - * @return Returns true, if HTML should be displayed (and therefore not be escaped). - */ - public boolean isHTMLIsAllowed() { - return HTMLIsAllowed; - } - - /** - * @param isAllowed Set this to true, if HTML should be displayed (and therefore not be escaped). - */ - public void setHTMLIsAllowed(boolean isAllowed) { - HTMLIsAllowed = isAllowed; - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/SelectionElement.java b/src/main/java/org/olat/core/gui/formelements/SelectionElement.java deleted file mode 100644 index ded4c03a90b84348e93fd3430c4f663b7d6cdc25..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/SelectionElement.java +++ /dev/null @@ -1,64 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - - -/** - * @author Felix Jost - */ -public interface SelectionElement extends FormElement { - - /** - * @param which - * @return String - */ - public String getKey(int which); - - /** - * @param which - * @return String - */ - public String getValue(int which); - - /** - * @return integer - */ - public int getSize(); - - /** - * @param which - * @return boolean - */ - public boolean isSelected(int which); - - /** - * @param key - * @param select - */ - public void select(String key, boolean select); - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/SingleSelectionElement.java b/src/main/java/org/olat/core/gui/formelements/SingleSelectionElement.java deleted file mode 100644 index 084f572d8cae96240a82d16d169891fb31aa2a2e..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/SingleSelectionElement.java +++ /dev/null @@ -1,49 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * @author Felix Jost - */ -public interface SingleSelectionElement extends SelectionElement { - - /** - * @return - */ - public String getSelectedKey(); - - /** - * @return - */ - public boolean isOneSelected(); - - /** - * @return - */ - public int getSelected(); - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/SpacerElement.java b/src/main/java/org/olat/core/gui/formelements/SpacerElement.java deleted file mode 100644 index 3a6cde1284c6f9a4deb54be2c4bada1270cc8475..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/SpacerElement.java +++ /dev/null @@ -1,106 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * @author Felix Jost - */ -public class SpacerElement extends AbstractFormElement { - - private boolean hr, br; - - /** - * - */ - public SpacerElement() { - this(true, false); - } - - /** - * @param hr - * @param br - */ - public SpacerElement(boolean hr, boolean br) { - setLabelKey(null); - this.hr = hr; - this.br = br; - super.setReadOnly(true); - } - - /** - * the spacer ignores setValues - * - * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[]) - */ - public void setValues(String[] values) { - // - } - - /** - * @return - */ - public boolean isBr() { - return br; - } - - /** - * @return - */ - public boolean isHr() { - return hr; - } - - /** - * @param b - */ - public void setBr(boolean b) { - br = b; - } - - /** - * @param b - */ - public void setHr(boolean b) { - hr = b; - } - - /** - * - * @see org.olat.core.gui.formelements.FormElement#setReadOnly(boolean) - */ - public void setReadOnly(boolean readOnly) { - // ignore, since we are always readonly - } - - /** - * @see org.olat.core.gui.formelements.FormElement#isDirty() - */ - public boolean isDirty() { - return false; - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/StaticHTMLTextElement.java b/src/main/java/org/olat/core/gui/formelements/StaticHTMLTextElement.java deleted file mode 100644 index f0d8b9d47fe611fd427fde6500a0351324420d84..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/StaticHTMLTextElement.java +++ /dev/null @@ -1,56 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * statictextelement is like a textelement, but can never be edited - * - * @author Felix Jost - */ -public class StaticHTMLTextElement extends TextElement { - - - - /** - * Constructor for StaticTextElement. - * @param labelKey - * @param value - * @param maxLength - */ - public StaticHTMLTextElement(String labelKey, String value, int maxLength) { - super(labelKey, value, maxLength); - } - - /** - * ignore setValues, since it can never be edited - * @see org.olat.core.gui.formelements.FormElement#setValues(String[]) - */ - public void setValues(String[] values) { - // - } - -} diff --git a/src/main/java/org/olat/core/gui/formelements/StaticMultipleSelectionElement.java b/src/main/java/org/olat/core/gui/formelements/StaticMultipleSelectionElement.java deleted file mode 100644 index 21e5e5cd095e2cb234e6fae3cf4848e82fb6719c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/StaticMultipleSelectionElement.java +++ /dev/null @@ -1,158 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - -import org.olat.core.logging.AssertException; -import org.olat.core.logging.OLATRuntimeException; - -/** - * @author Felix Jost - */ -public class StaticMultipleSelectionElement extends AbstractFormElement implements MultipleSelectionElement { - private String[] values; - private String[] keys; - private Set selected; - private boolean enableCheckAll; - - - /** - * @param labelKey - * @param keys - * @param values - * @param enableCheckAll - */ - public StaticMultipleSelectionElement(String labelKey, String[] keys, String[] values, boolean enableCheckAll) { - this.keys = keys; - this.values = values; - this.enableCheckAll = enableCheckAll; - setLabelKey(labelKey); - selected = new HashSet(); - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#getKey(int) - */ - public String getKey(int which) { - return keys[which]; - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#getValue(int) - */ - public String getValue(int which) { - return values[which]; - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#getSize() - */ - public int getSize() { - return keys.length; - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#isSelected(int) - */ - public boolean isSelected(int which) { - String key = getKey(which); - return selected.contains(key); - } - - /** - * input: keys of selected checkboxes - * - * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[]) - */ - public void setValues(String[] values) { - selected = new HashSet(3); - if (values == null) return; // no selection made (no checkbox activated) -> - // selection is empty - // H: values != null - for (int i = 0; i < values.length; i++) { - String key = values[i]; - // prevent introducing fake keys - int ksi = keys.length; - boolean foundKey = false; - int j = 0; - while (!foundKey && j < ksi) { - String eKey = keys[j]; - if (eKey.equals(key)) foundKey = true; - j++; - } - if (!foundKey) throw new AssertException("submitted key '"+key+"' was not found in the keys of formelement named "+this.getName()+" , keys="+Arrays.asList(keys)); - selected.add(key); - } - } - - /** - * @see org.olat.core.gui.formelements.MultipleSelectionElement#getSelectedKeys() - */ - public Set getSelectedKeys() { - return selected; - } - - /** - * @see org.olat.core.gui.formelements.MultipleSelectionElement#isAtLeastSelected(int, - * java.lang.String) - */ - public boolean isAtLeastSelected(int howmany, String errorKey) { - boolean ok = selected.size() >= howmany; - if (!ok) setErrorKey(errorKey); - return ok; - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#select(java.lang.String, - * boolean) - */ - public void select(String key, boolean select) { - if (select) { - selected.add(key); - } else { - selected.remove(key); - } - } - - /** - * @see org.olat.core.gui.formelements.FormElement#isDirty() - */ - public boolean isDirty() { - throw new OLATRuntimeException(StaticMultipleSelectionElement.class, "isDirty not implemented for StaticMultipleSelectionElement", null); - } - - /** - * @see org.olat.core.gui.formelements.MultipleSelectionElement#enableCheckAll() - */ - public boolean enableCheckAll() { - return enableCheckAll; - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/StaticSingleSelectionElement.java b/src/main/java/org/olat/core/gui/formelements/StaticSingleSelectionElement.java deleted file mode 100644 index 67f3788a018bdc502b8352b7a9e161495fa9425e..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/StaticSingleSelectionElement.java +++ /dev/null @@ -1,163 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import org.olat.core.logging.AssertException; -import org.olat.core.logging.OLATRuntimeException; -import org.olat.core.util.Util; -import org.olat.core.util.i18n.I18nManager; - -/** - * @author Felix Jost - */ -public class StaticSingleSelectionElement extends AbstractFormElement implements SingleSelectionElement { - // use the default i18n package for "IE post no postdata when ssl timeout - message" - private static final String PACKAGE = Util.getPackageName(I18nManager.class); - - - private String[] values; - private String[] keys; - private int selected = -1; - private int original = -1; - - /** - * @param labelKey - * @param keys - * @param values - */ - public StaticSingleSelectionElement(String labelKey, String[] keys, String[] values) { - this.keys = keys; - this.values = values; - setLabelKey(labelKey); - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#getKey(int) - */ - public String getKey(int which) { - return keys[which]; - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#getValue(int) - */ - public String getValue(int which) { - return values[which]; - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#getSize() - */ - public int getSize() { - return keys.length; - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#isSelected(int) - */ - public boolean isSelected(int which) { - return which == selected; - } - - /** - * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[]) - */ - public void setValues(String[] values) { - if (values == null) { // no selection made (possible for radioboxes, but not - // for dropdown list) -> selected = -1 - //selected = -1; - throw new OLATRuntimeException(StaticSingleSelectionElement.class, "error.noformpostdata", null, PACKAGE, "no value submitted!, name of element:"+getName(), null); - } - if (values.length != 1) throw new AssertException("got multiple values in singleselectionelement:" + getName()); - String key = values[0]; - selected = findPosByKey(key); - } - - /** - * @see org.olat.core.gui.formelements.SingleSelectionElement#getSelectedKey() - */ - public String getSelectedKey() { - if (selected == -1) throw new AssertException("no key selected"); - return getKey(selected); - } - - /** - * @see org.olat.core.gui.formelements.SingleSelectionElement#isOneSelected() - */ - public boolean isOneSelected() { - return selected != -1; - } - - /** - * Returns the selected. - * - * @return int - */ - public int getSelected() { - return selected; - } - - /** - * @see org.olat.core.gui.formelements.SelectionElement#select(java.lang.String, - * boolean) - */ - public void select(String key, boolean select) { - if (select) selected = findPosByKey(key); - else selected = -1; - // Remember original selection for dirty evaluation - if (original == -1) original = selected; - } - - private int findPosByKey(String key) { - int iSelected = -1; - boolean found = false; - for (int i = 0; !found && i < keys.length; i++) { - if (key.equals(keys[i])) { - found = true; - iSelected = i; - } - } - if (!found) throw new RuntimeException("could not find key " + key); - return iSelected; - } - - /** - * - * - */ - public void SingleSelectionElement() { - // - } - - /** - * @see org.olat.core.gui.formelements.FormElement#isDirty() - */ - public boolean isDirty() { - return (original == selected) ? false : true; - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/StaticTextElement.java b/src/main/java/org/olat/core/gui/formelements/StaticTextElement.java deleted file mode 100644 index c817f662b8a53f74f5d843804a2540ce70cf9fa1..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/StaticTextElement.java +++ /dev/null @@ -1,65 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * statictextelement is like a textelement, but can never be edited - * - * @author Felix Jost - */ -public class StaticTextElement extends TextElement { - - /** - * Constructor for StaticTextElement. - * - * @param labelKey, this key is used by the language file to find a - * translation - * @param value - */ - public StaticTextElement(String labelKey, String value) { - super(labelKey, value, 10000); // field is readonly - setReadOnly(true); - } - - /** - * ignore setValues, since it can never be edited - * - * @see org.olat.core.gui.formelements.FormElement#setValues(String[]) - */ - public void setValues(String[] values) { - // - } - - /** - * overridden to always return true - * - * @return - */ - public boolean isReadOnly() { - return true; - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/TextAreaElement.java b/src/main/java/org/olat/core/gui/formelements/TextAreaElement.java deleted file mode 100644 index 91e4ada62bff2feeba74d03e1e8a678582e0722d..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/TextAreaElement.java +++ /dev/null @@ -1,72 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * @author Felix Jost - */ -public class TextAreaElement extends AbstractTextElement { - - private int cols; - private int rows; - - /** - * @param labelKey - * @param rows - * @param cols - */ - public TextAreaElement(String labelKey, int rows, int cols) { - this(labelKey, rows, cols, ""); - } - - /** - * @param labelKey - * @param rows - * @param cols - * @param value - */ - public TextAreaElement(String labelKey, int rows, int cols, String value) { - setLabelKey(labelKey); - setValue(value); - this.rows = rows; - this.cols = cols; - } - - /** - * @return int - */ - public int getCols() { - return cols; - } - - /** - * @return int - */ - public int getRows() { - return rows; - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/TextElement.java b/src/main/java/org/olat/core/gui/formelements/TextElement.java deleted file mode 100644 index d3f6e9f0c0997b6377042d5ac32338a8df395c87..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/TextElement.java +++ /dev/null @@ -1,171 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -import org.olat.core.logging.AssertException; - -/** - * @author Felix Jost - */ -public class TextElement extends AbstractTextElement { - - private int size; - private int maxLength; - private boolean useDateChooser; - private boolean dateChooserTimeEnabled; - private String dateChooserDateFormat; - - /** - * Constructor for TextElement. use the constructor TextElement(String - * labelKey, String value) instead by giving the inital value - * - * @param labelKey the lable key - * @param maxLength - */ - public TextElement(String labelKey, int maxLength) { - this(labelKey, "", maxLength); - } - - /** - * Constructor for TextElement - * - * @param labelKey The lable key - * @param value The initial value - * @param maxLength - */ - public TextElement(String labelKey, String value, int maxLength) { - this(labelKey, value, false, maxLength); - } - - /** - * @param labelKey - * @param value - * @param mandatory - * @param maxLength - */ - public TextElement(String labelKey, String value, boolean mandatory, int maxLength) { - this(labelKey, value, mandatory, 30, maxLength); - } - - /** - * @param labelKey - * @param value - * @param mandatory - * @param size - * @param maxLength - */ - public TextElement(String labelKey, String value, boolean mandatory, int size, int maxLength) { - setSize(size); - setMaxLength(maxLength); - setValue(value); - setLabelKey(labelKey); - setMandatory(mandatory); - } - - /** - * Sets the value. if null is given, empty string is assumed. If the value ha - * a length longer than maxLenth a OLATRuntimeException is thrown - * - * @param value The value to set - * @throws OLATRuntimeException if value.length > maxLength - */ - public void setValue(String value) { - if (value != null && value.length() > this.maxLength) { throw new AssertException("Value of TextElement(name:"+getName()+")(" + value.length() - + ") was longer than allowed maxLength (" + this.maxLength + ")"); } - super.setValue(value); - } - - /** - * @return Returns the maxLength. - */ - public int getMaxLength() { - return maxLength; - } - - /** - * @param maxLength The maxLength to set. - */ - public void setMaxLength(int maxLength) { - this.maxLength = maxLength; - } - - /** - * @return Returns the size. - */ - public int getSize() { - return size; - } - - /** - * @param size The size to set. - */ - public void setSize(int size) { - this.size = size; - } - - /** - * @return true if date chooser should be used - */ - public boolean isUseDateChooser() { - return useDateChooser; - } - - /** - * @param useDateChooser true if date chooser should be used - */ - public void setUseDateChooser(boolean useDateChooser) { - this.useDateChooser = useDateChooser; - } - - /** - * @return - */ - public String getDateChooserDateFormat() { - return dateChooserDateFormat; - } - - /** - * @param dateChooserDateFormat - */ - public void setDateChooserDateFormat(String dateChooserDateFormat) { - this.dateChooserDateFormat = dateChooserDateFormat; - } - - /** - * @return - */ - public boolean isDateChooserTimeEnabled() { - return dateChooserTimeEnabled; - } - - /** - * @param dateChooserTimeEnabled - */ - public void setDateChooserTimeEnabled(boolean dateChooserTimeEnabled) { - this.dateChooserTimeEnabled = dateChooserTimeEnabled; - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/TitleElement.java b/src/main/java/org/olat/core/gui/formelements/TitleElement.java deleted file mode 100644 index 2f0c3c15b66ee3710177732f05ff95754aa7b885..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/TitleElement.java +++ /dev/null @@ -1,87 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * @author Felix Jost - */ -public class TitleElement extends AbstractFormElement { - private String titleKey; - - /** - * @param titleKey - */ - public TitleElement(String titleKey) { - this.titleKey = titleKey; - super.setReadOnly(true); - } - - /** - * the titleElement ignores setValues - * @param values - */ - public void setValues(String[] values) { - // - } - - /** - * Returns the titleKey. - * - * @return String - */ - public String getTitleKey() { - return titleKey; - } - - /** - * Sets the titleKey. - * - * @param titleKey The titleKey to set - */ - /** - * @param titleKey - */ - public void setTitleKey(String titleKey) { - this.titleKey = titleKey; - } - - /** - * - * @see org.olat.core.gui.formelements.FormElement#setReadOnly(boolean) - */ - public void setReadOnly(boolean readOnly) { - // ignore, since we are always readonly - } - - /** - * @see org.olat.core.gui.formelements.FormElement#isDirty() - */ - public boolean isDirty() { - return false; - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/VisibilityDependsOnSelectionRule.java b/src/main/java/org/olat/core/gui/formelements/VisibilityDependsOnSelectionRule.java deleted file mode 100644 index e0cf769a2ac1eb2f1e68d357e49b7d21a987d701..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/VisibilityDependsOnSelectionRule.java +++ /dev/null @@ -1,157 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; -/** - * Description:<BR> - * A form selection element can have a list of VisibilityDependsOnSelectionRules. Each of - * this rules in this list defines a visibility / editability constraint that does apply - * to another form elements when the value of the selection element changes. - * The rule consists of a value that must matched the form selections value. If the value - * matches, the form element will be changed to readOnly or readWrite depending on the - * visibilityRuleResul configuration. - * <P> - * Initial Date: Dec 9, 2004 - * - * @author gnaegi - * @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>) - */ -public class VisibilityDependsOnSelectionRule { - SelectionElement selectionElement; - FormElement dependentElement; - String visibilityRuleValue; - boolean visibilityRuleResult; - String resetValue; - boolean hideDisabledElements; - /** - * If preventOppositeAction is set to true, then this rule only works for the given - * direction and is ignored in the other case. E.g. if the rule is to hide an element - * if something is true, then (with preventOppositeAction == true) it is not displayed - * again, if this something changes from true to false. - */ - boolean preventOppositeAction; - - /** - * Constructor for a visibility-depends-on-selection rule. This rule describes - * when the dependent element is editable - * @param selectionElement The element that triggers the rule - * @param dependentElement The dependent form element - * @param visibilityRuleValue The selection value must match this value - * @param visibilityRuleResult If a match exists this is the visibility rule - * @param resetValue Value to be set on the dependent element when the visibilty is set - * to false (elements default value) - * @param hideDisabledElements Configuration flag: true: disabled form elements should - * be removed from the GUI completely, false: disabled form elements will be disabled in the - * GUI and appear greyed but still visible - */ - public VisibilityDependsOnSelectionRule(SelectionElement selectionElement, FormElement dependentElement, - String visibilityRuleValue, boolean visibilityRuleResult, String resetValue, boolean hideDisabledElements) { - this(selectionElement, dependentElement, visibilityRuleValue, visibilityRuleResult, resetValue, hideDisabledElements, false); - } - - /** - * @return Returns the preventOppositeAction. - */ - public boolean isPreventOppositeAction() { - return preventOppositeAction; - } - - /** - * @param preventOppositeAction The preventOppositeAction to set. - */ - public void setPreventOppositeAction(boolean preventOppositeAction) { - this.preventOppositeAction = preventOppositeAction; - } - - /** - * Constructor for a visibility-depends-on-selection rule. This rule describes - * when the dependent element is editable - * @param selectionElement The element that triggers the rule - * @param dependentElement The dependent form element - * @param visibilityRuleValue The selection value must match this value - * @param visibilityRuleResult If a match exists this is the visibility rule - * @param resetValue Value to be set on the dependent element when the visibilty is set - * to false (elements default value) - * @param hideDisabledElements Configuration flag: true: disabled form elements should - * be removed from the GUI completely, false: disabled form elements will be disabled in the - * GUI and appear greyed but still visible - */ - public VisibilityDependsOnSelectionRule(SelectionElement selectionElement, FormElement dependentElement, - String visibilityRuleValue, boolean visibilityRuleResult, String resetValue, boolean hideDisabledElements, boolean preventOppositeAction) { - super(); - // some checks if valid configuration - if (dependentElement instanceof MultipleSelectionElement && hideDisabledElements == false) { - throw new AssertionError("Programming error: hideDisabledElements=false in VisibilityDependsOnSelectionRule for MultipleSelectionElement not supported. Set hideDisabledElements=true"); - } - - this.selectionElement = selectionElement; - this.dependentElement = dependentElement; - this.visibilityRuleValue = visibilityRuleValue; - this.visibilityRuleResult = visibilityRuleResult; - this.resetValue = resetValue; - this.hideDisabledElements = hideDisabledElements; - this.preventOppositeAction = preventOppositeAction; - } - - /** - * @return The form element that triggers this rule - */ - public SelectionElement getSelectionElement() { - return selectionElement; - } - /** - * @return The form element that depends on this rule - */ - public FormElement getDependentElement() { - return dependentElement; - } - /** - * @return The value that must match the selection elements - * value to make the rule active. - */ - public String getVisibilityRuleValue() { - return visibilityRuleValue; - } - /** - * @return The result that should be applied when the rule matches - */ - public boolean isVisibilityRuleResult() { - return visibilityRuleResult; - } - /** - * @return The value that should be set to the dependet element if the rule matches - */ - public String getResetValue() { - return resetValue; - } - - /** - * @return boolean true: hide elements completely, false: only disable elements - */ - public boolean isHideDisabledElements() { - return hideDisabledElements; - } -} diff --git a/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElement.java b/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElement.java deleted file mode 100644 index 6ecabf813e398c667621f1691a182b2c7b6dded2..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElement.java +++ /dev/null @@ -1,60 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * Initial Date: Apr 8, 2004 - * - * @Deprecated The wiki markup area is no longer supported. In the legacy form - * infrastructure it's still there, but it won't be available in the - * new flexi forms. In flexi forms use the RichTextElement instead. - * - * @author gnaegi - */ -@Deprecated -public class WikiMarkupTextAreaElement extends TextAreaElement { - - /** - * @param labelKey - * @param rows - * @param cols - */ - public WikiMarkupTextAreaElement(String labelKey, int rows, int cols) { - this(labelKey, rows, cols, ""); - } - - /** - * @param labelKey - * @param rows - * @param cols - * @param value - */ - public WikiMarkupTextAreaElement(String labelKey, int rows, int cols, String value) { - super(labelKey, rows, cols, value); - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElementAutoSize.java b/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElementAutoSize.java deleted file mode 100644 index 1907b90d8d677625d40ac0f5b72bb90b9c93f9c6..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElementAutoSize.java +++ /dev/null @@ -1,51 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.gui.formelements; - -/** - * Description:<br> - * TODO: guido Class Description for TextAreaElementAutoSize - * - * @Deprecated The wiki markup area is no longer supported. In the legacy form - * infrastructure it's still there, but it won't be available in the - * new flexi forms. In flexi forms use the RichTextElement instead. - * <P> - * Initial Date: Aug 15, 2006 <br> - * @author guido - */ -@Deprecated -public class WikiMarkupTextAreaElementAutoSize extends TextAreaElement { - - public WikiMarkupTextAreaElementAutoSize(String labelKey, int rows, int cols) { - super(labelKey, rows, cols, ""); - } - - public WikiMarkupTextAreaElementAutoSize(String labelKey, int rows, int cols, String value) { - super(labelKey, rows, cols, value); - } - -} diff --git a/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java b/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java index 6f925bbc2b04e1acac8d3a8939f3b366d0c3e420..d34891a9ccf2835f32e030b102526fb7a9b2ab42 100644 --- a/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java +++ b/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java @@ -581,20 +581,6 @@ public class VelocityRenderDecorator { return f.formatDateAndTime(date); } - /** - * Interpret this string using the radeox wiki markup language - * - * @Deprecated The wiki markup area is no longer supported. In the legacy form - * infrastructure it's still there, but it won't be available in the - * new flexi forms. In flexi forms use the RichTextElement instead. - * - * @param wikiMarkupString The original string written in radeox markup - * @return String HTML formatted text - */ - @Deprecated - public String formatWikiMarkup(String wikiMarkupString) { - return Formatter.formatWikiMarkup(wikiMarkupString); - } /** * Wrapp given html code with a wrapper an add code to transform latex diff --git a/src/main/java/org/olat/core/util/Formatter.java b/src/main/java/org/olat/core/util/Formatter.java index eab7e19c82eef31c0bfd24f6aba9a12d7ed9916c..fbe9dc162bd2e66689a7071a1b794ba57a2cd28b 100644 --- a/src/main/java/org/olat/core/util/Formatter.java +++ b/src/main/java/org/olat/core/util/Formatter.java @@ -41,12 +41,6 @@ import java.util.regex.Pattern; import org.apache.commons.lang.StringEscapeUtils; import org.olat.core.commons.chiefcontrollers.BaseChiefController; import org.olat.core.logging.LogDelegator; -import org.radeox.api.engine.RenderEngine; -import org.radeox.api.engine.context.InitialRenderContext; -import org.radeox.api.engine.context.RenderContext; -import org.radeox.engine.BaseRenderEngine; -import org.radeox.engine.context.BaseInitialRenderContext; -import org.radeox.engine.context.BaseRenderContext; /** * enclosing_type Description: <br> @@ -57,19 +51,8 @@ import org.radeox.engine.context.BaseRenderContext; public class Formatter extends LogDelegator { private Locale locale; - private static RenderEngine engineWithContext; - private static BaseRenderContext baseRenderContext; - static { - InitialRenderContext initialContext = new BaseInitialRenderContext(); - Locale loc = new Locale("olat", "olat"); - initialContext.set(RenderContext.INPUT_LOCALE, loc); - initialContext.set(RenderContext.OUTPUT_LOCALE, loc); - initialContext.set(RenderContext.INPUT_BUNDLE_NAME, "radeox_markup_olat"); - initialContext.set(RenderContext.OUTPUT_BUNDLE_NAME, "radeox_markup_olat"); - engineWithContext = new BaseRenderEngine(initialContext); - baseRenderContext = new BaseRenderContext(); - } + /** * Constructor for Formatter. @@ -510,64 +493,7 @@ public class Formatter extends LogDelegator { } - /** - * renders wiki markup like _italic_ to XHTML see also www.radeox.org - * @Deprecated The wiki markup area is no longer supported. In the legacy form - * infrastructure it's still there, but it won't be available in the - * new flexi forms. In flexi forms use the RichTextElement instead. - * - * tested during migration and expanded to prevent radeox failures - * - * @param originalText - * @return result (rendered originalText) or null if originalText was null - */ - @Deprecated - public static String formatWikiMarkup(String oldValue) { - if (oldValue != null) { - String newValue = ""; - // oldValue = oldValue.replaceAll("<>", "<>"); - // oldValue = oldValue.replaceAll(Pattern.quote("[]"), - // "[]"); - - // prevent error with {$} interpreted as regexp - String marker1 = "piYie6Eigh0phafeiTuk4dahwahvoh7eedoegee2egh8xuj9phah8eop8iuk"; - oldValue = oldValue.replaceAll(Pattern.quote("{$}"), marker1); - - // \{code} will result in an error => convert - String marker2 = "RohbaeW7xahbohk8iewoo7thocaemaech2pahS8oe1UVohkohJiugaagaeco"; - oldValue = oldValue.replaceAll(Pattern.quote("\\{code}"), marker2); - - // radeox gets an error, if {code} is not a closed tag. prevent at - // least the case with one single statement. - int nrOfCodeStatements = countOccurrences(oldValue, "{code}"); - String marker3 = "shagheiph6enieNo0theph9aique0EihoChae6ve2edie4Pohwaok8thaoda"; - if (nrOfCodeStatements == 1) { - oldValue = oldValue.replaceAll(Pattern.quote("{code}"), marker3); - } - if (nrOfCodeStatements % 2 != 0 && nrOfCodeStatements != 1) { - Formatter fInst = Formatter.getInstance(new Locale("olat")); - fInst.log("There will be a Warning/NPE from Radeox soon, as there are not enough {code} statements in a text."); - fInst.log("Old value of text will be kept! " + oldValue); - } - - //added for compatibility with wikimedia syntax used in the new wiki component. org.olat.core.gui.components.wiki.WikiMarkupComponent - //filters " ''' " for bold and " ''''' " for bold/italic - oldValue = oldValue.replaceAll("(^|>|[\\p{Punct}\\p{Space}]+)'{3}(.*?)'{3}([\\p{Punct}\\p{Space}]+|<|$)", "$1*$2*$3"); - oldValue = oldValue.replaceAll("(^|>|[\\p{Punct}\\p{Space}]+)'{5}(.*?)'{5}([\\p{Punct}\\p{Space}]+|<|$)", "$1_*$2*_$3"); - - // try-catch not usable, as Radeox doesn't throw an exception, - // it just prints warnings and returns unconverted value! - newValue = engineWithContext.render(oldValue, baseRenderContext); - - // convert back - newValue = newValue.replaceAll(marker1, Matcher.quoteReplacement("{$}")); - newValue = newValue.replaceAll(marker2, Matcher.quoteReplacement("\\{code}")); - newValue = newValue.replaceAll(marker3, Matcher.quoteReplacement("{code}")); - - return newValue; - } else - return null; - } + private static int countOccurrences(String arg1, String arg2) { int count = 0; diff --git a/src/main/java/org/olat/core/util/radeox/AngelFilter.java b/src/main/java/org/olat/core/util/radeox/AngelFilter.java deleted file mode 100644 index ac182f180aff9ff4841aa44819de1fd15206e1ee..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/AngelFilter.java +++ /dev/null @@ -1,50 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - * - */ -public class AngelFilter extends RegexReplaceFilter { - - /** - * - */ - public AngelFilter() { - super("(O:-\\)|O:\\)|o:-\\)|o:\\))(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"angel\" class=\"b_emoticons_angel\"/>"); - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/AngryFilter.java b/src/main/java/org/olat/core/util/radeox/AngryFilter.java deleted file mode 100644 index bd56f817ad7d08de7c0bb1bdda7c2b8421da09ed..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/AngryFilter.java +++ /dev/null @@ -1,49 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - * - */ -public class AngryFilter extends RegexReplaceFilter { - - /** - * - */ - public AngryFilter() { - super("(:-@|:@)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"angry\" class=\"b_emoticons_angry\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/ConfusedFilter.java b/src/main/java/org/olat/core/util/radeox/ConfusedFilter.java deleted file mode 100644 index f30f564df3632d94c399a9e5282a1da56690401b..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/ConfusedFilter.java +++ /dev/null @@ -1,49 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - * - */ -public class ConfusedFilter extends RegexReplaceFilter { - - /** - * - */ - public ConfusedFilter() { - super("(:-S|:S|:-s|:s)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"confused\" class=\"b_emoticons_confused\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/CryFilter.java b/src/main/java/org/olat/core/util/radeox/CryFilter.java deleted file mode 100644 index 363e468440103792453ca2c8257f651df0d4e70c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/CryFilter.java +++ /dev/null @@ -1,44 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -*/ -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Description:<br> - * TODO: rhaag Class Description for CryFilter - * - * <P> - * Initial Date: 17.06.2009 <br> - * @author rhaag - */ -public class CryFilter extends RegexReplaceFilter { - - public CryFilter(){ - super(":-V", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"cry\" class=\"b_emoticons_cry\"/>"); - } - -} diff --git a/src/main/java/org/olat/core/util/radeox/DevilFilter.java b/src/main/java/org/olat/core/util/radeox/DevilFilter.java deleted file mode 100644 index 55d463293d8aeada13ed69a02305286123476df9..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/DevilFilter.java +++ /dev/null @@ -1,50 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - * - */ -public class DevilFilter extends RegexReplaceFilter { - - /** - * - */ - public DevilFilter() { - super("(]:-\\)|]:\\)|]:->)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/emoticicons/devil.gif") + "\" alt=\"devil\" />"); - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/EmbarrassedFilter.java b/src/main/java/org/olat/core/util/radeox/EmbarrassedFilter.java deleted file mode 100644 index 6c5bfe4a8bc362f4295923ba69bd15d623526c2f..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/EmbarrassedFilter.java +++ /dev/null @@ -1,49 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - * - */ -public class EmbarrassedFilter extends RegexReplaceFilter { - - /** - * - */ - public EmbarrassedFilter() { - super("(:-\\$|:\\$)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"blushing\" class=\"b_emoticons_blushing\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/ForumQuoteFilter.java b/src/main/java/org/olat/core/util/radeox/ForumQuoteFilter.java deleted file mode 100644 index e707f405603c3b2c48a121a21d7275cb3b0e4978..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/ForumQuoteFilter.java +++ /dev/null @@ -1,47 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - * - */ -public class ForumQuoteFilter extends RegexReplaceFilter { - /** - * - */ - public ForumQuoteFilter() { - super("^(\\>|\\>|>)(.*?)$", "<blockquote class=\"b_quote\">$2</blockquote>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/GenericFilterForMigration.java b/src/main/java/org/olat/core/util/radeox/GenericFilterForMigration.java deleted file mode 100644 index 8aff4e3ada180a66212b3849a05c75f02000ec49..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/GenericFilterForMigration.java +++ /dev/null @@ -1,42 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -*/ -package org.olat.core.util.radeox; - -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Description:<br> - * TODO: rhaag Class Description for GenericFilterForMigration - * - * <P> - * Initial Date: 16.06.2009 <br> - * @author rhaag - */ -public class GenericFilterForMigration extends RegexReplaceFilter { - - public GenericFilterForMigration(){ - super(); - } -} diff --git a/src/main/java/org/olat/core/util/radeox/ItalicFilter.java b/src/main/java/org/olat/core/util/radeox/ItalicFilter.java deleted file mode 100644 index 5ec13ffc04d1db8d0db1eb9990169f359952844c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/ItalicFilter.java +++ /dev/null @@ -1,49 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Description:<br> - * Italic filter that is added for compatibillity with the wikimedia synatx form - * the WikiMarkupComponent. Filters " ''word-xy'' " and replaces it with <i>word-xy<i> - * <P> - * Initial Date: Jul 24, 2006 <br> - * - * @author guido - */ -public class ItalicFilter extends RegexReplaceFilter { - - /** - * - */ - public ItalicFilter() { - super("(^|>|[\\p{Punct}\\p{Space}]+)'{2}(.*?)'{2}([\\p{Punct}\\p{Space}]+|<|$)", "$1<i>$2</i>$3"); - } - -} diff --git a/src/main/java/org/olat/core/util/radeox/KissFilter.java b/src/main/java/org/olat/core/util/radeox/KissFilter.java deleted file mode 100644 index 9f5fc1bfb53caa0f1afbc81852e4005c06d2ffe5..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/KissFilter.java +++ /dev/null @@ -1,44 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -*/ -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Description:<br> - * TODO: rhaag Class Description for KissFilter - * - * <P> - * Initial Date: 17.06.2009 <br> - * @author rhaag - */ -public class KissFilter extends RegexReplaceFilter { - - public KissFilter(){ - super(":-x|:-\\*|:\\*", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"kiss\" class=\"b_emoticons_kiss\"/>"); - } - -} diff --git a/src/main/java/org/olat/core/util/radeox/MovieButtonMacro.java b/src/main/java/org/olat/core/util/radeox/MovieButtonMacro.java deleted file mode 100644 index 7780227c6c52e4e046be46143cbb9b50279b6573..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/MovieButtonMacro.java +++ /dev/null @@ -1,153 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import java.io.IOException; -import java.io.Writer; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.macro.BaseMacro; -import org.radeox.macro.parameter.MacroParameter; - -/** - * Description:<BR> - * Implements the timemarker play wiki tag. still beta - * - * <P> - * Initial Date: Dec 22, 2004 - * - * @author gnaegi - */ -public class MovieButtonMacro extends BaseMacro { - private static final String CONTROLLER_MOV = StaticMediaDispatcher.createStaticURIFor("movie/controller.mov"); - - private static final String NAME = "name"; - private static final String STARTTIME = "start"; - private static final String ENDTIME = "end"; - private static final String ADDRESS = "url"; - private static final String DISPLAYDURATION = "displayduration"; - - /** - * - */ - public MovieButtonMacro() { - super(); - } - - /** - * @see org.radeox.macro.Macro#getName() - */ - public String getName() { - return "movieButton"; - } - - /** - * @see org.radeox.macro.Macro#execute(java.io.Writer, org.radeox.macro.parameter.MacroParameter) - */ - public void execute(Writer writer, MacroParameter params) throws IllegalArgumentException, IOException { - - String name = params.get(NAME); - String starttime = params.get(STARTTIME); - String endtime = params.get(ENDTIME); - String address = params.get(ADDRESS); - String displayduration = params.get(DISPLAYDURATION); - String displayname = params.getContent(); - - StringBuilder movieInfo = new StringBuilder(); - movieInfo.append("<movieinfo>"); - if (address != null) { - movieInfo.append("<address>"); - movieInfo.append(address); - movieInfo.append("</address>"); - } - if (name != null) { - movieInfo.append("<name>"); - movieInfo.append(name); - movieInfo.append("</name>"); - } else { - // default name - movieInfo.append("<name>remotelyControlled</name>"); - } - if (starttime != null) { - movieInfo.append("<starttime>"); - movieInfo.append(starttime); - movieInfo.append("</starttime>"); - } - if (endtime != null) { - movieInfo.append("<endtime>"); - movieInfo.append(endtime); - movieInfo.append("</endtime>"); - } - if (displayname != null) { - movieInfo.append("<label>"); - movieInfo.append(displayname); - movieInfo.append("</label>"); - } - if (displayname != null) { - movieInfo.append("<displayname>"); - movieInfo.append(displayname); - movieInfo.append("</displayname>"); - } - movieInfo.append("</movieinfo>"); - - - writer.write("<span class=\"b_wiki_timemarker_play\"><object classid=\"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" width=\"17\" height=\"16\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\">"); - writer.write("<param name=\"SRC\" value=\"" + CONTROLLER_MOV + "\">"); - writer.write("<param name=\"CONTROLLER\" value=\"FALSE\">"); - writer.write("<param name=\"AUTOPLAY\" value=\"FALSE\">"); - writer.write("<param name=\"CACHE\" value=\"FALSE\">"); - writer.write("<param name = \"MovieQTList\" value="); - writer.write("\""); - writer.write(movieInfo.toString()); - writer.write("\">"); - writer.write("<embed"); - writer.write(" src=\"" + CONTROLLER_MOV + "\""); - writer.write(" width=\"17\" height=\"16\""); - writer.write(" controller=\"FALSE\""); - writer.write(" autoplay=\"FALSE\""); - writer.write(" cache=\"FALSE\""); - writer.write(" MovieQTList="); - writer.write("\""); - writer.write(movieInfo.toString()); - writer.write("\""); - writer.write(" type=\"video/quicktime\""); - writer.write(" pluginspage=\"http://www.apple.com/quicktime/download/\">"); - writer.write("</embed>"); - writer.write("</object> "); - if (displayname != null) { - writer.write(displayname); - if (displayduration != null) { - writer.write(": "); - } - } - if (displayduration != null) { - writer.write(displayduration); - } - writer.write("</span>"); - } - -} diff --git a/src/main/java/org/olat/core/util/radeox/MovieViewerMacro.java b/src/main/java/org/olat/core/util/radeox/MovieViewerMacro.java deleted file mode 100644 index be5b872c9209f67a15670548b8910afe785e52e6..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/MovieViewerMacro.java +++ /dev/null @@ -1,128 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import java.io.IOException; -import java.io.Writer; - -import org.radeox.macro.BaseMacro; -import org.radeox.macro.parameter.MacroParameter; - -/** - * Description:<BR> - * Implements timemarker movie viewer makro, still beta - * <P> - * Initial Date: Dec 22, 2004 - * - * @author gnaegi - */ -public class MovieViewerMacro extends BaseMacro { - // allowed macro attributes - private static final String NAME = "name"; - private static final String ADDRESS = "url"; - private static final String WIDTH = "width"; - private static final String HEIGHT = "height"; - private static final String DISPLAYDURATION = "displayduration"; - - // default height and width of player window - private static final int DEFAULT_WIDTH = 320; - private static final int DEFAULT_HEIGHT = 240; - // additional pixels used by the video controller for sliding etc - private static final int CONTROLLER_HEIGHT = 16; - // offset to have enouth space - // height+60 (some browsers need this space) + 20 (to show playButton tag) - // width+40 (some browsers need this space) - private static final int HEIGHT_OFFSET = 80; - private static final int WIDTH_OFFSET = 40; - - /** - * - */ - public MovieViewerMacro() { - super(); - } - - /** - * @see org.radeox.macro.Macro#getName() - */ - public String getName() { - return "movieViewer"; - } - - /** - * @see org.radeox.macro.Macro#execute(java.io.Writer, org.radeox.macro.parameter.MacroParameter) - */ - public void execute(Writer writer, MacroParameter params) throws IllegalArgumentException, IOException { - - String name = params.get(NAME); - String address = params.get(ADDRESS); - String height = params.get(HEIGHT); - String width = params.get(WIDTH); - String displayduration = params.get(DISPLAYDURATION); - String displayname = params.getContent(); - - if (address == null) { - writer.write("<p>movieViewer: illegal format: missing attribute " + ADDRESS + "</p>"); - return; - } - // default values for unset optional parameter - if (name == null) name = "remotelyControlled"; - if (width == null) width = Integer.toString(DEFAULT_WIDTH); - if (height == null) height = Integer.toString(DEFAULT_HEIGHT); - - try { - int iHeigt = Integer.parseInt(height); - height = Integer.toString(iHeigt + CONTROLLER_HEIGHT ); - } catch (NumberFormatException e) { - // using default values - width = Integer.toString(DEFAULT_WIDTH); - height = Integer.toString(DEFAULT_HEIGHT + CONTROLLER_HEIGHT); - } - - writer.write("<span class=\"b_wiki_timemarker_viewer\">"); - // show popup link - writer.write("<a href=\"javascript:void("); - // open window a bit bitter than the movie size itself - String args = "width=" + (Integer.parseInt(width) + WIDTH_OFFSET) + ",height=" + (Integer.parseInt(height) + HEIGHT_OFFSET) + ",resizable=yes,scrollbars=yes"; - writer.write("window.open(o_info.o_baseURI + '/movie/popup.html?maddress=' + encodeURIComponent('" + address + "') + '&mname=' + encodeURIComponent('" + name + - "') + '&displayname=' + encodeURIComponent('" + displayname + "') + '&displayduration=' + encodeURIComponent('" + displayduration + "') + '&width=" + width + "&height=" + height + "', '" + name +"', '" + args + "')"); - writer.write(")\">Open movie player"); - if (displayname != null) { - writer.write(": "); - writer.write(displayname); - if (displayduration != null) { - writer.write(": "); - } - } - if (displayduration != null) { - writer.write(displayduration); - } - writer.write("</a>"); - writer.write("</span>"); - } - -} diff --git a/src/main/java/org/olat/core/util/radeox/OmgFilter.java b/src/main/java/org/olat/core/util/radeox/OmgFilter.java deleted file mode 100644 index f3e078ff07713b84fd805305953eb9993b55c283..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/OmgFilter.java +++ /dev/null @@ -1,49 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - * - */ -public class OmgFilter extends RegexReplaceFilter { - - /** - * - */ - public OmgFilter() { - super("(:-O|:O|:-o|:o)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"ohoh\" class=\"b_emoticons_ohoh\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/SadFilter.java b/src/main/java/org/olat/core/util/radeox/SadFilter.java deleted file mode 100644 index d5e626648c4e6567753a840f5ee5cb1a2990895a..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/SadFilter.java +++ /dev/null @@ -1,49 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - * - */ -public class SadFilter extends RegexReplaceFilter { - - /** - * - */ - public SadFilter() { - super("(:-\\(|:\\()(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"sad\" class=\"b_emoticons_sad\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/ShadeFilter.java b/src/main/java/org/olat/core/util/radeox/ShadeFilter.java deleted file mode 100644 index c742ceacfaa02c5ebf96be2ff4636696d16eaed3..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/ShadeFilter.java +++ /dev/null @@ -1,48 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - */ -public class ShadeFilter extends RegexReplaceFilter { - - /** - * - */ - public ShadeFilter() { - super("(8-\\)|8\\))(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"cool\" class=\"b_emoticons_cool\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/SmileFilter.java b/src/main/java/org/olat/core/util/radeox/SmileFilter.java deleted file mode 100644 index f2034cdfd87505ca0d61e675b355882e04935cf7..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/SmileFilter.java +++ /dev/null @@ -1,48 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - */ -public class SmileFilter extends RegexReplaceFilter { - - /** - * - */ - public SmileFilter() { - super("(:-\\)|:\\))(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"smile\" class=\"b_emoticons_smile\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/TeethFilter.java b/src/main/java/org/olat/core/util/radeox/TeethFilter.java deleted file mode 100644 index 4cde4511aa049cda4c99137f46b888c66e418a23..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/TeethFilter.java +++ /dev/null @@ -1,48 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - */ -public class TeethFilter extends RegexReplaceFilter { - - /** - * - */ - public TeethFilter() { - super("(:-D|:D|:-d|:d)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"grin\" class=\"b_emoticons_grin\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/TongueFilter.java b/src/main/java/org/olat/core/util/radeox/TongueFilter.java deleted file mode 100644 index 5dd745000c92a675b76fa183fc6db8ed7e3c68c7..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/TongueFilter.java +++ /dev/null @@ -1,48 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - */ -public class TongueFilter extends RegexReplaceFilter { - - /** - * - */ - public TongueFilter() { - super("(:-P|:P|:-p|:p)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"tongue\" class=\"b_emoticons_tongue\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/UglyFilter.java b/src/main/java/org/olat/core/util/radeox/UglyFilter.java deleted file mode 100644 index 2cd399685e3fd05dece0993d910a9d23d1912992..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/UglyFilter.java +++ /dev/null @@ -1,48 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - */ -public class UglyFilter extends RegexReplaceFilter { - - /** - * - */ - public UglyFilter() { - super("(:-\\||:\\||:-/|:/[.[^/]])(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"ugly\" class=\"b_emoticons_ugly\"/>"); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/WinkFilter.java b/src/main/java/org/olat/core/util/radeox/WinkFilter.java deleted file mode 100644 index a88b090085a0a4d28e29411f33adc91ad2bb7b60..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/util/radeox/WinkFilter.java +++ /dev/null @@ -1,49 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - -package org.olat.core.util.radeox; - -import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; -import org.radeox.filter.regex.RegexReplaceFilter; - -/** - * Initial Date: Apr 14, 2004 - * - * @author gnaegi - * - * Comment: - * - */ -public class WinkFilter extends RegexReplaceFilter { - - /** - * - */ - public WinkFilter() { - super("(;-\\)|;\\))(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"wink\" class=\"b_emoticons_wink\"/>"); - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/radeox/doc/Radeox_Developer.pdf b/src/main/java/org/olat/core/util/radeox/doc/Radeox_Developer.pdf deleted file mode 100644 index 4d1fe90498e51ffbfd5d7aefeb39396382885526..0000000000000000000000000000000000000000 Binary files a/src/main/java/org/olat/core/util/radeox/doc/Radeox_Developer.pdf and /dev/null differ diff --git a/src/main/java/org/olat/course/CourseUpgrade.java b/src/main/java/org/olat/course/CourseUpgrade.java index db9f8472f2d55324e26c150817dc7af5b9d4fa72..087c56e7203c9ebc6a6dfbb2220981658939bd96 100644 --- a/src/main/java/org/olat/course/CourseUpgrade.java +++ b/src/main/java/org/olat/course/CourseUpgrade.java @@ -60,142 +60,17 @@ public class CourseUpgrade extends LogDelegator { int migrateTargetVersion = 2; CourseEditorTreeModel editorTreeModel = course.getEditorTreeModel(); if (!editorTreeModel.isVersionUpToDate() && editorTreeModel.getVersion() != migrateTargetVersion){ - upgradeEditorTreeModel(ccourse); - editorTreeModel.setVersion(migrateTargetVersion); - ccourse.setEditorTreeModel(editorTreeModel); - ccourse.saveEditorTreeModel(); + logError("as of OpenOLAT 8, old courses with verison 1 are no longer supported. No migration done! Upgrade to 7.0 first!", null); } Structure runStructure = course.getRunStructure(); if (!runStructure.isVersionUpToDate() && runStructure.getVersion() != migrateTargetVersion){ - upgradeRunStructure(ccourse); - ccourse.getRunStructure().setVersion(migrateTargetVersion); - ccourse.setRunStructure(runStructure); - ccourse.saveRunStructure(); + logError("as of OpenOLAT 8, old courses with verison 1 are no longer supported. No migration done! Upgrade to 7.0 first!", null); } } - private void upgradeRunStructure(ICourse course) { - Structure cR = course.getRunStructure(); - CourseNode rsRootNode = cR.getRootNode(); - final Set<String> allSubTreeids = new HashSet<String>(); - TreeVisitor tv = new TreeVisitor(new Visitor() { - public void visit(INode node) { - allSubTreeids.add(node.getIdent()); - } - }, rsRootNode, true); - tv.visitAll(); - Structure runStructure = course.getRunStructure(); - - int nodeCounter = 0; - for (Iterator<String> iterator2 = allSubTreeids.iterator(); iterator2.hasNext();) { - String nodeId = iterator2.next(); - CourseNode rsn = runStructure.getNode(nodeId); - - // migrate if this node is a Task - if (rsn.getType().equals(TACourseNode.CONF_TASK_TYPE)) { - migrateSingleTask(rsn); - } - // migrate no access text for every node: - migrateSingleAccessDeniedExplanation(rsn); - - // migrate assessment nodes - if (rsn.getType().equals(MS_TYPE)) { - migrateSingleAssessment(rsn); - } - - // migrate course node description - migrateSingleNodeDesc(rsn); - - nodeCounter++; - } - - - logAudit("**** Lazy migration finished for runStructure of course " + course.getResourceableId() + " with a total of " + nodeCounter - + " course node descriptions. ****", null); - - } - private void upgradeEditorTreeModel(ICourse course) { - // EDITOR: get all course nodes - CourseEditorTreeModel cT = course.getEditorTreeModel(); - TreeNode rootNode = cT.getRootNode(); - final Set<String> allSubTreeids = new HashSet<String>(); - TreeVisitor tv = new TreeVisitor(new Visitor() { - public void visit(INode node) { - allSubTreeids.add(node.getIdent()); - } - }, rootNode, true); - tv.visitAll(); - - CourseEditorTreeModel editorTreeModel = course.getEditorTreeModel(); - // EDITOR: loop all course nodes - int nodeCounter = 0; - for (Iterator<String> iterator2 = allSubTreeids.iterator(); iterator2.hasNext();) { - String nodeId = iterator2.next(); - CourseNode cetn = editorTreeModel.getCourseNode(nodeId); - // migrate if this node is a Task - if (cetn.getType().equals(TACourseNode.CONF_TASK_TYPE)) { - migrateSingleTask(cetn); - } - // migrate no access text for every node: - migrateSingleAccessDeniedExplanation(cetn); - - // migrate assessment nodes - if (cetn.getType().equals(MS_TYPE)) { - migrateSingleAssessment(cetn); - } - - // migrate course node description - migrateSingleNodeDesc(cetn); - - nodeCounter++; - - } //for - - logAudit("**** Lazy migration finished for editorTreeModel of course " + course.getResourceableId() + " with a total of " + nodeCounter - + " course node descriptions. ****", null); - } - - private void migrateSingleTask(CourseNode node) { - ModuleConfiguration taskConf = node.getModuleConfiguration(); - String[] allKeys = new String[] { TACourseNode.CONF_TASK_TEXT, MSCourseNode.CONFIG_KEY_INFOTEXT_USER, - MSCourseNode.CONFIG_KEY_INFOTEXT_COACH }; - for (int i = 0; i < allKeys.length; i++) { - String thisKey = allKeys[i]; - String oldDesc = (String) taskConf.get(thisKey); - if (StringHelper.containsNonWhitespace(oldDesc)) { - String newDesc = Formatter.formatWikiMarkup(oldDesc); - taskConf.set(thisKey, newDesc); - } - } - } - - private void migrateSingleAccessDeniedExplanation(CourseNode node) { - String oldDesc = node.getNoAccessExplanation(); - if (StringHelper.containsNonWhitespace(oldDesc)) { - String newDesc = Formatter.formatWikiMarkup(oldDesc); - node.setNoAccessExplanation(newDesc); - } - } - - private void migrateSingleAssessment(CourseNode node) { - ModuleConfiguration modConfig = node.getModuleConfiguration(); - String infoUser = (String) modConfig.get(MSCourseNode.CONFIG_KEY_INFOTEXT_USER); - String newInfoUser = Formatter.formatWikiMarkup(infoUser); - modConfig.set(MSCourseNode.CONFIG_KEY_INFOTEXT_USER, newInfoUser); - String infoCoach = (String) modConfig.get(MSCourseNode.CONFIG_KEY_INFOTEXT_COACH); - String newInfoCoach = Formatter.formatWikiMarkup(infoCoach); - modConfig.set(MSCourseNode.CONFIG_KEY_INFOTEXT_COACH, newInfoCoach); - } - - private void migrateSingleNodeDesc(CourseNode node){ - String oldDesc = node.getLearningObjectives(); - if (StringHelper.containsNonWhitespace(oldDesc)) { - String newDesc = Formatter.formatWikiMarkup(oldDesc); - node.setLearningObjectives(newDesc); - } - } + } diff --git a/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java b/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java index a4d7679ad16ad6562d62995d6b6fb87aeb835ca6..619a3c6861a451f673e415dfe6cebbbadd9fa300 100644 --- a/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java +++ b/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java @@ -32,8 +32,6 @@ import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; -import org.olat.core.gui.formelements.CheckBoxElement; -import org.olat.core.gui.translator.Translator; /** * * Description:<br> diff --git a/src/main/java/org/olat/test/scratch/RadeoxStrikethroughTestMain.java b/src/main/java/org/olat/test/scratch/RadeoxStrikethroughTestMain.java deleted file mode 100644 index c6cae10cb84fe2e8718321fac32f78bf0bc130ce..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/test/scratch/RadeoxStrikethroughTestMain.java +++ /dev/null @@ -1,96 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -*/ - -package org.olat.test.scratch; - -/** - * Description:<br> - * Test driver to test radeox regexp for strikethrough and the multiline / dotall issues - * <P> - * Initial Date: Nov 8, 2005 <br> - * @author gnaegi - */ -public class RadeoxStrikethroughTestMain { - - /** - * @param args - */ - public static void main(String[] args) { - - // origninal radeox stike pattern - String originalPatternString= "([^!-]|^)--(?=.*--)((?:(?:[^-]+)-?)+)--([^-]|$)"; - // modified radeox stike pattern - String modifiedPatternString = "([^-]|^)--([^-$^]+)--([^-]|$)"; - - - String easyText= "--\r\n1234567890----\r\nAnd now --strike-- and now a --multiline \r\nstrike--"; - String complicatedText= "--\r\n12345678901234567890----\r\nAnd now --strike-- and now a --multiline \r\nstrike--"; - String moreComplicatedText= "--\r\n123456789012345678901234567890----\r\nAnd now --strike-it-- and now a --multiline \r\nstrike--\r\nasdf --\r\n--"; - - // works well - doStrikeFilter(modifiedPatternString, easyText); - // performance issue starts - doStrikeFilter(modifiedPatternString, complicatedText); - // does not work at all - doStrikeFilter(modifiedPatternString, moreComplicatedText); - - // now with the original pattern - // works well - doStrikeFilter(originalPatternString, easyText); - // performance issue starts - doStrikeFilter(originalPatternString, complicatedText); - // does not work at all - doStrikeFilter(originalPatternString, moreComplicatedText); - - - } - - private static void doStrikeFilter(String patternString, String text) { - System.out.println("doStrikeFilter(" + patternString + "," + text + ");"); - System.out.println("*** START ***"); - String replacePattern = "$1<strike class=\"strike\">$2</strike>$3"; - - // works well using MULTILINE but not DOTALL - System.out.println("** Using only MULTILINE"); - java.util.regex.Pattern jdkPattern = java.util.regex.Pattern.compile(patternString, java.util.regex.Pattern.MULTILINE); - java.util.regex.Matcher jdkMatcher = jdkPattern.matcher(text); - System.out.println(jdkMatcher.replaceAll(replacePattern)); - - // works sort of, but very, very, very slow - System.out.println("** Using DOTALL but not multiline"); - java.util.regex.Pattern jdkPattern2 = java.util.regex.Pattern.compile(patternString, java.util.regex.Pattern.DOTALL); - java.util.regex.Matcher jdkMatcher2 = jdkPattern2.matcher(text); - System.out.println(jdkMatcher2.replaceAll(replacePattern)); - - // same with radeox code, internaly using DOTALL - System.out.println("** Using RADEOX style, multiline disabled"); - org.radeox.regex.Pattern radeoxPattern = new org.radeox.regex.JdkPattern(patternString, false); - org.radeox.regex.Matcher radeoxMatcher = org.radeox.regex.Matcher.create(text, radeoxPattern); - System.out.println(radeoxMatcher.substitute(replacePattern)); - - System.out.println("** DONE **\n\n"); - } - -} diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_6_2_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_6_2_0.java index c3db7920e93c3e4183e972931817a865d9559e86..e44fe5ae6623b8832f605d1eff77351d94d671ac 100644 --- a/src/main/java/org/olat/upgrade/OLATUpgrade_6_2_0.java +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_6_2_0.java @@ -543,7 +543,8 @@ public class OLATUpgrade_6_2_0 extends OLATUpgrade { if (log.isDebug()) log.audit("Old String before migration:", oldValue); String newValue = ""; - newValue = Formatter.formatWikiMarkup(oldValue); + //newValue = Formatter.formatWikiMarkup(oldValue); + log.warn("no wikiMarkupUpdate is done, OpenOLAT 8 does not support the legacy wiki markup forms!"); if (log.isDebug()) log.audit("New String after migration:", newValue); return newValue; diff --git a/src/main/java/org/olat/user/propertyhandlers/DatePropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/DatePropertyHandler.java index 9549fe73ebc495bc0263ae8aea8e40321868f820..549f4f963622f999b96d8b76532336c62140c57e 100644 --- a/src/main/java/org/olat/user/propertyhandlers/DatePropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/DatePropertyHandler.java @@ -33,8 +33,6 @@ import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormUIFactory; import org.olat.core.gui.components.form.flexible.elements.DateChooser; -import org.olat.core.gui.formelements.DateElement; -import org.olat.core.gui.formelements.FormElement; import org.olat.core.id.User; import org.olat.core.logging.Tracing; import org.olat.core.util.Formatter; @@ -74,14 +72,6 @@ public class DatePropertyHandler extends AbstractUserPropertyHandler { return Formatter.getInstance(locale).formatDate(date); } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormElement(org.olat.core.id.User, org.olat.core.gui.formelements.FormElement) - */ - public void updateUserFromFormElement(User user, FormElement ui) { - String internalValue = getStringValue(ui); - setInternalValue(user, internalValue); - } - /** * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormItem(org.olat.core.id.User, org.olat.core.gui.components.form.flexible.FormItem) */ @@ -90,13 +80,6 @@ public class DatePropertyHandler extends AbstractUserPropertyHandler { setInternalValue(user, internalValue); } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement) - */ - public String getStringValue(FormElement ui) { - Date date = ((DateElement) ui).getDate(); - return encode(date); - } /** * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.components.form.flexible.FormItem) @@ -123,25 +106,6 @@ public class DatePropertyHandler extends AbstractUserPropertyHandler { return null; } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean) - */ - public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) { - // default is no element - UserManager um = UserManager.getInstance(); - DateElement ui = null; - ui = new DateElement(i18nFormElementLabelKey(), locale); - updateFormElementFromUser(ui, user); - if ( ! um.isUserViewReadOnly(usageIdentifyer, this) || isAdministrativeUser) { - ui.setExample(Formatter.getInstance(locale).formatDate(new Date())); - } else { - ui.setReadOnly(true); - } - if (um.isMandatoryUserProperty(usageIdentifyer, this)) { - ui.setMandatory(true); - } - return ui; - } /** * @@ -163,29 +127,7 @@ public class DatePropertyHandler extends AbstractUserPropertyHandler { return dateElem; } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateFormElementFromUser(org.olat.core.gui.formelements.FormElement, org.olat.core.id.User) - */ - public void updateFormElementFromUser(FormElement ui, User user) { - Date date = decode(getInternalValue(user)); - ((DateElement) ui).setDate(date); - } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement) - */ - public boolean isValid(FormElement ui, Map formContext) { - - DateElement uiDate = (DateElement) ui; - - if (uiDate.getValue().length() == 0) { - if (!ui.isMandatory()) return true; - ui.setErrorKey(i18nFormElementLabelKey()+ ".error.empty"); - return false; - } - - return uiDate.validDate(i18nFormElementLabelKey()+ ".error"); - } /** * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map) diff --git a/src/main/java/org/olat/user/propertyhandlers/EmailProperty.java b/src/main/java/org/olat/user/propertyhandlers/EmailProperty.java index 1b8e7557aa059d25cd0f67c4ed6c2fa97ce60b8e..012ecbe03fdcba821e4e3b2c79249ff00bb52720 100644 --- a/src/main/java/org/olat/user/propertyhandlers/EmailProperty.java +++ b/src/main/java/org/olat/user/propertyhandlers/EmailProperty.java @@ -33,8 +33,6 @@ import org.olat.core.gui.components.form.ValidationError; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.impl.elements.ItemValidatorProvider; -import org.olat.core.gui.formelements.FormElement; -import org.olat.core.gui.formelements.TextElement; import org.olat.core.id.Identity; import org.olat.core.id.User; import org.olat.core.util.StringHelper; @@ -122,34 +120,6 @@ public class EmailProperty extends Generic127CharTextPropertyHandler { } - /** - * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement) - */ - @Override - public boolean isValid(FormElement ui, Map formContext) { - // check parent rules first: check if mandatory and empty - if ( ! super.isValid(ui,formContext)) return false; - TextElement uiEmail = (TextElement) ui; - String value = uiEmail.getValue(); - if (StringHelper.containsNonWhitespace(value)) { - // check mail address syntax - if ( ! MailHelper.isValidEmailAddress(value)) { - uiEmail.setErrorKey(i18nFormElementLabelKey() + ".error.valid"); - return false; - } - // Email is syntactically correct. - // Check whether it's available. - if (!uiEmail.isEmpty()) { - if (!isAddressAvailable(value, (String)formContext.get("username"))) { - uiEmail.setErrorKey(i18nFormElementLabelKey() + ".error.exists"); - return false; - } - } - } - // everthing ok - return true; - } - /* (non-Javadoc) * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map) */ diff --git a/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java index a5acd5e63eebde41e12637cb13ef24bf663b3ad3..f703dc92c9514bbfc040bbbe96649e20830e0c7b 100644 --- a/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java @@ -26,8 +26,6 @@ import org.olat.core.gui.components.form.ValidationError; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormUIFactory; -import org.olat.core.gui.formelements.FormElement; -import org.olat.core.gui.formelements.StaticSingleSelectionElement; import org.olat.core.gui.translator.Translator; import org.olat.core.id.User; import org.olat.core.util.Util; @@ -82,14 +80,6 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler { return displayValue; } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormElement(org.olat.core.id.User, org.olat.core.gui.formelements.FormElement) - */ - public void updateUserFromFormElement(User user, FormElement ui) { - String internalValue = getStringValue(ui); - setInternalValue(user, internalValue); - } - /** * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormItem(org.olat.core.id.User, org.olat.core.gui.components.form.flexible.FormItem) */ @@ -98,13 +88,6 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler { setInternalValue(user, internalValue); } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement) - */ - public String getStringValue(FormElement ui) { - return ((StaticSingleSelectionElement) ui).getSelectedKey(); - } - /** * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.components.form.flexible.FormItem) */ @@ -124,22 +107,6 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler { return displayValue; } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean) - */ - public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) { - UserManager um = UserManager.getInstance(); - StaticSingleSelectionElement ui = new StaticSingleSelectionElement(i18nFormElementLabelKey(), keys, getTranslatedValues(locale)); - updateFormElementFromUser(ui, user); - if ( um.isUserViewReadOnly(usageIdentifyer, this) && ! isAdministrativeUser) { - ui.setReadOnly(true); - } - if (um.isMandatoryUserProperty(usageIdentifyer, this)) { - ui.setMandatory(true); - } - return ui; - } - /** * @@ -171,29 +138,6 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler { return (value == null ? "-" : value); // default } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateFormElementFromUser(org.olat.core.gui.formelements.FormElement, org.olat.core.id.User) - */ - public void updateFormElementFromUser(FormElement ui, User user) { - String key = getInternalValue(user); - ((StaticSingleSelectionElement) ui).select(key, true); - } - - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement) - */ - public boolean isValid(FormElement ui, Map formContext) { - if (ui.isMandatory()) { - StaticSingleSelectionElement sse = (StaticSingleSelectionElement) ui; - // when mandatory, the - must not be selected - if (sse.getSelectedKey().equals("-")) { - sse.setErrorKey("gender.error"); - return false; - } - } - return true; - } - /** * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map) */ diff --git a/src/main/java/org/olat/user/propertyhandlers/Generic127CharTextPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/Generic127CharTextPropertyHandler.java index 4b4bf0e26b202549fa32fd5833024b169ab03648..d523d070cb8af9a6d093b205153cc7c35cd5df05 100644 --- a/src/main/java/org/olat/user/propertyhandlers/Generic127CharTextPropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/Generic127CharTextPropertyHandler.java @@ -26,8 +26,6 @@ import org.olat.core.gui.components.form.ValidationError; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormUIFactory; -import org.olat.core.gui.formelements.FormElement; -import org.olat.core.gui.formelements.TextElement; import org.olat.core.id.User; import org.olat.user.AbstractUserPropertyHandler; import org.olat.user.UserManager; @@ -47,13 +45,6 @@ import org.olat.user.UserManager; */ public class Generic127CharTextPropertyHandler extends AbstractUserPropertyHandler { - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormElement(org.olat.core.id.User, org.olat.core.gui.formelements.FormElement) - */ - public void updateUserFromFormElement(User user, FormElement ui) { - String internalValue = getStringValue(ui); - setInternalValue(user, internalValue); - } /** * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormItem(org.olat.core.id.User, org.olat.core.gui.components.form.flexible.FormItem) @@ -63,16 +54,8 @@ public class Generic127CharTextPropertyHandler extends AbstractUserPropertyHandl setInternalValue(user, internalValue); } - - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement) - */ - public String getStringValue(FormElement ui) { - return ((TextElement) ui).getValue(); - } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement) + * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FORMELEMENTOLD) */ public String getStringValue(FormItem formItem) { return ((org.olat.core.gui.components.form.flexible.elements.TextElement) formItem).getValue(); @@ -86,23 +69,6 @@ public class Generic127CharTextPropertyHandler extends AbstractUserPropertyHandl return displayValue; } - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean) - */ - public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) { - // default is no element - TextElement ui = null; - UserManager um = UserManager.getInstance(); - ui = new TextElement(i18nFormElementLabelKey(), getInternalValue(user), 127); - if ( um.isUserViewReadOnly(usageIdentifyer, this) && ! isAdministrativeUser) { - ui.setReadOnly(true); - } - if (um.isMandatoryUserProperty(usageIdentifyer, this)) { - ui.setMandatory(true); - } - return ui; - } - /** * * @see org.olat.user.propertyhandlers.UserPropertyHandler#addFormItem(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean, org.olat.core.gui.components.form.flexible.FormItemContainer) @@ -122,25 +88,6 @@ public class Generic127CharTextPropertyHandler extends AbstractUserPropertyHandl return tElem; } - - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateFormElementFromUser(org.olat.core.gui.formelements.FormElement, org.olat.core.id.User) - */ - public void updateFormElementFromUser(FormElement ui, User user) { - ((TextElement) ui).setValue(getInternalValue(user)); - } - - /** - * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement) - */ - public boolean isValid(FormElement ui, Map formContext) { - TextElement uiText = (TextElement) ui; - if (ui.isMandatory()) { - return uiText.notEmpty(i18nFormElementLabelKey()+ ".error.empty"); - } - return true; - } - /** * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map) */ diff --git a/src/main/java/org/olat/user/propertyhandlers/PhonePropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/PhonePropertyHandler.java index 7ce25ade07641e264a0a4aad59bb8ca2e9984e89..67ebfa6c1c6e5fbbdb2ea8d8fcc03346c63877b6 100644 --- a/src/main/java/org/olat/user/propertyhandlers/PhonePropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/PhonePropertyHandler.java @@ -26,8 +26,6 @@ import java.util.regex.Pattern; import org.olat.core.gui.components.form.ValidationError; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.formelements.FormElement; -import org.olat.core.gui.formelements.TextElement; import org.olat.core.id.User; import org.olat.core.util.StringHelper; @@ -44,16 +42,6 @@ public class PhonePropertyHandler extends Generic127CharTextPropertyHandler { // Regexp to define valid phone numbers private static final Pattern VALID_PHONE_PATTERN_IP = Pattern.compile( "[0-9/\\-+' ]+" ); - /** - * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean) - */ - @Override - public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) { - TextElement ui = (TextElement) super.getFormElement(locale, user, usageIdentifyer, isAdministrativeUser); - ui.setExample("+41 12 345 67 89"); - return ui; - } - /* (non-Javadoc) * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#addFormItem(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean, org.olat.core.gui.components.form.flexible.FormItemContainer) */ @@ -83,27 +71,6 @@ public class PhonePropertyHandler extends Generic127CharTextPropertyHandler { return null; } - /** - * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement) - */ - @Override - public boolean isValid(FormElement ui, Map formContext) { - // check parent rules first: check if mandatory and empty - if ( ! super.isValid(ui, formContext)) return false; - - TextElement uiPhone = (TextElement) ui; - String value = uiPhone.getValue(); - if (StringHelper.containsNonWhitespace(value)) { - // check phone address syntax - if ( ! VALID_PHONE_PATTERN_IP.matcher(value).matches()) { - ui.setErrorKey(i18nFormElementLabelKey()+ ".error.valid"); - return false; - } - } - // everthing ok - return true; - } - /* (non-Javadoc) * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map) */ diff --git a/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java index 7f0bc2e6568d11617b07660af0f8bd7475e99570..a014904dafa406ac9449c0bc3c65e0f128c4152a 100644 --- a/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java @@ -24,8 +24,6 @@ import java.util.Locale; import org.olat.core.gui.components.form.ValidationError; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.formelements.FormElement; -import org.olat.core.gui.formelements.TextElement; import org.olat.core.id.User; import org.olat.core.util.StringHelper; import org.olat.user.UserManager; @@ -62,20 +60,6 @@ public class SkypePropertyHandler extends Generic127CharTextPropertyHandler { return null; } - /** - * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean) - */ - @Override - public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) { - TextElement ui = (TextElement) super.getFormElement(locale, user, usageIdentifyer, isAdministrativeUser); - // skype names are max 32 chars long - ui.setMaxLength(32); - if ( ! UserManager.getInstance().isUserViewReadOnly(usageIdentifyer, this) || isAdministrativeUser) { - ui.setExample("myskypename"); - } - return ui; - } - /* (non-Javadoc) * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValidValue(java.lang.String, org.olat.core.gui.components.form.ValidationError, java.util.Locale) */ diff --git a/src/main/java/org/olat/user/propertyhandlers/URLPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/URLPropertyHandler.java index 6db65397fbeb1e1f11d49e53f6c33fdb1620f666..6b14111717d33a8ed9a82765e35c21b691eca328 100644 --- a/src/main/java/org/olat/user/propertyhandlers/URLPropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/URLPropertyHandler.java @@ -27,8 +27,6 @@ import java.util.Map; import org.olat.core.gui.components.form.ValidationError; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.formelements.FormElement; -import org.olat.core.gui.formelements.TextElement; import org.olat.core.id.User; import org.olat.core.util.StringHelper; import org.olat.user.UserManager; @@ -61,18 +59,6 @@ public class URLPropertyHandler extends Generic127CharTextPropertyHandler { return null; } - /** - * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean) - */ - @Override - public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) { - TextElement ui = (TextElement) super.getFormElement(locale, user, usageIdentifyer, isAdministrativeUser); - if ( ! UserManager.getInstance().isUserViewReadOnly(usageIdentifyer, this) || isAdministrativeUser) { - ui.setExample("http://www.olat.org"); - } - return ui; - } - /* (non-Javadoc) * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#addFormItem(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean, org.olat.core.gui.components.form.flexible.FormItemContainer) */ @@ -85,30 +71,6 @@ public class URLPropertyHandler extends Generic127CharTextPropertyHandler { } return textElement; } - - - - /** - * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement) - */ - @Override - public boolean isValid(FormElement ui, Map formContext) { - // check parent rules first: check if mandatory and empty - if ( ! super.isValid(ui, formContext)) return false; - TextElement uiURL = (TextElement) ui; - String value = uiURL.getValue(); - if (StringHelper.containsNonWhitespace(value)) { - // check url address syntax - try { - new URL(value); - } catch (MalformedURLException e) { - uiURL.setErrorKey(i18nFormElementLabelKey() + ".error.valid"); - return false; - } - } - // everthing ok - return true; - } @Override public boolean isValid(FormItem formItem, Map formContext) { diff --git a/src/main/java/org/olat/user/propertyhandlers/UserPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/UserPropertyHandler.java index 031052ec9e4cc2c7d74dfcc1f817839c91e0c0c9..abfe9fdb97f5888fbefdcda6c016b3f2d16bcf3f 100644 --- a/src/main/java/org/olat/user/propertyhandlers/UserPropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/UserPropertyHandler.java @@ -27,7 +27,6 @@ import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.impl.elements.ItemValidatorProvider; import org.olat.core.gui.components.table.ColumnDescriptor; -import org.olat.core.gui.formelements.FormElement; import org.olat.core.id.User; /** @@ -99,24 +98,6 @@ public interface UserPropertyHandler extends ItemValidatorProvider { * Form handling */ - /** - * Create a (non-flexi) form element for this UserPropertyHandler. The - * usageIdentifyer indicates in which form the element is to be used. - * - * @param locale The current users locale - * @param user The user containing data to be prefilled or NULL if it should - * be left empty - * @param usageIdentifyer The identifyer of the form where this form element - * is used - * @param isAdministrativeUser true: Form element will be set to - * administrative mode. false: the element is set to user mode. In - * some cases the field is then read-only - * @return The form element or NULL if in this context the element is not - * displayed - * @deprecated Use FlexiForms instead of the old forms. - */ - @Deprecated - public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser); /** * Adds a flexi-form Item for this UserPropertyHandler. The usageIdentifyer @@ -136,29 +117,6 @@ public interface UserPropertyHandler extends ItemValidatorProvider { public FormItem addFormItem(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser, FormItemContainer formItemContainer); - /** - * Put the current value from this UserPropertyHandler into the given form - * element - * - * @param ui The form element previously created with the getFormElement - * method - * @param user The user that contains the data - * @deprecated Use FlexiForms instead of the old forms. - */ - @Deprecated - public void updateFormElementFromUser(FormElement ui, User user); - - /** - * Reads the value of the given form element and updates the user - * - * @param user The user to be updated - * @param ui The form element previously created with the getFormElement - * method - * @return The value or NULL - * @deprecated Use FlexiForms instead of the old forms. - */ - @Deprecated - public void updateUserFromFormElement(User user, FormElement ui); /** * Reads the value of the given form item and updates the user @@ -180,20 +138,6 @@ public interface UserPropertyHandler extends ItemValidatorProvider { */ public String i18nFormElementGroupKey(); - /** - * Check if this form is valid - * - * @param ui The form element previously created with the getFormElement - * method - * @param formContext Map containing some variables used in this form context, - * e.g. for cross form value checks. NULL to not use any form context - * variables - * @return true: the entered value is ok; false: the entered value is not - * accepted (Validation error) - * @deprecated Use FlexiForms instead of the old forms. - */ - @Deprecated - public boolean isValid(FormElement ui, Map formContext); /** * Checks if a form item for a property has a valid value and sets the @@ -227,17 +171,6 @@ public interface UserPropertyHandler extends ItemValidatorProvider { */ public boolean isValidValue(String value, ValidationError validationError, Locale locale); - /** - * Get the value from this form element formatted as string. The returned - * value is formatted in a way it can be stored in the database, thus it might - * not be the right value to display to a user. - * - * @param ui - * @return - * @deprecated Use FlexiForms instead of the old forms. - */ - @Deprecated - public String getStringValue(FormElement ui); /** * Get the value from this form item formatted as string. The returned value diff --git a/src/main/resources/radeox_markup_olat.properties b/src/main/resources/radeox_markup_olat.properties deleted file mode 100644 index 557bb53a833dc726a688b42b98424d5a577d7a74..0000000000000000000000000000000000000000 --- a/src/main/resources/radeox_markup_olat.properties +++ /dev/null @@ -1,61 +0,0 @@ -filter.bold.match=(^|>|[\\p{Punct}\\p{Space}]+)\\*(.*?)\\*([\\p{Punct}\\p{Space}]+|<|$) -filter.bold.print=$1<strong>$2</strong>$3 - -##filter.italic.match=(^|>|[\\p{Punct}\\p{Space}]+)_(.*?)_([\\p{Punct}\\p{Space}]+|<|$) -filter.italic.match=(^|>|[\\p{Punct}\\p{Space}]+)'{2}(.*?)'{2}([\\p{Punct}\\p{Space}]+|<|$) -filter.italic.print=$1<em>$2</em>$3 - -filter.newline.match=^(.*)$ -filter.newline.print=$1<br /> -filter.paragraph.match=([ \t\r]*[\n]){2} -#filter.paragraph.print=<p class=\"paragraph\"/> -filter.paragraph.print=<p /> - -filter.strikethrough.match=([^-]|^)--([^-$^]+)--([^-]|$) -filter.strikethrough.print=$1<strike>$2</strike>$3 - -filter.url.match=([^\"'=]|^)((http|ftp)s?://(%[\\p{Digit}A-Fa-f][\\p{Digit}A-Fa-f]|[-_.!~*';/?:@#&=+$,\\p{Alnum}])+) -filter.url.print={0}<a href=\"{1}\" target=\"_blank\" class=\"b_link_extern\">{2}</a> - -filter.line.match=----- -filter.line.print=<hr /> - - - -filter.param.match=\\{\\$([^}]*)\\} - -filter.heading.match=^[\\p{Space}]*(1(\\.1)*)[\\p{Space}]+(.*?)$ -filter.heading.print=<h3 class=\"heading-{0}\">{1}</h3> -filter.list.match=(^[\\p{Space}]*([-#*]+|[-#*]*[iIaA1ghHkKj]+\\.)[\\p{Space}]+([^\r\n]+)[\r\n]*)+ - -filter.mark.match=(^|[[:space:]]+)neotis([[:space:]]?|[.!,:]?|$) -##filter.mark.print=<a href=\"http://neotis.de/\">neotis®</a> -filter.mark.print= - -filter.key.match=((Ctrl|Alt|Shift)-[^ ]*) -filter.key.print=<span class=\"key\">$1</span> - -filter.typography.match=([^.]|^)[.][.][.](?!\\.)( |$) -filter.typography.print=$1…$2 - -filter.linktest.match=\\[(.*?)\\] -filter.escape.match=\\\\(\\\\\\\\)|\\\\(.)|([&<>]) - - -macro.isbn.name=isbn -macro.link.name=link -macro.quote.name=quote -macro.mailto.name=mailto -macro.code.name=code -macro.apidocs.name=api-docs -macro.filepath.name=file-path -macro.api.name=api -macro.asin.name=asin -macro.interwiki.name=inter-wiki -macro.macrolist.name=list-of-macros -macro.rfc.name=rfc -macro.table.name=table -macro.xref.name=xref - -macro.code.start=<pre> -macro.code.end=</pre> \ No newline at end of file diff --git a/src/main/webapp/static/images/emoticicons/angel.gif b/src/main/webapp/static/images/emoticicons/angel.gif deleted file mode 100644 index 7037d07a0e1c424b22215438f50284d7f7031830..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/angel.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/angry.gif b/src/main/webapp/static/images/emoticicons/angry.gif deleted file mode 100644 index f9946b3974a776a5676b745b31b6476961c8eebe..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/angry.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/blushing.gif b/src/main/webapp/static/images/emoticicons/blushing.gif deleted file mode 100644 index f00f25b61c117291f425167afc29369f3c95a187..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/blushing.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/confused.gif b/src/main/webapp/static/images/emoticicons/confused.gif deleted file mode 100644 index 1d296460c201aff98dc281dacc4e0ecdb8b32afb..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/confused.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/cool.gif b/src/main/webapp/static/images/emoticicons/cool.gif deleted file mode 100644 index 3bde1b0b67b802dd79ac7d9512c34b3b2d62070a..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/cool.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/cry.gif b/src/main/webapp/static/images/emoticicons/cry.gif deleted file mode 100644 index 4853968b60b18f3bf5ed7080078832fdc4827a00..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/cry.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/devil.gif b/src/main/webapp/static/images/emoticicons/devil.gif deleted file mode 100644 index 44940fabcbeeb013a9b4c5edf3d9d98606a1417b..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/devil.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/emotic_icons.README b/src/main/webapp/static/images/emoticicons/emotic_icons.README deleted file mode 100644 index af097ce2894b884328410e4a4974861cd61aa62e..0000000000000000000000000000000000000000 --- a/src/main/webapp/static/images/emoticicons/emotic_icons.README +++ /dev/null @@ -1 +0,0 @@ -icons used in the radeox wiki formatter - not cssified \ No newline at end of file diff --git a/src/main/webapp/static/images/emoticicons/grin.gif b/src/main/webapp/static/images/emoticicons/grin.gif deleted file mode 100644 index 63aea4bc6f920dd9294834ab377be5be5bfa7c3f..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/grin.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/kiss.gif b/src/main/webapp/static/images/emoticicons/kiss.gif deleted file mode 100644 index 9d90af0d1c3b8d688a1480ca403f618b800e4459..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/kiss.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/ohoh.gif b/src/main/webapp/static/images/emoticicons/ohoh.gif deleted file mode 100644 index a8fa477bf2ea4208fe07a4cae66d16d1ce0910b1..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/ohoh.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/sad.gif b/src/main/webapp/static/images/emoticicons/sad.gif deleted file mode 100644 index 39e5066f4506ef680278db9188dc1f54a8d69697..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/sad.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/sick.gif b/src/main/webapp/static/images/emoticicons/sick.gif deleted file mode 100644 index ae62e7f498cb2891987319f20bcd59487b69bd9f..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/sick.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/smile.gif b/src/main/webapp/static/images/emoticicons/smile.gif deleted file mode 100644 index bc9783528f7ac8c897b89df598f91bed87703e29..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/smile.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/tongue.gif b/src/main/webapp/static/images/emoticicons/tongue.gif deleted file mode 100644 index f2ab44a93780072ae66300bcb4e79965ad5fd51a..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/tongue.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/ugly.gif b/src/main/webapp/static/images/emoticicons/ugly.gif deleted file mode 100644 index 70e45687cab0cf1e518d7fb584f0b47edbe323ee..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/ugly.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/weird.gif b/src/main/webapp/static/images/emoticicons/weird.gif deleted file mode 100644 index d7a18cef723092a03b610300d279418e8629adf8..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/weird.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/wink.gif b/src/main/webapp/static/images/emoticicons/wink.gif deleted file mode 100644 index 3a884673bce9003689860e219ab0c331c948cc68..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/wink.gif and /dev/null differ diff --git a/src/main/webapp/static/images/emoticicons/worried.gif b/src/main/webapp/static/images/emoticicons/worried.gif deleted file mode 100644 index 15d4809fa91fd7a590843189c152053ec2df798b..0000000000000000000000000000000000000000 Binary files a/src/main/webapp/static/images/emoticicons/worried.gif and /dev/null differ diff --git a/src/main/webapp/static/themes/check_css_icons.sh b/src/main/webapp/static/themes/check_css_icons.sh index 45b0a6f1d47010fba8ae75223e26baabd78c9c77..6b2afdec553ed762da7f1876f9c2bb8d0662f487 100755 --- a/src/main/webapp/static/themes/check_css_icons.sh +++ b/src/main/webapp/static/themes/check_css_icons.sh @@ -20,6 +20,16 @@ THEMEDIR=`pwd` for THEMERAW in $(find . -type d -maxdepth 1 -mindepth 1 \! -name "CVS"); do # remove ./ from THEMERAW, store as theme THEME=${THEMERAW:2} + + # do not check .sass-cache + THEME_SUB=${THEME:0:11} + + if [ $THEME_SUB == ".sass-cache" ] + then + echo "skipping .sass-cache" + continue + fi + cd $THEMEDIR/$THEME # we'll check only the compiled stylesheet file diff --git a/src/main/webapp/static/themes/openolat/compiletheme.sh b/src/main/webapp/static/themes/compiletheme.sh similarity index 57% rename from src/main/webapp/static/themes/openolat/compiletheme.sh rename to src/main/webapp/static/themes/compiletheme.sh index 8d0f0ba1b5610771c50e298b3b71d607bdcf82db..78b244cc44bdbb639fb0ed9afdd49a6a4a49d7a0 100755 --- a/src/main/webapp/static/themes/openolat/compiletheme.sh +++ b/src/main/webapp/static/themes/compiletheme.sh @@ -4,4 +4,4 @@ # can be included into eclipse-project-build (project-properties --> "Builders") # -sass --update . \ No newline at end of file +sass --update --load-path openolat openolat/all openolat/all/modules openolat/print openolat/mobile . \ No newline at end of file diff --git a/src/main/webapp/static/themes/openolat/all/_basemod.scss b/src/main/webapp/static/themes/openolat/all/_basemod.scss index ddedaa4271fc3b5d1d7cf413c547c79e1f95fcf7..adf4b4357f70ae993c49f7e9dd286b5b3dba73bf 100644 --- a/src/main/webapp/static/themes/openolat/all/_basemod.scss +++ b/src/main/webapp/static/themes/openolat/all/_basemod.scss @@ -18,6 +18,7 @@ */ @media all { + html{ min-height:100%;} /** ----------------- MAIN LAYOUT ----------------- **/ /** * (en) Forcing vertical scrollbars in IE8, Firefox, Webkit & Opera @@ -29,8 +30,9 @@ * @valid CSS3 */ body { + min-height:100%; overflow-y:scroll; - background:#ECECEC url('images/sky.png') repeat-x left 88px; + @include bodybg; } #b_page_margins { min-width:740px; @@ -57,7 +59,7 @@ body { position: absolute; bottom: 1em; right: 1em; - background: transparent url(images/arrow_up.png) 0 50% no-repeat; + background: transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat; padding-left: 14px; z-index: 5; } @@ -116,7 +118,7 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor height: auto; min-height:30px; position:relative; - //background:transparent url('images/openolat_logo_header.png') no-repeat 20px 20px; + //background:transparent url('../openolat/images/openolat_logo_header.png') no-repeat 20px 20px; /* the top-navigation */ #b_topnav { @@ -131,12 +133,12 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor width: 10em; } #o_topnav_printview a { - background: url(images/printer.png) no-repeat top right; + background: url(../openolat/images/printer.png) no-repeat top right; padding: 2px 20px 2px 0; margin: 0; } #o_topnav_logout a { - background: url('images/control/control-power.png') no-repeat top right; + background: url('../openolat/images/control/control-power.png') no-repeat top right; padding: 2px 20px 2px 0; margin: 0; font-weight: bold; @@ -182,7 +184,7 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor //active sites &.b_nav_active,&:hover { - a.b_nav_tab_close { background-image: url(images/cross_small_trimmed_blue.png); } + a.b_nav_tab_close { background-image: url(../openolat/images/cross_small_trimmed_blue.png); } @include o-box-shadow(0, -4px,8px -1px, #d3d3d3); background:#fff; } @@ -194,20 +196,20 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor padding-left: 16px; background-repeat: no-repeat; background-position: 0% 50%; - background-image: url('images/application.png'); + background-image: url('../openolat/images/application.png'); } - &.o_site_home > div { background-image: url('images/home.png'); } - &.o_site_admin > div { background-image: url('images/wrench-screwdriver.png'); } - &.o_site_useradmin > div { background-image: url('images/user_conf.png'); } - &.o_site_groupsmanagement > div { background-image: url('images/users_conf.png'); } - &.o_site_repository > div { background-image: url('images/books-stack.png'); } - &.o_site_groups > div { background-image: url('images/users.png'); } - &.site_demo_icon > div { background-image: url('images/information-white.png'); } - &.f_site_library > div { background-image: url('images/library.png'); } - &.o_site_guidemo div { background-image: url('images/light-bulb.png') } + &.o_site_home > div { background-image: url('../openolat/images/home.png'); } + &.o_site_admin > div { background-image: url('../openolat/images/wrench-screwdriver.png'); } + &.o_site_useradmin > div { background-image: url('../openolat/images/user_conf.png'); } + &.o_site_groupsmanagement > div { background-image: url('../openolat/images/users_conf.png'); } + &.o_site_repository > div { background-image: url('../openolat/images/books-stack.png'); } + &.o_site_groups > div { background-image: url('../openolat/images/users.png'); } + &.site_demo_icon > div { background-image: url('../openolat/images/information-white.png'); } + &.f_site_library > div { background-image: url('../openolat/images/library.png'); } + &.o_site_guidemo div { background-image: url('../openolat/images/light-bulb.png') } - &.b_resource_GroupInfoMainController div { background-image: url(images/users.png) } + &.b_resource_GroupInfoMainController div { background-image: url(../openolat/images/users.png) } } @@ -216,12 +218,12 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor margin-right:4px; a.b_nav_tab_close { position: absolute; top: 3px; right: 4px; width: 13px; height: 13px; line-height: 0; padding: 0; margin: 0; - background: transparent url(images/cross_small_trimmed_grey.png) no-repeat right top; + background: transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top; } //active tabs &.b_nav_active,&:hover { - a.b_nav_tab_close { background-image: url(images/cross_small_trimmed_blue.png); } + a.b_nav_tab_close { background-image: url(../openolat/images/cross_small_trimmed_blue.png); } @include o-box-shadow(0, -4px,8px -1px, #d3d3d3); background:#fff; } @@ -345,8 +347,8 @@ div.b_tree { /* the open/close node icons */ - a.b_tree_level_close span { background: url('images/toggle-small.png') no-repeat 0% 50%; padding-right:8px;} - a.b_tree_level_open span { background: url('images/toggle-small-expand.png') no-repeat 0% 50%; padding-right:8px;} + a.b_tree_level_close span { background: url('../openolat/images/toggle-small.png') no-repeat 0% 50%; padding-right:8px;} + a.b_tree_level_open span { background: url('../openolat/images/toggle-small-expand.png') no-repeat 0% 50%; padding-right:8px;} a.b_tree_level_close:hover,a.b_tree_level_open:hover {text-decoration:none;} }// end b_tree @@ -365,7 +367,7 @@ div.b_tree { #b_footer_user { float: left; line-height: 16px; - a.b_ajax {background: url(images/ajax.png) no-repeat; width: 20px; height: 16px; display: block; float: left; } + a.b_ajax {background: url(../openolat/images/ajax.png) no-repeat; width: 20px; height: 16px; display: block; float: left; } } #b_footer_version {float: right; display: block;} #b_footer_powered { text-align: center; width: auto; background: none; a { display: inline; } } @@ -404,8 +406,8 @@ div.b_breadcumb_path { padding: 0; margin: 0; float:left; display: inline; ul { padding: 0; margin: 0; list-style: none; float:left; display: inline; - li { padding: 0 7px 0 14px; margin: 0; list-style: none; float:left; display: inline; background: url(images/breadcrumb-separator.png) no-repeat left center;} - li.b_first { background: url(images/home.png) no-repeat top left; padding-left: 25px;} + li { padding: 0 7px 0 14px; margin: 0; list-style: none; float:left; display: inline; background: url(../openolat/images/breadcrumb-separator.png) no-repeat left center;} + li.b_first { background: url(../openolat/images/home.png) no-repeat top left; padding-left: 25px;} li a { color: #464444; } li span.b_disabled { color: #000; padding: 0 10px 0 0; margin: 0;} } @@ -416,9 +418,9 @@ div.b_breadcumb_content { clear: both; margin-top: 0.5em; padding-top: 0.5em; b div.b_noti { border: 1px solid #E9EAEF; padding: 3px 23px 3px 3px; float: right; display: inline; position: relative; right: 0; font-size: 95%; a.b_contexthelp { position: absolute; top: 2px; right: 2px; } - a.b_noti_unsubscribe_link { background: url(images/mail--minus.png) no-repeat left 50%; padding: 1px 0 1px 20px; } - a.b_noti_subscribe_link { background: url(images/mail--plus.png) no-repeat left 50%; padding: 1px 0 1px 20px; } - a.b_noti_markedread_link { background: url(images/tick.png) no-repeat left 50%; padding: 1px 0 1px 20px;} + a.b_noti_unsubscribe_link { background: url(../openolat/images/mail--minus.png) no-repeat left 50%; padding: 1px 0 1px 20px; } + a.b_noti_subscribe_link { background: url(../openolat/images/mail--plus.png) no-repeat left 50%; padding: 1px 0 1px 20px; } + a.b_noti_markedread_link { background: url(../openolat/images/tick.png) no-repeat left 50%; padding: 1px 0 1px 20px;} } @@ -454,7 +456,7 @@ div.o_catalog { font-size: 95%; padding: 1px 0 1px 20px; border-bottom: 1px solid #EEE; - background: url(images/folder_open.png) 0 50% no-repeat; + background: url(../openolat/images/folder_open.png) 0 50% no-repeat; } div.o_catalog_links { margin-top: 1em; @@ -468,8 +470,8 @@ div.o_catalog { /** -------------- TAGGING ---------------- **/ /* tagging */ - .b_tag_list { background: url(images/tag-label-yellow.png) 0px 3px no-repeat !important; } - .b_tag_icon { background-image: url(images/tag-label-yellow.png); } + .b_tag_list { background: url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important; } + .b_tag_icon { background-image: url(../openolat/images/tag-label-yellow.png); } div.b_tags { @@ -503,14 +505,14 @@ div.o_catalog { a.bit-input input.smallinput { width: 20px; } a.bit-hover { background: #BBCEF1; border: 1px solid #6D95E0; } a.bit-box-focus { background: #598BEC; color: #fff; } - a.bit-box a.closebutton { position: absolute; right: 0; top: 5px ; display: block; width: 7px; height: 7px; font-size: 1px; background: url('images/tag_x.gif'); } + a.bit-box a.closebutton { position: absolute; right: 0; top: 5px ; display: block; width: 7px; height: 7px; font-size: 1px; background: url('../openolat/images/tag_x.gif'); } a.bit-box a.closebutton:hover { background-position: 7px; } a.bit-box a.closebutton:active { outline: none } a.bit-box-focus a.closebutton, a.bit-box-focus a.closebutton:hover { background-position: bottom; } } .b_wizard { - .textbox-outer { background: url(images/tag-label-yellow.png) top left no-repeat; + .textbox-outer { background: url(../openolat/images/tag-label-yellow.png) top left no-repeat; li {margin-left:18px;} } div.holder a.bit-input input { background: #f8f8f8; padding: 0.4em; } } @@ -548,9 +550,9 @@ div.b_ext_elem .x-tree-lines .x-tree-elbow-minus {background-image: url($ico_plu div.b_ext_elem .x-tree-lines .x-tree-elbow-plus {background-image: url($ico_plus);background-position: 50% 50%;} div.b_ext_elem .x-tree-lines .x-tree-elbow-end-minus {background-image: url($ico_plus);background-position: 50% 50%;} div.b_ext_elem .x-tree-lines .x-tree-elbow-end-plus {background-image: url($ico_plus);background-position: 50% 50%;} -div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon { background-image: url(images/folder.png); } -div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon { background-image: url(images/folder_open.png); } -div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon { background-image: url(images/docs/document_plain.png); } +div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon { background-image: url(../openolat/images/folder.png); } +div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon { background-image: url(../openolat/images/folder_open.png); } +div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon { background-image: url(../openolat/images/docs/document_plain.png); } div.b_ext_elem .x-tree-selected a.x-tree-node-anchor { border: 1px dotted #444; text-decoration: none; } div.b_ext_elem .x-tree-node .x-tree-selected { background-color:#FFC266; } diff --git a/src/main/webapp/static/themes/openolat/all/_content.scss b/src/main/webapp/static/themes/openolat/all/_content.scss index 455b9db5d3cb438cb641f0d881762e7fe4922c99..f7d57a64f10f122a2e2d00e23b7db47ca347ab51 100644 --- a/src/main/webapp/static/themes/openolat/all/_content.scss +++ b/src/main/webapp/static/themes/openolat/all/_content.scss @@ -51,8 +51,8 @@ a:hover { color:$basecolor; } -a.b_link_extern { background: transparent url('images/external_link_trimmed.png') no-repeat right top; padding-right:13px;} -.b_link_mailto { background: transparent url('images/mail_small.png') no-repeat left center; padding-left:18px;} +a.b_link_extern { background: transparent url('../openolat/images/external_link_trimmed.png') no-repeat right top; padding-right:13px;} +.b_link_mailto { background: transparent url('../openolat/images/mail_small.png') no-repeat left center; padding-left:18px;} hr { color:#fff; @@ -71,7 +71,7 @@ p { margin: 0 0 1em 0; } /** ----------------- CONTENT CLASSES ----------------- **/ /* content boxes */ -.b_info { background: #E9EAEF url(images/information-white.png) no-repeat 5px 5px; padding: 5px 5px 5px 30px; border:1px solid #C5C4C4; @include o-border-radius(4px);} +.b_info { background: #E9EAEF url(../openolat/images/information-white.png) no-repeat 5px 5px; padding: 5px 5px 5px 30px; border:1px solid #C5C4C4; @include o-border-radius(4px);} .b_note {background: #E2E2E2; padding: 1em; border: 2px #B5B5B5 solid; @include o-border-radius(4px);} .b_important {background: #FFF1A4; padding: 1em; border: 2px #F4D000 solid; @include o-border-radius(4px);} .b_warning {background: #FFD5AA; padding: 1em; border: 2px #FF9E3E solid; @include o-border-radius(4px);} @@ -111,7 +111,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac /* HELP, context sensitive */ div.b_contexthelp_wrapper { position: relative; } - a.b_contexthelp { display: block; width: 16px; height: 16px; background: url(images/help.png) no-repeat; line-height: 0; cursor: help; } + a.b_contexthelp { display: block; width: 16px; height: 16px; background: url(../openolat/images/help.png) no-repeat; line-height: 0; cursor: help; } div.b_contexthelp_wrapper a.b_contexthelp { position: absolute; top: 0; right: 0; } fieldset a.b_contexthelp, fieldset div.b_contexthelp_wrapper a.b_contexthelp { position: absolute; top: -1.5em; right: -0.8em; } #b_contexthelp {} @@ -125,7 +125,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac td { width: 50%; } } } - .b_contexthelp_icon {background-image: url(images/help.png); } + .b_contexthelp_icon {background-image: url(../openolat/images/help.png); } @@ -138,7 +138,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac div.b_rating_personal { background: #fff; z-index: 5; } } - div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments { background: url(images/comment.png) 3px 50% no-repeat; padding: 3px 0 1px 23px; vertical-align: middle; min-height: 18px;} + div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments { background: url(../openolat/images/comment.png) 3px 50% no-repeat; padding: 3px 0 1px 23px; vertical-align: middle; min-height: 18px;} div.b_comments { font-size: 0.9em; @@ -147,7 +147,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac border:1px solid #eee; padding: 10px 10px 5px 10px; margin-bottom: 2em; background: #fbfbfb; @include o-border-radius(4px); div.b_avatar img { border: 1px solid #aaa; } - h5 { font-size: 1em; background: url(images/user.png) 0 50% no-repeat; padding: 1px 0 1px 20px; vertical-align: middle; min-height: 16px;} + h5 { font-size: 1em; background: url(../openolat/images/user.png) 0 50% no-repeat; padding: 1px 0 1px 20px; vertical-align: middle; min-height: 16px;} span.b_date { color: #aaaaaa; font-weight: normal; display: block; margin-top: 5px;} // wrapper in wrapper in wrapper in .... @@ -161,7 +161,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac } } - .b_comment_icon {background-image: url(images/comment.png);} + .b_comment_icon {background-image: url(../openolat/images/comment.png);} #b_comment_form_link {font-size: 0.9em; position: relative; top: -15px; left: 23px;} /* DATE COMPONENT */ @@ -183,11 +183,11 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac div.b_rating_items { vertical-align: middle; line-height: 18px; a { float: left; display: inline; width: 16px; height: 16px; background-repeat: no-repeat; background-position: 0 0; margin: 1px 4px 1px 0} - a.b_rating_item_on { background-image: url(images/star.png); } - a.b_rating_item_off { background-image: url(images/star_grey.png); } + a.b_rating_item_on { background-image: url(../openolat/images/star.png); } + a.b_rating_item_off { background-image: url(../openolat/images/star_grey.png); } a:hover {cursor: default;} &.b_enabled a:hover {cursor: pointer;} - &.b_enabled a.b_rating_item_off:hover { background-image: url(images/star.png);} + &.b_enabled a.b_rating_item_off:hover { background-image: url(../openolat/images/star.png);} } div.b_rating_explanation { clear: both; font-size: 90%; } } diff --git a/src/main/webapp/static/themes/openolat/all/_dd.scss b/src/main/webapp/static/themes/openolat/all/_dd.scss index 85281d5bb0a7ed7da639d9cb58251ce1d5df8af5..d35fe86acfaf80e39d6ec97c8b7b3f95f99bed43 100644 --- a/src/main/webapp/static/themes/openolat/all/_dd.scss +++ b/src/main/webapp/static/themes/openolat/all/_dd.scss @@ -17,7 +17,7 @@ .b_dd_proxy { opacity: 0.4; -moz-opacity: 0.4; filter: alpha(opacity=40); } .b_dd_item.b_dd_over { background-color: #ffff60; } .b_dd_sibling { height:3px; width:100%; } -.b_dd_sibling.b_dd_over { background:transparent url(images/arrow_dd.png) top left no-repeat; } +.b_dd_sibling.b_dd_over { background:transparent url(../openolat/images/arrow_dd.png) top left no-repeat; } div.b_dd_ct { div.b_dd_sibling_l1 { margin-left:0 !important; } diff --git a/src/main/webapp/static/themes/openolat/all/_definitions.scss b/src/main/webapp/static/themes/openolat/all/_definitions.scss index 2513723498ce78298d683bf6bbaf844dc1441786..8e86156753dd1143f6a8d0e452dc404710567b63 100644 --- a/src/main/webapp/static/themes/openolat/all/_definitions.scss +++ b/src/main/webapp/static/themes/openolat/all/_definitions.scss @@ -2,6 +2,7 @@ * ================================================= * * CONTAINS SOME SASS VARIABLES +* you can change these and compile the theme :) * * @author strentini, sergio.trentini@frentix.com, www.frentix.com * @date Nov. 2011 @@ -13,15 +14,22 @@ */ -// the base-color (for openolat-theme this is the openolat-blue) +/* the base-color and variations (for openolat-theme this is the openolat-blue) */ $basecolor: #025D8C; $basecolor_light : #94bed3; $basecolor_ultra_light : #f3feff; + +/* then we need a base-gray and some variations */ $basegray: #555; $basegray_light: #777; $basegray_ultra_light: #eee; +$ico_plus : '../openolat/images/toggle-small-expand.png' ; +$ico_minus : '../openolat/images/toggle-small.png' ; + + +@mixin bodybg(){ + background: #ECECEC url('../openolat/images/sky.png') repeat-x left 88px; +} -$ico_plus : 'images/toggle-small-expand.png' ; -$ico_minus : 'images/toggle-small.png' ; \ No newline at end of file diff --git a/src/main/webapp/static/themes/openolat/all/_icons.scss b/src/main/webapp/static/themes/openolat/all/_icons.scss index 63c53724205529f7386f4965ebd1e32891a64b7a..dd3c298d134a05e08f53c068a11614e38e65bce7 100644 --- a/src/main/webapp/static/themes/openolat/all/_icons.scss +++ b/src/main/webapp/static/themes/openolat/all/_icons.scss @@ -45,226 +45,228 @@ option.b_with_small_icon_left { } /* ------- misc icons --------- */ -.b_info_icon { background-image: url(images/comment.png)} -.b_warn_icon { background-image: url(images/exclamation.png)} -.b_error_icon { background-image: url(images/cross-circle.png)} -.b_new_icon { background-image: url(images/new-text.png)} -.b_institution_icon { background-image: url(images/home.png) } -.b_group_icon { background-image: url(images/users.png) } -.b_user_icon { background-image: url(images/user.png) } -.b_move_left_icon { background-image: url(images/arrow_left_big.png); } -.b_move_right_icon { background-image: url(images/arrow_right_big.png);} -.b_move_down_icon { background-image: url(images/arrow_down_big.png); } -.b_move_up_icon { background-image: url(images/arrow_up_big.png); } -.b_delete_icon { background-image: url(images/cross-script.png); } -.b_share_icon { background-image: url(images/share.png); } -.b_status_enabled_icon { background-image: url(images/tick.png) } -.b_status_disabled_icon { background-image: url(images/cross.png) } -.b_edit_icon{ background-image: url(images/docs/document--pencil.png); } -.b_add_icon { background-image: url(images/plus-circle.png); } -.b_open_icon { background-image: url(images/control/control.png); } +.b_info_icon { background-image: url('../openolat/images/comment.png')} +.b_warn_icon { background-image: url('../openolat/images/exclamation.png')} +.b_error_icon { background-image: url('../openolat/images/cross-circle.png')} +.b_new_icon { background-image: url('../openolat/images/new-text.png')} +.b_institution_icon { background-image: url('../openolat/images/home.png') } +.b_group_icon { background-image: url('../openolat/images/users.png') } +.b_user_icon { background-image: url('../openolat/images/user.png') } +.b_move_left_icon { background-image: url('../openolat/images/arrow_left_big.png'); } +.b_move_right_icon { background-image: url('../openolat/images/arrow_right_big.png');} +.b_move_down_icon { background-image: url('../openolat/images/arrow_down_big.png'); } +.b_move_up_icon { background-image: url('../openolat/images/arrow_up_big.png'); } +.b_delete_icon { background-image: url('../openolat/images/cross-script.png'); } +.b_share_icon { background-image: url('../openolat/images/share.png'); } +.b_status_enabled_icon { background-image: url('../openolat/images/tick.png') } +.b_status_disabled_icon { background-image: url('../openolat/images/cross.png') } +.b_edit_icon{ background-image: url('../openolat/images/docs/document--pencil.png'); } +.b_add_icon { background-image: url('../openolat/images/plus-circle.png'); } +.b_open_icon { background-image: url('../openolat/images/control/control.png'); } -.o_fulltext_search_button { background-image: url('images/magnifier-zoom.png'); } +.o_fulltext_search_button { background-image: url('../openolat/images/magnifier-zoom.png'); } -.o_help_icon { background-image: url(images/help.png); } -.o_rss_icon { background-image: url(images/feed.png); } -.o_login_guests {background-image: url(images/user_silhouette.png);} -.o_login_pwd {background-image: url(images/user_excl.png);} -.o_login_register {background-image: url(images/user_register.png);} -.o_news_icon { background-image: url(../images/olat/information.png); } -.o_course_icon { background-image: url(images/le_resources/book-open-text-image.png); } -.o_chat_icon { background-image: url(../images/olat/chat_icon.png); } -.o_admin_icon { background-image: url(images/wrench-screwdriver.png); } -.o_calendar_icon { background-image: url(images/calendar.png); } +.o_help_icon { background-image: url('../openolat/images/help.png'); } +.o_rss_icon { background-image: url('../openolat/images/feed.png'); } +.o_login_guests {background-image: url('../openolat/images/user_silhouette.png');} +.o_login_pwd {background-image: url('../openolat/images/user_excl.png');} +.o_login_register {background-image: url('../openolat/images/user_register.png');} +.o_news_icon { background-image: url('../images/olat/information.png'); } +.o_course_icon { background-image: url('../openolat/images/le_resources/book-open-text-image.png'); } +.o_chat_icon { background-image: url('../images/olat/chat_icon.png'); } +.o_admin_icon { background-image: url('../openolat/images/wrench-screwdriver.png'); } +.o_calendar_icon { background-image: url('../openolat/images/calendar.png'); } + + /** ------- FLAGS ------ **/ -.b_flag_en {background-image: url(images/flags/gb.png)} -.b_flag_de {background-image: url(images/flags/de.png)} -.b_flag_fr {background-image: url(images/flags/fr.png)} -.b_flag_it {background-image: url(images/flags/it.png)} -.b_flag_es {background-image: url(images/flags/es.png)} -.b_flag_da {background-image: url(images/flags/dk.png)} -.b_flag_cs {background-image: url(images/flags/cz.png)} -.b_flag_el {background-image: url(images/flags/gr.png)} -.b_flag_ru {background-image: url(images/flags/ru.png)} -.b_flag_pl {background-image: url(images/flags/pl.png)} -.b_flag_zh_CN {background-image: url(images/flags/cn.png)} -.b_flag_zh_TW {background-image: url(images/flags/tw.png)} -.b_flag_lt {background-image: url(images/flags/lt.png)} -.b_flag_fa {background-image: url(images/flags/ir.png)} -.b_flag_pt_PT {background-image: url(images/flags/pt.png)} -.b_flag_pt_BR {background-image: url(images/flags/br.png)} -.b_flag_tr {background-image: url(images/flags/tr.png)} -.b_flag_hu {background-image: url(images/flags/hu.png)} -.b_flag_sq {background-image: url(images/flags/al.png)} -.b_flag_in {background-image: url(images/flags/id.png)} -.b_flag_ar {background-image: url(images/flags/eg.png)} -.b_flag_rm {background-image: url(images/flags/rm.png)} -.b_flag_af {background-image: url(images/flags/za.png)} -.b_flag_vi {background-image: url(images/flags/vn.png)} -.b_flag_mn {background-image: url(images/flags/mn.png)} -.b_flag_iw {background-image: url(images/flags/il.png)} -.b_flag_ko {background-image: url(images/flags/kr.png)} -.b_flag_nl_NL {background-image: url(images/flags/nl.png)} -.b_flag_jp {background-image: url(images/flags/jp.png)} -.b_flag_nb_NO {background-image: url(images/flags/no.png)} -.b_flag_et_EE {background-image: url(images/flags/ee.png)} -.b_flag_bg {background-image: url(images/flags/bg.png)} -.b_flag_hi_IN_ASIA {background-image: url(images/flags/in.png)} -.b_flag_ar_LB {background-image: url(images/flags/lb.png)} -.b_flag_de_FX_business {background-image: url(images/flags/de.png)} -.b_flag_de_FX_school {background-image: url(images/flags/de.png)} -.b_flag_en_FX_business {background-image: url(images/flags/gb.png)} -.b_flag_en_FX_school {background-image: url(images/flags/gb.png)} +.b_flag_en {background-image: url('../openolat/images/flags/gb.png');} +.b_flag_de {background-image: url('../openolat/images/flags/de.png');} +.b_flag_fr {background-image: url('../openolat/images/flags/fr.png');} +.b_flag_it {background-image: url('../openolat/images/flags/it.png');} +.b_flag_es {background-image: url('../openolat/images/flags/es.png');} +.b_flag_da {background-image: url('../openolat/images/flags/dk.png');} +.b_flag_cs {background-image: url('../openolat/images/flags/cz.png');} +.b_flag_el {background-image: url('../openolat/images/flags/gr.png');} +.b_flag_ru {background-image: url('../openolat/images/flags/ru.png');} +.b_flag_pl {background-image: url('../openolat/images/flags/pl.png');} +.b_flag_zh_CN {background-image: url('../openolat/images/flags/cn.png');} +.b_flag_zh_TW {background-image: url('../openolat/images/flags/tw.png');} +.b_flag_lt {background-image: url('../openolat/images/flags/lt.png');} +.b_flag_fa {background-image: url('../openolat/images/flags/ir.png');} +.b_flag_pt_PT {background-image: url('../openolat/images/flags/pt.png');} +.b_flag_pt_BR {background-image: url('../openolat/images/flags/br.png');} +.b_flag_tr {background-image: url('../openolat/images/flags/tr.png');} +.b_flag_hu {background-image: url('../openolat/images/flags/hu.png');} +.b_flag_sq {background-image: url('../openolat/images/flags/al.png');} +.b_flag_in {background-image: url('../openolat/images/flags/id.png');} +.b_flag_ar {background-image: url('../openolat/images/flags/eg.png');} +.b_flag_rm {background-image: url('../openolat/images/flags/rm.png');} +.b_flag_af {background-image: url('../openolat/images/flags/za.png');} +.b_flag_vi {background-image: url('../openolat/images/flags/vn.png');} +.b_flag_mn {background-image: url('../openolat/images/flags/mn.png');} +.b_flag_iw {background-image: url('../openolat/images/flags/il.png');} +.b_flag_ko {background-image: url('../openolat/images/flags/kr.png');} +.b_flag_nl_NL {background-image: url('../openolat/images/flags/nl.png');} +.b_flag_jp {background-image: url('../openolat/images/flags/jp.png');} +.b_flag_nb_NO {background-image: url('../openolat/images/flags/no.png');} +.b_flag_et_EE {background-image: url('../openolat/images/flags/ee.png');} +.b_flag_bg {background-image: url('../openolat/images/flags/bg.png');} +.b_flag_hi_IN_ASIA {background-image: url('../openolat/images/flags/in.png');} +.b_flag_ar_LB {background-image: url('../openolat/images/flags/lb.png');} +.b_flag_de_FX_business {background-image: url('../openolat/images/flags/de.png');} +.b_flag_de_FX_school {background-image: url('../openolat/images/flags/de.png');} +.b_flag_en_FX_business {background-image: url('../openolat/images/flags/gb.png');} +.b_flag_en_FX_school {background-image: url('../openolat/images/flags/gb.png');} /** ------- FILE TYPES ------- **/ /* first the default that is used as base class. will be overriden by following classes */ -.b_filetype_file ,.b_filetype_ico { background-image: url(images/docs/document_plain.png) ! important; } +.b_filetype_file ,.b_filetype_ico { background-image: url('../openolat/images/docs/document_plain.png') ! important; } /* filesystem icons, mark important to override ext definitions */ -.b_filetype_avi_icon { background-image: url(images/docs/document-film.png) ! important; } -.b_filetype_bat_icon { background-image: url(images/docs/document-binary.png) ! important; } -.b_filetype_bmp { background-image: url(images/docs/document-image.png) ! important; } -.b_filetype_css, { background-image: url(images/docs/document_tags.png) ! important; } -.b_filetype_doc, .b_filetype_docx { background-image: url(images/docs/document-word.png) ! important; } -.b_filetype_dvi { background-image: url(images/docs/document-film.png) ! important; } -.b_filetype_exe { background-image: url(images/docs/document-binary.png) ! important; } -div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder, .b_filetype_folder_open { background-image: url(images/folder_open.png) ! important; } -.b_filetype_folder { background-image: url(images/folder.png) ! important; } -.b_filetype_gif { background-image: url(images/docs/document-image.png) ! important; } -.b_filetype_gz { background-image: url(images/docs/document-zipper.png) ! important; } -.b_filetype_htm, .b_filetype_html { background-image: url(images/docs/document_tags.png) ! important; } -.b_filetype_jpeg, .b_filetype_jpg { background-image: url(images/docs/document-image.png) ! important; } -.b_filetype_js { background-image: url(images/docs/document_tags.png) ! important; } -.b_filetype_log { background-image: url(images/docs/document_plain.png) ! important; } -.b_filetype_midi { background-image: url(images/docs/document-music.png) ! important; } -.b_filetype_mov { background-image: url(images/docs/document-film.png) ! important; } -.b_filetype_mp3,.b_filetype_m3u { background-image: url(images/docs/document-music.png) ! important; } -.b_filetype_mpeg,.b_filetype_mpg { background-image: url(images/docs/document-film.png) ! important; } -.b_filetype_odp { background-image: url(images/docs/document-powerpoint.png) ! important; } -.b_filetype_ods { background-image: url(images/docs/document-excel.png) ! important; } -.b_filetype_odt { background-image: url(images/docs/document-text.png) ! important; } -.b_filetype_odg { background-image: url(images/docs/document-image.png) ! important; } -.b_filetype_odf { background-image: url(images/docs/document_plain.png) ! important; } -.b_filetype_pdf { background-image: url(images/docs/document-pdf.png) ! important; } -.b_filetype_png { background-image: url(images/docs/document-image.png) ! important; } -.b_filetype_ppt { background-image: url(images/docs/document-powerpoint.png) ! important; } -.b_filetype_pptx { background-image: url(images/docs/document-powerpoint.png) ! important; } -.b_filetype_ps { background-image: url(images/docs/document-pdf.png) ! important; } -.b_filetype_qt,.b_filetype_ra,.b_filetype_ram { background-image: url(images/docs/document-film.png) ! important; } -.b_filetype_readme, .b_filetype_README { background-image: url(images/docs/document-text.png) ! important; } -.b_filetype_rtf { background-image: url(images/docs/document-word.png) ! important; } -.b_filetype_tar,.b_filetype_tgz { background-image: url(images/docs/document-zipper.png) ! important; } -.b_filetype_tiff { background-image: url(images/docs/document-image.png) ! important; } -.b_filetype_txt { background-image: url(images/docs/document-text.png) ! important; } -.b_filetype_wav { background-image: url(images/docs/document-music.png) ! important; } -.b_filetype_xls, .b_filetype_xlsx { background-image: url(images/docs/document-excel.png) ! important; } -.b_filetype_xml{ background-image: url(images/docs/document_tags.png) ! important; } -.b_filetype_xsl { background-image: url(images/docs/document_tags.png) ! important; } -.b_filetype_zip { background-image: url(images/docs/document-zipper.png) ! important; } +.b_filetype_avi_icon { background-image: url('../openolat/images/docs/document-film.png') ! important; } +.b_filetype_bat_icon { background-image: url('../openolat/images/docs/document-binary.png') ! important; } +.b_filetype_bmp { background-image: url('../openolat/images/docs/document-image.png') ! important; } +.b_filetype_css, { background-image: url('../openolat/images/docs/document_tags.png') ! important; } +.b_filetype_doc, .b_filetype_docx { background-image: url('../openolat/images/docs/document-word.png') ! important; } +.b_filetype_dvi { background-image: url('../openolat/images/docs/document-film.png') ! important; } +.b_filetype_exe { background-image: url('../openolat/images/docs/document-binary.png') ! important; } +div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder, .b_filetype_folder_open { background-image: url('../openolat/images/folder_open.png') ! important; } +.b_filetype_folder { background-image: url('../openolat/images/folder.png') ! important; } +.b_filetype_gif { background-image: url('../openolat/images/docs/document-image.png') ! important; } +.b_filetype_gz { background-image: url('../openolat/images/docs/document-zipper.png') ! important; } +.b_filetype_htm, .b_filetype_html { background-image: url('../openolat/images/docs/document_tags.png') ! important; } +.b_filetype_jpeg, .b_filetype_jpg { background-image: url('../openolat/images/docs/document-image.png') ! important; } +.b_filetype_js { background-image: url('../openolat/images/docs/document_tags.png') ! important; } +.b_filetype_log { background-image: url('../openolat/images/docs/document_plain.png') ! important; } +.b_filetype_midi { background-image: url('../openolat/images/docs/document-music.png') ! important; } +.b_filetype_mov { background-image: url('../openolat/images/docs/document-film.png') ! important; } +.b_filetype_mp3,.b_filetype_m3u { background-image: url('../openolat/images/docs/document-music.png') ! important; } +.b_filetype_mpeg,.b_filetype_mpg { background-image: url('../openolat/images/docs/document-film.png') ! important; } +.b_filetype_odp { background-image: url('../openolat/images/docs/document-powerpoint.png') ! important; } +.b_filetype_ods { background-image: url('../openolat/images/docs/document-excel.png') ! important; } +.b_filetype_odt { background-image: url('../openolat/images/docs/document-text.png') ! important; } +.b_filetype_odg { background-image: url('../openolat/images/docs/document-image.png') ! important; } +.b_filetype_odf { background-image: url('../openolat/images/docs/document_plain.png') ! important; } +.b_filetype_pdf { background-image: url('../openolat/images/docs/document-pdf.png') ! important; } +.b_filetype_png { background-image: url('../openolat/images/docs/document-image.png') ! important; } +.b_filetype_ppt { background-image: url('../openolat/images/docs/document-powerpoint.png') ! important; } +.b_filetype_pptx { background-image: url('../openolat/images/docs/document-powerpoint.png') ! important; } +.b_filetype_ps { background-image: url('../openolat/images/docs/document-pdf.png') ! important; } +.b_filetype_qt,.b_filetype_ra,.b_filetype_ram { background-image: url('../openolat/images/docs/document-film.png') ! important; } +.b_filetype_readme, .b_filetype_README { background-image: url('../openolat/images/docs/document-text.png') ! important; } +.b_filetype_rtf { background-image: url('../openolat/images/docs/document-word.png') ! important; } +.b_filetype_tar,.b_filetype_tgz { background-image: url('../openolat/images/docs/document-zipper.png') ! important; } +.b_filetype_tiff { background-image: url('../openolat/images/docs/document-image.png') ! important; } +.b_filetype_txt { background-image: url('../openolat/images/docs/document-text.png') ! important; } +.b_filetype_wav { background-image: url('../openolat/images/docs/document-music.png') ! important; } +.b_filetype_xls, .b_filetype_xlsx { background-image: url('../openolat/images/docs/document-excel.png') ! important; } +.b_filetype_xml{ background-image: url('../openolat/images/docs/document_tags.png') ! important; } +.b_filetype_xsl { background-image: url('../openolat/images/docs/document_tags.png') ! important; } +.b_filetype_zip { background-image: url('../openolat/images/docs/document-zipper.png') ! important; } /* tab icons in nav and in LE-resources table*/ // the default -li.b_nav_site div, li.b_nav_tab div { background: url(images/application.png) no-repeat left 50%; padding-left: 18px; } +li.b_nav_site div, li.b_nav_tab div { background: url('../openolat/images/application.png') no-repeat left 50%; padding-left: 18px; } // the others -li.b_resource_BusinessGroup div, .o_BusinessGroup_icon { background-image: url(images/users.png) } -li.b_resource_CourseModule div, .o_CourseModule_icon { background-image: url(images/le_resources/book-open-text-image.png) } -li.b_resource_HOMEPAGECONFIG div, .o_HOMEPAGECONFIG_icon, li.b_resource_Identity div { background-image: url(../images/olat/vcard.png) } -li.b_resource_FileResource-SHAREDFOLDER div, .o_FileResource-SHAREDFOLDER_icon { background-image: url(images/folder_shared.png) } -li.b_resource_FileResource-WIKI div, .o_FileResource-WIKI_icon { background-image: url(images/le_resources/wiki.png) } -li.b_resource_FileResource-PODCAST div, .o_FileResource-PODCAST_icon { background-image: url(images/le_resources/media-player-cast.png) } -li.b_resource_FileResource-BLOG div, .o_FileResource-BLOG_icon { background-image: url(images/le_resources/blog.png) } -li.b_resource_FileResource-MOVIE div, .o_FileResource-MOVIE_icon { background-image: url(images/docs/document-film.png) } -li.b_resource_FileResource-PDF div, .o_FileResource-PDF_icon { background-image: url(images/docs/document-pdf.png) } -li.b_resource_FileResource-PPT div, .o_FileResource-PPT_icon { background-image: url(images/docs/document-powerpoint.png) } -li.b_resource_FileResource-DOC div, .o_FileResource-DOC_icon { background-image: url(images/docs/document-word.png) } -li.b_resource_FileResource-IMSCP div, .o_FileResource-IMSCP_icon { background-image: url(images/le_resources/book-open-text-image-red.png) } -li.b_resource_FileResource-SCORMCP div, .o_FileResource-SCORMCP_icon { background-image: url(images/le_resources/book-open-text-image-s.png) } -li.b_resource_FileResource-FILE div, .o_FileResource-FILE_icon { background-image: url(images/docs/document_plain.png) } -li.b_resource_FileResource-IMAGE div, .o_FileResource-IMAGE_icon { background-image: url(images/docs/document-image.png) } -li.b_resource_FileResource-SOUND div, .o_FileResource-SOUND_icon { background-image: url(images/docs/document-music.png) } -li.b_resource_FileResource-XLS div, .o_FileResource-XLS_icon { background-image: url(images/docs/document-excel.png) } -li.b_resource_FileResource-ANIM div, .o_FileResource-ANIM_icon { background-image: url(images/docs/document-image.png) } -li.b_resource_FileResource-SURVEY div, .o_FileResource-SURVEY_icon { background-image: url(images/le_resources/survey.png) } -li.b_resource_FileResource-TEST div, .o_FileResource-TEST_icon { background-image: url(images/le_resources/test.png) } -li.b_resource_FileResource-GLOSSARY div, .o_FileResource-GLOSSARY_icon { background-image: url(images/le_resources/glossary.png) } -li.b_resource_org-olat-search-ui-SearchController div, .o_org-olat-search-ui-SearchController_icon { background-image: url(images/magnifier-zoom.png) } -li.b_resource_EPStructuredMapTemplate div { background-image: url(images/le_resources/portfolio.png) } +li.b_resource_BusinessGroup div, .o_BusinessGroup_icon { background-image: url('../openolat/images/users.png') } +li.b_resource_CourseModule div, .o_CourseModule_icon { background-image: url('../openolat/images/le_resources/book-open-text-image.png') } +li.b_resource_HOMEPAGECONFIG div, .o_HOMEPAGECONFIG_icon, li.b_resource_Identity div { background-image: url('../images/olat/vcard.png') } +li.b_resource_FileResource-SHAREDFOLDER div, .o_FileResource-SHAREDFOLDER_icon { background-image: url('../openolat/images/folder_shared.png') } +li.b_resource_FileResource-WIKI div, .o_FileResource-WIKI_icon { background-image: url('../openolat/images/le_resources/wiki.png') } +li.b_resource_FileResource-PODCAST div, .o_FileResource-PODCAST_icon { background-image: url('../openolat/images/le_resources/media-player-cast.png') } +li.b_resource_FileResource-BLOG div, .o_FileResource-BLOG_icon { background-image: url('../openolat/images/le_resources/blog.png') } +li.b_resource_FileResource-MOVIE div, .o_FileResource-MOVIE_icon { background-image: url('../openolat/images/docs/document-film.png') } +li.b_resource_FileResource-PDF div, .o_FileResource-PDF_icon { background-image: url('../openolat/images/docs/document-pdf.png') } +li.b_resource_FileResource-PPT div, .o_FileResource-PPT_icon { background-image: url('../openolat/images/docs/document-powerpoint.png') } +li.b_resource_FileResource-DOC div, .o_FileResource-DOC_icon { background-image: url('../openolat/images/docs/document-word.png') } +li.b_resource_FileResource-IMSCP div, .o_FileResource-IMSCP_icon { background-image: url('../openolat/images/le_resources/book-open-text-image-red.png') } +li.b_resource_FileResource-SCORMCP div, .o_FileResource-SCORMCP_icon { background-image: url('../openolat/images/le_resources/book-open-text-image-s.png') } +li.b_resource_FileResource-FILE div, .o_FileResource-FILE_icon { background-image: url('../openolat/images/docs/document_plain.png') } +li.b_resource_FileResource-IMAGE div, .o_FileResource-IMAGE_icon { background-image: url('../openolat/images/docs/document-image.png') } +li.b_resource_FileResource-SOUND div, .o_FileResource-SOUND_icon { background-image: url('../openolat/images/docs/document-music.png') } +li.b_resource_FileResource-XLS div, .o_FileResource-XLS_icon { background-image: url('../openolat/images/docs/document-excel.png') } +li.b_resource_FileResource-ANIM div, .o_FileResource-ANIM_icon { background-image: url('../openolat/images/docs/document-image.png') } +li.b_resource_FileResource-SURVEY div, .o_FileResource-SURVEY_icon { background-image: url('../openolat/images/le_resources/survey.png') } +li.b_resource_FileResource-TEST div, .o_FileResource-TEST_icon { background-image: url('../openolat/images/le_resources/test.png') } +li.b_resource_FileResource-GLOSSARY div, .o_FileResource-GLOSSARY_icon { background-image: url('../openolat/images/le_resources/glossary.png') } +li.b_resource_org-olat-search-ui-SearchController div, .o_org-olat-search-ui-SearchController_icon { background-image: url('../openolat/images/magnifier-zoom.png') } +li.b_resource_EPStructuredMapTemplate div { background-image: url('../openolat/images/le_resources/portfolio.png') } /* ------ TOOLBOX ICONS -------- */ -li a.o_toolbox_course { background-image: url(images/le_resources/book-open-text-image.png); } -li a.o_toolbox_content { background-image: url(images/le_resources/book-open-text-image-red.png); } -li a.o_toolbox_scorm { background-image: url(images/le_resources/book-open-text-image-s.png); } -li a.o_toolbox_test { background-image: url(images/le_resources/test.png); } -li a.o_toolbox_questionnaire { background-image: url(images/le_resources/survey.png); } -li a.o_toolbox_wiki { background-image: url(images/le_resources/wiki.png); } -li a.o_toolbox_podcast { background-image: url(images/le_resources/media-player-cast.png); } -li a.o_toolbox_blog { background-image: url(images/le_resources/blog.png); } -li a.o_toolbox_glossary { background-image: url(images/le_resources/glossary.png); } -li a.o_toolbox_sharedfolder { background-image: url(images/folder_shared.png); } -li a.o_toolbox_coursefolder { background-image: url(images/le_resources/blue-folder.png); } -li a.o_toolbox_portfolio { background-image: url(images/le_resources/portfolio.png); } +li a.o_toolbox_course { background-image: url('../openolat/images/le_resources/book-open-text-image.png'); } +li a.o_toolbox_content { background-image: url('../openolat/images/le_resources/book-open-text-image-red.png'); } +li a.o_toolbox_scorm { background-image: url('../openolat/images/le_resources/book-open-text-image-s.png'); } +li a.o_toolbox_test { background-image: url('../openolat/images/le_resources/test.png'); } +li a.o_toolbox_questionnaire { background-image: url('../openolat/images/le_resources/survey.png'); } +li a.o_toolbox_wiki { background-image: url('../openolat/images/le_resources/wiki.png'); } +li a.o_toolbox_podcast { background-image: url('../openolat/images/le_resources/media-player-cast.png'); } +li a.o_toolbox_blog { background-image: url('../openolat/images/le_resources/blog.png'); } +li a.o_toolbox_glossary { background-image: url('../openolat/images/le_resources/glossary.png'); } +li a.o_toolbox_sharedfolder { background-image: url('../openolat/images/folder_shared.png'); } +li a.o_toolbox_coursefolder { background-image: url('../openolat/images/le_resources/blue-folder.png'); } +li a.o_toolbox_portfolio { background-image: url('../openolat/images/le_resources/portfolio.png'); } -li a.b_toolbox_link { background-image: url(images/bullet_black.png); } -li a.b_toolbox_doc { background-image: url(images/docs/document_plain.png); } -li a.b_toolbox_preview { background-image: url(images/docs/document_preview.png); } -li a.b_toolbox_publish { background-image: url(images/docs/document_share.png); } -li a.b_toolbox_move { background-image: url(images/docs/document_move.png); } -li a.b_toolbox_close { background-image: url(images/close.png); } -li a.b_toolbox_delete { background-image: url(images/cross-script.png); } -li a.b_toolbox_copy, .b_copy_icon { background-image: url(images/docs/document-copy.png); } +li a.b_toolbox_link { background-image: url('../openolat/images/bullet_black.png'); } +li a.b_toolbox_doc { background-image: url('../openolat/images/docs/document_plain.png'); } +li a.b_toolbox_preview { background-image: url('../openolat/images/docs/document_preview.png'); } +li a.b_toolbox_publish { background-image: url('../openolat/images/docs/document_share.png'); } +li a.b_toolbox_move { background-image: url('../openolat/images/docs/document_move.png'); } +li a.b_toolbox_close { background-image: url('../openolat/images/close.png'); } +li a.b_toolbox_delete { background-image: url('../openolat/images/cross-script.png'); } +li a.b_toolbox_copy, .b_copy_icon { background-image: url('../openolat/images/docs/document-copy.png'); } /* --------- menu icon decorators -------- */ -.o_midlock{ top: 9px; left: 9px; background-image: url(images/decorator/deco_condition.png); } -.o_miderr{ top: 8px; left: -2px; background-image: url(images/decorator/deco_error.png); } -.o_midwarn{ top: 8px; left: -2px; background-image: url(images/decorator/deco_warn.png);} -.o_midpub{ top: -2px; left: 9px; background-image: url(images/decorator/deco_ok.png); } +.o_midlock{ top: 9px; left: 9px; background-image: url('../openolat/images/decorator/deco_condition.png'); } +.o_miderr{ top: 8px; left: -2px; background-image: url('../openolat/images/decorator/deco_error.png'); } +.o_midwarn{ top: 8px; left: -2px; background-image: url('../openolat/images/decorator/deco_warn.png');} +.o_midpub{ top: -2px; left: 9px; background-image: url('../openolat/images/decorator/deco_ok.png'); } /* --------- course building block icons ------------------- */ -.o_bc_icon { background-image: url(images/folder.png) ! important; } -.o_co_icon { background-image: url(images/mail.png)!important} -.o_cp_icon { background-image: url(images/le_resources/book-open-text-image-red.png)!important} -.o_cp_org { background-image: url(images/le_resources/book-open-text-image-red.png)!important} -.o_cp_item { background-image: url(images/docs/document-text.png)!important} -.o_dialog_icon { background-image: url(images/docs/document_discuss.png)!important} -.o_en_icon { background-image: url(images/enrol.png)!important} -.o_fo_icon { background-image: url(images/forum/forum.png)!important} -.o_iqself_icon { background-image: url(images/le_resources/selftest.png)!important} -.o_iqsurv_icon { background-image: url(images/le_resources/survey.png)!important} -.o_iqtest_icon { background-image: url(images/le_resources/test.png)!important} -.o_ms_icon { background-image: url(images/le_resources/thumb-up.png)!important} -.o_scorm_icon, .o_scorm_org { background-image: url(images/le_resources/book-open-text-image-s.png) !important} -.o_scorm_item { background-image: url(images/docs/document-text.png)!important} -.o_scorm_asset { background-image: url(images/le_resources/book-open-text-image-s.png)!important} -.o_sp_icon { background-image: url(images/docs/document-text.png)!important} -.o_st_icon { background-image: url(images/node-select-all.png)!important} -.o_ta_icon { background-image: url(images/docs/document-task.png)!important} -.o_tu_icon { background-image: url(images/docs/document-import.png)!important} -.o_wiki_icon { background-image: url(images/le_resources/wiki.png)!important} -.o_ll_icon { background-image: url(images/docs/document_linklist.png)!important} -.o_cl_icon { background-image: url(images/clipboard-task.png)!important} -.o_den_icon { background-image: url(images/clock.png)!important} -.o_projectbroker_icon { background-image: url(images/projectbroker.png)!important} -.o_podcast_icon { background-image: url(images/le_resources/media-player-cast.png)!important} -.o_blog_icon { background-image: url(images/le_resources/blog.png)!important} -.o_cal_icon { background-image: url(images/calendar.png)!important} -.o_lti_icon { background-image: url(images/docs/document-node.png)!important} +.o_bc_icon { background-image: url('../openolat/images/folder.png') ! important; } +.o_co_icon { background-image: url('../openolat/images/mail.png')!important} +.o_cp_icon { background-image: url('../openolat/images/le_resources/book-open-text-image-red.png')!important} +.o_cp_org { background-image: url('../openolat/images/le_resources/book-open-text-image-red.png')!important} +.o_cp_item { background-image: url('../openolat/images/docs/document-text.png')!important} +.o_dialog_icon { background-image: url('../openolat/images/docs/document_discuss.png')!important} +.o_en_icon { background-image: url('../openolat/images/enrol.png')!important} +.o_fo_icon { background-image: url('../openolat/images/forum/forum.png')!important} +.o_iqself_icon { background-image: url('../openolat/images/le_resources/selftest.png')!important} +.o_iqsurv_icon { background-image: url('../openolat/images/le_resources/survey.png')!important} +.o_iqtest_icon { background-image: url('../openolat/images/le_resources/test.png')!important} +.o_ms_icon { background-image: url('../openolat/images/le_resources/thumb-up.png')!important} +.o_scorm_icon, .o_scorm_org { background-image: url('../openolat/images/le_resources/book-open-text-image-s.png') !important} +.o_scorm_item { background-image: url('../openolat/images/docs/document-text.png')!important} +.o_scorm_asset { background-image: url('../openolat/images/le_resources/book-open-text-image-s.png')!important} +.o_sp_icon { background-image: url('../openolat/images/docs/document-text.png')!important} +.o_st_icon { background-image: url('../openolat/images/node-select-all.png')!important} +.o_ta_icon { background-image: url('../openolat/images/docs/document-task.png')!important} +.o_tu_icon { background-image: url('../openolat/images/docs/document-import.png')!important} +.o_wiki_icon { background-image: url('../openolat/images/le_resources/wiki.png')!important} +.o_ll_icon { background-image: url('../openolat/images/docs/document_linklist.png')!important} +.o_cl_icon { background-image: url('../openolat/images/clipboard-task.png')!important} +.o_den_icon { background-image: url('../openolat/images/clock.png')!important} +.o_projectbroker_icon { background-image: url('../openolat/images/projectbroker.png')!important} +.o_podcast_icon { background-image: url('../openolat/images/le_resources/media-player-cast.png')!important} +.o_blog_icon { background-image: url('../openolat/images/le_resources/blog.png')!important} +.o_cal_icon { background-image: url('../openolat/images/calendar.png')!important} +.o_lti_icon { background-image: url('../openolat/images/docs/document-node.png')!important} /* <OLATCE-103> */ -.o_vc_icon { background-image: url(images/projection-screen.png)!important } +.o_vc_icon { background-image: url('../openolat/images/projection-screen.png')!important } /* </OLATCE-103> */ -.o_vitero_icon { background-image: url(images/vitero.png)!important } -.o_ep_icon, .o_EPStructuredMapTemplate_icon { background-image: url(images/le_resources/portfolio.png)!important} -.o_infomsg_icon { background-image: url(images/information-button.png)!important} -.o_cmembers_icon { background-image: url(images/users.png)!important} -body#b_body .o_CourseModule_icon_closed {background-image:url(images/le_resources/book-open-text-image_locked.png);} +.o_vitero_icon { background-image: url('../openolat/images/vitero.png')!important } +.o_ep_icon, .o_EPStructuredMapTemplate_icon { background-image: url('../openolat/images/le_resources/portfolio.png')!important} +.o_infomsg_icon { background-image: url('../openolat/images/information-button.png')!important} +.o_cmembers_icon { background-image: url('../openolat/images/users.png')!important} +body#b_body .o_CourseModule_icon_closed {background-image:url('../openolat/images/le_resources/book-open-text-image_locked.png');} \ No newline at end of file diff --git a/src/main/webapp/static/themes/openolat/all/_mixins.scss b/src/main/webapp/static/themes/openolat/all/_mixins.scss index 132dcb62d5399a11831cf4718781f1c38a141b59..5b144183ec253095c0737cdab3d2988af0fec433 100644 --- a/src/main/webapp/static/themes/openolat/all/_mixins.scss +++ b/src/main/webapp/static/themes/openolat/all/_mixins.scss @@ -56,6 +56,17 @@ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{$col1}', endColorstr='#{$col2}',GradientType=0 ); } +@mixin o-gradient4($col1,$col2,$col3,$col4){ + background: $col1; + background: -moz-linear-gradient(top, $col1 0%, $col2 33%, $col3 66%, $col4 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,$col1), color-stop(33%,$col2), color-stop(66%,$col3), color-stop(100%,$col4)); + background: -webkit-linear-gradient(top, $col1 0%,$col2 33%,$col3 66%,$col4 100%); + background: -o-linear-gradient(top, $col1 0%,$col2 33%,$col3 66%,$col4 100%); + background: -ms-linear-gradient(top, $col1 0%,$col2 33%,$col3 66%,$col4 100%); + background: linear-gradient(top, $col1 0%,$col2 33%,$col3 66%,$col4 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{$col1}', endColorstr='#{$col4}',GradientType=0 ); +} + @mixin o-border-radius($rad){ border-radius:$rad; -webkit-border-radius:$rad; diff --git a/src/main/webapp/static/themes/openolat/all/modules/_briefcase.scss b/src/main/webapp/static/themes/openolat/all/modules/_briefcase.scss index 2c5512f6a8b4447ec8cee2f2e7a98de401852467..bc3c0ade318b0ce0e69ad57b68a18133e2dfff92 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_briefcase.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_briefcase.scss @@ -5,11 +5,11 @@ div.b_briefcase_foldercomp div.b_briefcase_createactions ul { list-style: none; margin: 0; padding: 0; white-space: nowrap; font-size: 95%; } div.b_briefcase_foldercomp div.b_briefcase_createactions ul li { float: right; display: inline; margin: 0 0 0 1em; padding: 0 0 0 3px; position: relative; } div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a { background-position: 0 50%; background-repeat: no-repeat; padding: 2px 0 2px 20px;} - div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload { background-image: url(images/docs/document_upload.png); } - div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder { background-image: url(images/folder_new.png); } - div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile { background-image: url(images/docs/document_add.png); } - div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles { background-image: url(images/docs/document_remove.png); } - div.b_briefcase_foldercomp div.b_briefcase_breadcrumb { clear:both; padding: 1px 0 1px 20px; margin: 0.5em 0 0 0; border-bottom: 1px solid #bbb; background: url(images/folder_open.png) no-repeat 0 50%; } + div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload { background-image: url(../openolat/images/docs/document_upload.png); } + div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder { background-image: url(../openolat/images/folder_new.png); } + div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile { background-image: url(../openolat/images/docs/document_add.png); } + div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles { background-image: url(../openolat/images/docs/document_remove.png); } + div.b_briefcase_foldercomp div.b_briefcase_breadcrumb { clear:both; padding: 1px 0 1px 20px; margin: 0.5em 0 0 0; border-bottom: 1px solid #bbb; background: url(../openolat/images/folder_open.png) no-repeat 0 50%; } div.b_briefcase_foldercomp div.b_briefcase_empty {clear: both; margin-top: 0.5em; font-style: italic;} div.b_briefcase_foldercomp table.b_briefcase_filetable { clear: both; border-collapse:collapse; margin-bottom: 0.5em; border-bottom: 1px solid #4F576A; background: #fff; width: 99.9%; } /* 99.9% width fix for FF border overflow issue*/ div.b_briefcase_foldercomp table.b_briefcase_filetable thead { color:#000; background: #E0E2E8; border-bottom: 1px solid #8F99AD;} @@ -27,9 +27,9 @@ div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions { border: 0; padding: 0; margin:0;} div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions td { border: 0; padding: 0 0 0 3px; margin:0;} div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions tr { border: 0; padding: 0; margin:0;} - div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon {background-image: url(images/docs/document--pencil.png); } - div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon {background-image: url(images/docs/document_metadata_edit.png); } - div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon {background-image: url(images/docs/document_metadata_edit.png); opacity:0.2; } + div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon {background-image: url(../openolat/images/docs/document--pencil.png); } + div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon {background-image: url(../openolat/images/docs/document_metadata_edit.png); } + div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon {background-image: url(../openolat/images/docs/document_metadata_edit.png); opacity:0.2; } div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon {background-image: url(../images/brasato/versions.png); } div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon {background-image: url(../images/brasato/versions_dis.png); opacity:0.2; } div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon {background-image: url(../images/brasato/locked.png); } diff --git a/src/main/webapp/static/themes/openolat/all/modules/_course.scss b/src/main/webapp/static/themes/openolat/all/modules/_course.scss index dfb909515ffc16d3d8b0c10d8c687fff4920cb57..0958e6301db009bb04418b7379cdf30c1eb57fd0 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_course.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_course.scss @@ -12,8 +12,8 @@ div.b_selectiontree { input { width: 1em; height: 1em; padding: 0; margin: 0 0.5em; vertical-align: middle;} input.b_radio { margin: 0;} } - .b_selectiontree_line {background-image: url(images/tree/dots.gif); } - .b_selectiontree_space {background-image: url(images/tree/dots_spacer.gif); } - .b_selectiontree_junction {background-image: url(images/tree/dots_nt.gif); } - .b_selectiontree_end {background-image: url(images/tree/dots_nl.gif); } + .b_selectiontree_line {background-image: url(../openolat/images/tree/dots.gif); } + .b_selectiontree_space {background-image: url(../openolat/images/tree/dots_spacer.gif); } + .b_selectiontree_junction {background-image: url(../openolat/images/tree/dots_nt.gif); } + .b_selectiontree_end {background-image: url(../openolat/images/tree/dots_nl.gif); } } diff --git a/src/main/webapp/static/themes/openolat/all/modules/_develdebug.scss b/src/main/webapp/static/themes/openolat/all/modules/_develdebug.scss index 817bc51788e4bf71e042a6de8e0d64d0c20780ee..6bc38158b8006b1ec9d8cd9334282c6ac7bf4fc1 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_develdebug.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_develdebug.scss @@ -1,10 +1,10 @@ /** -------------------- DEVELOPMENT TOOL / DEBUG ---------------- **/ -a.b_dev { position: absolute; left: 0; top: 0; z-index:4000; background: red url('images/bug.png') no-repeat; width: 16px; height: 16px; border: 1px solid #000;} +a.b_dev { position: absolute; left: 0; top: 0; z-index:4000; background: red url('../openolat/images/bug.png') no-repeat; width: 16px; height: 16px; border: 1px solid #000;} #b_devcon_main { background-color: #ccddff; position:absolute; z-index:4000; top:10px; left: 5%; width:90%; text-align: left; border: 1px solid #000} -#b_devcon_handle { cursor:move; background: blue url(images/bug.png) no-repeat 4px 50%; line-height: 2em; padding-left: 24px; color:white; } +#b_devcon_handle { cursor:move; background: blue url(../openolat/images/bug.png) no-repeat 4px 50%; line-height: 2em; padding-left: 24px; color:white; } a#b_devcon_handle_collapse {cursor:pointer; background: url($ico_minus) no-repeat; width: 15px; height: 15px; float: right; margin: 3px;} a#b_devcon_handle_expand {cursor:pointer; background: url($ico_plus) no-repeat; width: 15px; height: 15px; float: right; margin: 3px;} -a.b_devcon_handle_close {cursor:pointer; background: url(images/close.png) no-repeat; width: 15px; height: 15px; float: right; margin: 3px;} +a.b_devcon_handle_close {cursor:pointer; background: url(../openolat/images/close.png) no-repeat; width: 15px; height: 15px; float: right; margin: 3px;} #b_devcon_content { font-size: 90%; padding: 5px; border-top: 0px solid #000; background:transparent;; ul { float: left; margin: 0; padding: 0; list-style: none; white-space: nowrap;} diff --git a/src/main/webapp/static/themes/openolat/all/modules/_dialogs.scss b/src/main/webapp/static/themes/openolat/all/modules/_dialogs.scss index 945edb9abc248db7d404952cde21c5783b8538f5..66c25b509546b179eef6f9e2380eeecc20e639c2 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_dialogs.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_dialogs.scss @@ -55,7 +55,7 @@ div.b_window { div.b_window_header_title { min-height: 18px; line-height: 18px; vertical-align: middle; padding: 2px 5px 2px 5px; - a.b_link_close { top:4px; right: 4px; position:absolute; min-height:16px; min-width:16px;background:transparent url('images/close.png') no-repeat center center; display:inline-block;} + a.b_link_close { top:4px; right: 4px; position:absolute; min-height:16px; min-width:16px;background:transparent url('../openolat/images/close.png') no-repeat center center; display:inline-block;} a.b_link_close:hover { top:4px; right: 4px; } strong { font-weight: bold; } } @@ -76,7 +76,7 @@ div.x-tip-body p{margin-bottom:0px;} div.x-tip-mc {background: #e9f2ff ! important;} /* ajax busy icon*/ body.b_ajax_busy { cursor: wait; } -div.b_ajax_busy {background: url(images/ajax-loader.gif) no-repeat; position: absolute; left:50% ; top: 10px; width:28px; height: 28px; z-index:5001;} +div.b_ajax_busy {background: url(../openolat/images/ajax-loader.gif) no-repeat; position: absolute; left:50% ; top: 10px; width:28px; height: 28px; z-index:5001;} /* DIALOG */ @@ -87,14 +87,14 @@ div.b_window.b_dialogbox { div.b_msg_dialog { padding: 10px 10px 10px 50px; min-height: 32px; - background: url(images/icon_question_32.png) no-repeat 10px 10px; + background: url(../openolat/images/icon_question_32.png) no-repeat 10px 10px; .b_msg_title { font-weight: bold; } .b_msg_content { } } /* sticky info (admins can create stick-messages that will show for all users) */ #b_msg_sticky { - clear:both; padding: 10px 10px 10px 50px; min-height: 32px; background: #ebcccc url(images/icon_warning_32.png) no-repeat 10px 10px; border-bottom: 1px #ccc dotted; border-top: 1px #ccc dotted; + clear:both; padding: 10px 10px 10px 50px; min-height: 32px; background: #ebcccc url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px; border-bottom: 1px #ccc dotted; border-top: 1px #ccc dotted; } /* info message ( slide-in, top) */ @@ -108,22 +108,22 @@ div.b_msg-div { } .b_msg_info_winicon { - background: transparent url(images/icon_info_32.png) no-repeat 10px center; + background: transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center; } } div.b_msg_info_content { padding: 10px 10px 10px 50px; } /* warn message (ext-dialog) */ -div.b_msg_warn_winicon { background: url(images/icon_warning_32.png) no-repeat } +div.b_msg_warn_winicon { background: url(../openolat/images/icon_warning_32.png) no-repeat } /* error message (ext-dialog) */ -div.b_msg_error_winicon { background: url(images/icon_error_32.png) no-repeat } +div.b_msg_error_winicon { background: url(../openolat/images/icon_error_32.png) no-repeat } /* "info"-page */ #b_msg_info { padding: 10px 10px 10px 50px; - min-height: 32px; background: url(images/icon_info_32.png) no-repeat 10px 10px; + min-height: 32px; background: url(../openolat/images/icon_info_32.png) no-repeat 10px 10px; .b_msg_title { font-weight: bold; } } @@ -134,7 +134,7 @@ div.b_msg_error_winicon { background: url(images/icon_error_32.png) no-repeat } .o_infomessage{ padding: 10px 10px 10px 50px; text-align: left; - background: url(images/icon_warning_32.png) no-repeat 10px 10px; + background: url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px; .o_infomessage_inner { } @@ -142,8 +142,8 @@ div.b_msg_error_winicon { background: url(images/icon_error_32.png) no-repeat } } /* OPEN / CLOSE BOX TOGGLER */ -a.b_togglebox_closed {background: url(images/toggle-small-expand.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle;} -a.b_togglebox_opened {background: url(images/toggle-small.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle;} +a.b_togglebox_closed {background: url(../openolat/images/toggle-small-expand.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle;} +a.b_togglebox_opened {background: url(../openolat/images/toggle-small.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle;} div.b_togglebox div.b_togglebox_content { padding: 1em; border: 1px solid #ACAAAA; background: #fff; } @@ -153,7 +153,7 @@ div.b_togglebox div.b_togglebox_content { padding: 1em; border: 1px solid #ACAAA div.b_wizard_header {background:#fff; position: relative; } div.b_wizard_header_title { background: #fff; min-height: 18px; line-height: 18px; vertical-align: middle; padding: 2px 5px 2px 5px; color: #4F576A; - a.b_link_close { top:4px; right: 4px; background: url(images/close.png); background-repeat: no-repeat; } + a.b_link_close { top:4px; right: 4px; background: url(../openolat/images/close.png); background-repeat: no-repeat; } strong { font-weight: bold; } } @@ -186,27 +186,27 @@ div.b_togglebox div.b_togglebox_content { padding: 1em; border: 1px solid #ACAAA span.b_wizard_button_next:after, a.b_wizard_button_next span:after { content: " >";} a.b_wizard_button_finish, span.b_wizard_button_finish {margin-left: 3em;} a.b_wizard_button_cancel, span.b_wizard_button_cancel { margin-left: 3em; } - .b_wizard_table_changedcell { font-style: italic; font-weight: bold; background: url(images/new-text.png) no-repeat; padding-left: 18px;} + .b_wizard_table_changedcell { font-style: italic; font-weight: bold; background: url(../openolat/images/new-text.png) no-repeat; padding-left: 18px;} /* OLD WIZARD */ div.b_legacy_wizard { } div.b_legacy_wizard_steps { float: right; display:inline; } /* the following classes are used together with b_legacy_wizard_step_icon */ - .b_legacy_wizard_step_a1 { background-image: url(images/wizard/1a.png); } - .b_legacy_wizard_step_a2 { background-image: url(images/wizard/2a.png);} - .b_legacy_wizard_step_a3 { background-image: url(images/wizard/3a.png);} - .b_legacy_wizard_step_a4 { background-image: url(images/wizard/4a.png);} - .b_legacy_wizard_step_a5 { background-image: url(images/wizard/5a.png);} - .b_legacy_wizard_step_a6 { background-image: url(images/wizard/6a.png);} - .b_legacy_wizard_step_a7 { background-image: url(images/wizard/7a.png);} - .b_legacy_wizard_step_a8 { background-image: url(images/wizard/8a.png);} - .b_legacy_wizard_step_a9 { background-image: url(images/wizard/9a.png);} - .b_legacy_wizard_step_p1 { background-image: url(images/wizard/1p.png);} - .b_legacy_wizard_step_p2 { background-image: url(images/wizard/2p.png);} - .b_legacy_wizard_step_p3 { background-image: url(images/wizard/3p.png);} - .b_legacy_wizard_step_p4 { background-image: url(images/wizard/4p.png);} - .b_legacy_wizard_step_p5 { background-image: url(images/wizard/5p.png);} - .b_legacy_wizard_step_p6 { background-image: url(images/wizard/6p.png);} - .b_legacy_wizard_step_p7 { background-image: url(images/wizard/7p.png);} - .b_legacy_wizard_step_p8 { background-image: url(images/wizard/8p.png);} - .b_legacy_wizard_step_p9 { background-image: url(images/wizard/9p.png);} + .b_legacy_wizard_step_a1 { background-image: url(../openolat/images/wizard/1a.png); } + .b_legacy_wizard_step_a2 { background-image: url(../openolat/images/wizard/2a.png);} + .b_legacy_wizard_step_a3 { background-image: url(../openolat/images/wizard/3a.png);} + .b_legacy_wizard_step_a4 { background-image: url(../openolat/images/wizard/4a.png);} + .b_legacy_wizard_step_a5 { background-image: url(../openolat/images/wizard/5a.png);} + .b_legacy_wizard_step_a6 { background-image: url(../openolat/images/wizard/6a.png);} + .b_legacy_wizard_step_a7 { background-image: url(../openolat/images/wizard/7a.png);} + .b_legacy_wizard_step_a8 { background-image: url(../openolat/images/wizard/8a.png);} + .b_legacy_wizard_step_a9 { background-image: url(../openolat/images/wizard/9a.png);} + .b_legacy_wizard_step_p1 { background-image: url(../openolat/images/wizard/1p.png);} + .b_legacy_wizard_step_p2 { background-image: url(../openolat/images/wizard/2p.png);} + .b_legacy_wizard_step_p3 { background-image: url(../openolat/images/wizard/3p.png);} + .b_legacy_wizard_step_p4 { background-image: url(../openolat/images/wizard/4p.png);} + .b_legacy_wizard_step_p5 { background-image: url(../openolat/images/wizard/5p.png);} + .b_legacy_wizard_step_p6 { background-image: url(../openolat/images/wizard/6p.png);} + .b_legacy_wizard_step_p7 { background-image: url(../openolat/images/wizard/7p.png);} + .b_legacy_wizard_step_p8 { background-image: url(../openolat/images/wizard/8p.png);} + .b_legacy_wizard_step_p9 { background-image: url(../openolat/images/wizard/9p.png);} diff --git a/src/main/webapp/static/themes/openolat/all/modules/_eportfolio.scss b/src/main/webapp/static/themes/openolat/all/modules/_eportfolio.scss index f43644a84ee5759adb1c2d7f34548e55deedef01..7fee2140266d05f3113b196ffcdb1d26917bd2a3 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_eportfolio.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_eportfolio.scss @@ -14,12 +14,12 @@ div.o_ep_struct_editor div.b_subcr { margin: 5px; border: 1px solid #ddd; padding: 1em; @include o-border-radius(5px); @include o-box-shadow(0,1px,2px,lightGrey); - background: #ebebeb url(images/portfolio/artefaktbg.png) top left repeat-x; + background: #ebebeb url(../openolat/images/portfolio/artefaktbg.png) top left repeat-x; } .b_artefact div.b_actions { margin-top: 2em;} .b_artefact div.b_desc { font-style: italic; margin: 1em 0; } - .b_ep_artAttribLink { background-image: url(images/table_gear.png); } + .b_ep_artAttribLink { background-image: url(../openolat/images/table_gear.png); } div.b_artefact_closed { font-size:25px; float:right; background: url(../images/brasato/locked.png) top right no-repeat; } div.b_eportfolio_preview_c100l .b_artefact { margin:3px; } div.b_eportfolio_preview_c33l .b_artefact { font-size:85%; margin:3px; } @@ -28,8 +28,8 @@ div.o_ep_struct_editor div.b_subcr { .b_ep_multiartefacts div.b_ep_add_message_with_arrow { position: relative; top: -50px; } .b_ep_multiartefacts div.b_artefact_count { margin: 1em 0 1em 0;} - a.b_ep_options { background: url(images/gear.png) top left no-repeat; width:16px; height:16px; display: block;} - .b_ep_liveblog_icon { background-image: url(images/portfolio/ep_liveblog_icon.png); } + a.b_ep_options { background: url(../openolat/images/gear.png) top left no-repeat; width:16px; height:16px; display: block;} + .b_ep_liveblog_icon { background-image: url(../openolat/images/portfolio/ep_liveblog_icon.png); } div.b_portfolio_toc ul { margin: 0; } div.b_portfolio_toc li { list-style-type: none; } @@ -42,24 +42,24 @@ div.o_ep_struct_editor div.b_subcr { div.b_portfolio_toc .type_artefact { font-style: italic; } .b_portfolio_toc .type_map, .b_portfolio_toc .type_page, .b_portfolio_toc .type_struct, .b_portfolio_toc .type_artefact { background-position: center left; background-repeat: no-repeat; padding-left: 20px; } - a.b_eportfolio_add { background: url(images/portfolio/ep_add_icon.png) top left no-repeat; display:block; width:16px; height:16px;} + a.b_eportfolio_add { background: url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat; display:block; width:16px; height:16px;} td a.b_eportfolio_add { float:right; padding-right:2px; } - a.b_eportfolio_add_again, span.b_eportfolio_add_again { background: url(images/portfolio/ep_add_again_icon.png) top left no-repeat; display:block; width:16px; height:16px; } + a.b_eportfolio_add_again, span.b_eportfolio_add_again { background: url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat; display:block; width:16px; height:16px; } .o_efficiencystatement a.b_eportfolio_add_again {float:right;} - a.b_eportfolio_link { background: url(images/portfolio/ep_link_icon.png) top left no-repeat; display:block; width:16px; height:16px; } + a.b_eportfolio_link { background: url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat; display:block; width:16px; height:16px; } ul.b_eportfolio_maps { margin: 0; padding: 0; } - ul.b_eportfolio_maps li { display: block; float: left; position: relative; width: 195px; height: 320px; padding: 60px 60px 40px 65px; margin: 0.5em; background: url(images/portfolio/eportfolio_map_default.png) top left no-repeat; -moz-border-radius: 4px 14px 14px 4px; -webkit-border-radius: 4px 10px 10px 4px; -o-border-radius: 4px 14px 14px 4px; border-radius: 4px 14px 14px 4px; -webkit-box-shadow: 0 1px 3px lightGray; -moz-box-shadow: 0 1px 3px lightGray; -o-box-shadow: 0 1px 3px lightGray; box-shadow: 0 1px 3px lightGray; } + ul.b_eportfolio_maps li { display: block; float: left; position: relative; width: 195px; height: 320px; padding: 60px 60px 40px 65px; margin: 0.5em; background: url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat; -moz-border-radius: 4px 14px 14px 4px; -webkit-border-radius: 4px 10px 10px 4px; -o-border-radius: 4px 14px 14px 4px; border-radius: 4px 14px 14px 4px; -webkit-box-shadow: 0 1px 3px lightGray; -moz-box-shadow: 0 1px 3px lightGray; -o-box-shadow: 0 1px 3px lightGray; box-shadow: 0 1px 3px lightGray; } ul.b_eportfolio_maps li .b_map_info { position: absolute; bottom: 40px; width: inherit; font-size: 0.9em; } li.default .b_map_info p { color: #bbb; } li.comic .b_map_info p { color: #88a5c4; } li.leather .b_map_info p { color: #C2A074; } ul.b_eportfolio_maps li .b_map_info a.b_open_icon { font-size: 1.2em; position: absolute; bottom: 170px; right: -10px; } - ul.b_eportfolio_maps li.leather { background: url(images/portfolio/eportfolio_map_leather.png) top left no-repeat; border: none; } + ul.b_eportfolio_maps li.leather { background: url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat; border: none; } ul.b_eportfolio_maps li.leather a { color: #fad9a4; } - ul.b_eportfolio_maps li.comic { background: url(images/portfolio/eportfolio_map_comic.png) top left no-repeat; border: none; } - ul.b_eportfolio_maps li.template.default { background-image: url(images/portfolio/eportfolio_map_default_template.png); } - ul.b_eportfolio_maps li.template.comic { background-image: url(images/portfolio/eportfolio_map_comic_template.png); } - ul.b_eportfolio_maps li.template.leather { background-image: url(images/portfolio/eportfolio_map_leather_template.png); } + ul.b_eportfolio_maps li.comic { background: url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat; border: none; } + ul.b_eportfolio_maps li.template.default { background-image: url(../openolat/images/portfolio/eportfolio_map_default_template.png); } + ul.b_eportfolio_maps li.template.comic { background-image: url(../openolat/images/portfolio/eportfolio_map_comic_template.png); } + ul.b_eportfolio_maps li.template.leather { background-image: url(../openolat/images/portfolio/eportfolio_map_leather_template.png); } .b_map_page { text-align:center; clear:left;} @@ -96,19 +96,19 @@ div.o_ep_struct_editor div.b_subcr { .comic .b_ep_relative > div:last-child { position: relative; } .comic div.b_ep_actualpage { width: 85%; margin-top: 1em; } .comic div.b_pagination ul { margin-top: 30px; margin-left: 0px; z-index: 1; } - .comic div.b_pagination li { width: 87%; background: url(images/portfolio/postit.png) center right; padding: 0; margin-bottom: 1em; margin-left: 8%; list-style-type: none; } + .comic div.b_pagination li { width: 87%; background: url(../openolat/images/portfolio/postit.png) center right; padding: 0; margin-bottom: 1em; margin-left: 8%; list-style-type: none; } .comic div.b_pagination li span.b_disabled, .comic div.b_pagination li a span { display: block; padding: 20px 15px 20px 10px; white-space: nowrap; overflow: hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; } .comic div.b_pagination li span, .comic div.b_pagination li a, .comic div.b_pagination li { white-space: nowrap; overflow: hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; } .comic div.b_pagination li.b_disabled { z-index: 101; margin-left: 0; width: 100%; } .comic div.b_pagination li .b_disabled { color: black; font-weight: bold; } - .comic div.b_pagination li.b_toc { background-image: url(images/portfolio/postit_pink.png); } + .comic div.b_pagination li.b_toc { background-image: url(../openolat/images/portfolio/postit_pink.png); } - .b_eportfolio_page, .b_portfolio_toc, .b_eportfolio_edit { min-height: 40em; background: #f4f4f4 url(images/portfolio/eportfolio_page_corner.png) top right no-repeat; padding: 1em; -webkit-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); -moz-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); -o-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); box-shadow: 0px 2px 5px rgba(0,0,0,0.2); } + .b_eportfolio_page, .b_portfolio_toc, .b_eportfolio_edit { min-height: 40em; background: #f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat; padding: 1em; -webkit-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); -moz-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); -o-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); box-shadow: 0px 2px 5px rgba(0,0,0,0.2); } .b_eportfolio_page .b_eportfolio_structure > h5 { border-bottom: 1px solid #ddd; margin-top: 1.2em; } .b_eportfolio_edit { margin-top: 1.5em; } .leather {font-family: Palatino, Georgia, serif;} - .b_eportfolio_map.leather { background: url(images/portfolio/light-leather-tile.jpg); } + .b_eportfolio_map.leather { background: url(../openolat/images/portfolio/light-leather-tile.jpg); } .leather div.b_ep_actualpage { width: 100%; margin-top: 0; clear: both; } .leather .b_map_header h4, .leather .b_map_header p, .leather .b_map_header a.b_eportfolio_add_link, .leather .b_map_header a.b_eportfolio_comment_link { color: white; } .leather div.b_pagination { float: none; position: static; width: 100%; } @@ -120,7 +120,7 @@ div.o_ep_struct_editor div.b_subcr { .leather div.b_pagination li a { padding: 1em; padding: 5px 8px; } .leather div.b_eportfolio_page, .leather div.b_portfolio_toc, .leather div.b_eportfolio_edit { background-image: none; } - .b_eportfolio.b_artefacts hr.b_ep_filter_spacer { height: 10px; background: url(images/portfolio/divider-arrow-down.png) 25px -12px no-repeat; border: none; border-top: 1px solid #ccc; margin: 2em 0 1em; } + .b_eportfolio.b_artefacts hr.b_ep_filter_spacer { height: 10px; background: url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat; border: none; border-top: 1px solid #ccc; margin: 2em 0 1em; } .b_eportfolio.b_artefacts .b_ep_content { background: white; padding: 0 1em 1em 1em; margin-top: 1.5em; } .b_eportfolio.b_artefacts .b_ep_content .b_ep_filter { padding: 0; width:80% } .b_ep_filter { float: left; } @@ -132,12 +132,12 @@ div.o_ep_struct_editor div.b_subcr { .b_ep_tagbrowser_view { width: 68%; margin-left: 0px; } .b_ep_collection_icon { background-image: url(../images/brasato/eportfolio/ep_collection.png) ! important; } - .b_ep_map_icon, .b_portfolio_toc .type_map { background-image: url(images/portfolio/briefcase.png) ! important; } - .b_ep_page_icon, .b_portfolio_toc .type_page { background-image: url(images/portfolio/ep_page.png) ! important; } - .b_ep_page_icon.b_eportfolio_add_link { background-image: url(images/portfolio/ep_page_add.png) ! important; } - .b_ep_struct_icon, .b_portfolio_toc .type_struct { background-image: url(images/portfolio/ep_struct.png) ! important; } - .b_ep_struct_icon.b_eportfolio_add_link { background-image: url(images/portfolio/ep_struct_add.png) ! important; } - .type_artefact { background-image: url(images/le_resources/portfolio.png) ! important; } + .b_ep_map_icon, .b_portfolio_toc .type_map { background-image: url(../openolat/images/portfolio/briefcase.png) ! important; } + .b_ep_page_icon, .b_portfolio_toc .type_page { background-image: url(../openolat/images/portfolio/ep_page.png) ! important; } + .b_ep_page_icon.b_eportfolio_add_link { background-image: url(../openolat/images/portfolio/ep_page_add.png) ! important; } + .b_ep_struct_icon, .b_portfolio_toc .type_struct { background-image: url(../openolat/images/portfolio/ep_struct.png) ! important; } + .b_ep_struct_icon.b_eportfolio_add_link { background-image: url(../openolat/images/portfolio/ep_struct_add.png) ! important; } + .type_artefact { background-image: url(../openolat/images/le_resources/portfolio.png) ! important; } div.b_eportfolio_collect_restriction { margin-top:5px; } div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_el { float:left; margin-right:5px; } @@ -148,10 +148,10 @@ div.o_ep_struct_editor div.b_subcr { div.b_eportfolio_restriction_wrapper a.b_togglebox_closed { display:block; width:9px; height:9px; padding:0; margin-left:12px; } div.b_eportfolio_restriction_wrapper p { padding:0 0 0 15px; margin:0; } div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content { padding:3px 3px 3px 3px; margin:0; border:1px solid red; background-image:none; background-color:transparent; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } - div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content { border:1px solid #FF9900 !important; background:#FFF5CC url(images/decorator/deco_warn.png) no-repeat 3px 2px !important; } - div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content { border:1px solid #F0F0F0 !important; background:#FCFCFC url(images/decorator/deco_ok.png) no-repeat 3px 2px !important; } - div.b_eportfolio_restriction_error div.b_togglebox_closed { background:transparent url(images/decorator/deco_warn.png) no-repeat top left !important; } - div.b_eportfolio_restriction_passed div.b_togglebox_closed { background:transparent url(images/decorator/deco_ok.png) no-repeat top left !important; } + div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content { border:1px solid #FF9900 !important; background:#FFF5CC url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 2px !important; } + div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content { border:1px solid #F0F0F0 !important; background:#FCFCFC url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 2px !important; } + div.b_eportfolio_restriction_error div.b_togglebox_closed { background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat top left !important; } + div.b_eportfolio_restriction_passed div.b_togglebox_closed { background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat top left !important; } div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide { display:none; } .b_eportfolio_deadline_callout { width:300px; } @@ -163,11 +163,11 @@ div.o_ep_struct_editor div.b_subcr { .b_eportfolio_share_policy_wrapper .b_float_right { text-align: right; } .b_eportfolio_share_policy_wrapper a.bit-input { text-decoration: none; } .b_eportfolio_share_policy div input, .b_eportfolio_share_policy div span, .b_eportfolio_share_policy div select { float: left; margin-right:5px; padding-right:5px; } - .b_eportfolio_share_policy div span.b_form_datechooser { background: url(images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px;} + .b_eportfolio_share_policy div span.b_form_datechooser { background: url(../openolat/images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px;} .b_eportfolio_share_policy .b_ep_share_date span { float: left; } - .b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy { padding-left: 20px; background: url(images/user.png) top left no-repeat; } - .b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy { background-image: url(images/users.png); } - .b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy { background-image: url(images/share.png); } - .b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy { background-image: url(images/users.png); } + .b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy { padding-left: 20px; background: url(../openolat/images/user.png) top left no-repeat; } + .b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy { background-image: url(../openolat/images/users.png); } + .b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy { background-image: url(../openolat/images/share.png); } + .b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy { background-image: url(../openolat/images/users.png); } div.b_ep_inline div input, div.b_ep_inline div span, div.b_ep_inline div select { float: left; margin-right:5px; padding-right:5px; } diff --git a/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss b/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss index de538231fc88183626d48a8e9c960efb0bbbe0d1..cdf926201aff1ccf6b56c83b71a311aa0d785851 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss @@ -58,37 +58,37 @@ div.b_button_group div { display: inline;} /* TOGGLE Buttons */ a.b_toggle { - white-space: nowrap; margin: 0 0.5em 0.2em 0; cursor: default; color: #2C2B2B; border: 1px solid #aaa; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; display: inline-block; line-height: 1.5em; text-align: center; background: url(images/toggle_off.png) top left repeat-x; + white-space: nowrap; margin: 0 0.5em 0.2em 0; cursor: default; color: #2C2B2B; border: 1px solid #aaa; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; display: inline-block; line-height: 1.5em; text-align: center; background: url(../openolat/images/toggle_off.png) top left repeat-x; span { padding: 0 0.8em; } &:hover { background: #ddd; text-decoration: none; } &.b_on:hover { background: #747474; } &.b_on,&:active,&.b_on:active { color: white; border: none; padding: 1px; @include o-box-shadow-inset(1px,1px,2px,rgba(0,0,0,0.5)); text-shadow: 1px 1px 2px rgba(0,0,0,0.5); } &:focus,&.b_on:focus{ text-decoration: none; } - &:active,&.b_on:active{ background: url(images/toggle_active.png) top left repeat-x; } - &.b_on { background: url(images/toggle_on.png) top left repeat-x; } + &:active,&.b_on:active{ background: url(../openolat/images/toggle_active.png) top left repeat-x; } + &.b_on { background: url(../openolat/images/toggle_on.png) top left repeat-x; } } -span.b_toggle.b_disabled { white-space: nowrap; margin: 0 0.5em 0.2em 0; padding: 0 0.8em; color: #667; border: 1px solid #DDD; @include o-border-radius(10px); display: inline-block; line-height: 1.5em; text-align: center; background: url(images/toggle_dis.png) top left repeat-x; } +span.b_toggle.b_disabled { white-space: nowrap; margin: 0 0.5em 0.2em 0; padding: 0 0.8em; color: #667; border: 1px solid #DDD; @include o-border-radius(10px); display: inline-block; line-height: 1.5em; text-align: center; background: url(../openolat/images/toggle_dis.png) top left repeat-x; } /* TOGGLE SLIDERS */ a.b_toggle_slide { - background: url(images/handle.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; margin: 0 0.2em 0.2em 0.2em; color: #2C2B2B; border: 1px solid #aaa; @include o-border-radius(4px); display: inline-block; text-align: center; vertical-align: middle; position: relative; + background: url(../openolat/images/handle.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; margin: 0 0.2em 0.2em 0.2em; color: #2C2B2B; border: 1px solid #aaa; @include o-border-radius(4px); display: inline-block; text-align: center; vertical-align: middle; position: relative; span { position: absolute; top: -25px; left:0;} &:hover,&:focus,&:active, &.b_on:hover,&.b_on:focus,&.b_on:active{ border: 1px solid #868686; text-decoration: none; } &.b_on { background-position: -16px 0px; } - &.b_disabled { background: url(images/handle_dis.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; margin: 0 0.5em 0.2em 0; color: #2C2B2B; border: 1px solid #aaa; @include o-border-radius(4px); display: inline-block; text-align: center; vertical-align: middle;} + &.b_disabled { background: url(../openolat/images/handle_dis.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; margin: 0 0.5em 0.2em 0; color: #2C2B2B; border: 1px solid #aaa; @include o-border-radius(4px); display: inline-block; text-align: center; vertical-align: middle;} /* TOGGLE SLIDERS SMALL */ - &.b_small { background: url(images/handle_small.png) -41px 0px no-repeat; height: 16px; width: 55px;@include o-border-radius(2px);} + &.b_small { background: url(../openolat/images/handle_small.png) -41px 0px no-repeat; height: 16px; width: 55px;@include o-border-radius(2px);} & span { position: absolute; top: -16px; } &.b_small.b_on { background-position: -9px 0px; } } -span.b_toggle_slide.b_disabled { background: url(images/handle_small_dis.png) -41px 0px no-repeat; height: 16px; width: 55px; white-space: nowrap; margin: 0 0.5em 0.2em 0; color: #2C2B2B; border: 1px solid #aaa; @include o-border-radius(3px); display: inline-block; text-align: center; vertical-align: middle;} +span.b_toggle_slide.b_disabled { background: url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat; height: 16px; width: 55px; white-space: nowrap; margin: 0 0.5em 0.2em 0; color: #2C2B2B; border: 1px solid #aaa; @include o-border-radius(3px); display: inline-block; text-align: center; vertical-align: middle;} span.b_toggle_slide_legend {font-size: 90%; } /* BACK BUTTON / LINK **/ .b_link_back { - > span {padding: 0px 8px 0px 25px; background: transparent url('images/arrow_left_big.png') no-repeat 4px center;} + > span {padding: 0px 8px 0px 25px; background: transparent url('../openolat/images/arrow_left_big.png') no-repeat 4px center;} @include btt-outer; /* focused buttons */ &:focus,&:hover { @@ -168,7 +168,7 @@ div.b_form { div.b_form_element_label{ width: 20%; float: left; display: inline; label { float: left; display: inline; line-height: 1.3em;} - span.b_form_mandatory { background: url(images/star-small.png) no-repeat; padding-left: 16px; height: 16px;} + span.b_form_mandatory { background: url(../openolat/images/star-small.png) no-repeat; padding-left: 16px; height: 16px;} &.b_form_horizontal { width: auto; float: left; display: inline;} &.b_form_vertical { width: auto; float: none; display: block; } } @@ -204,11 +204,11 @@ div.b_form { .b_form_disabled { color: #504D4E; } .b_form_element_disabled { color: #9E9C9C; background: #EEEEEE; border: 1px solid #CDCBCB;} /* date and generic chooser icon*/ - span.b_form_datechooser { background: url(images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px; padding-top:2px;} - a.b_form_groupchooser { background: url(images/users.png) no-repeat; padding-left: 18px; height: 16px;line-height: 16px; margin-left: 2px;} - a.b_form_genericchooser { background: url(images/users.png) no-repeat; padding-left: 18px; height: 16px;line-height: 16px; margin-left: 2px;} + span.b_form_datechooser { background: url(../openolat/images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px; padding-top:2px;} + a.b_form_groupchooser { background: url(../openolat/images/users.png) no-repeat; padding-left: 18px; height: 16px;line-height: 16px; margin-left: 2px;} + a.b_form_genericchooser { background: url(../openolat/images/users.png) no-repeat; padding-left: 18px; height: 16px;line-height: 16px; margin-left: 2px;} a.b_form_wikitext { background-repeat: no-repeat; padding-left: 12px; line-height: 1.5em; font-style: italic;} - a.b_form_wikitext, .b_wiki_icon { background-image: url(images/wiki/wiki_small_9px.png);} + a.b_form_wikitext, .b_wiki_icon { background-image: url(../openolat/images/wiki/wiki_small_9px.png);} } }// end div.b_form @@ -278,7 +278,7 @@ div.b_fileinput { input.b_fileinput_realchooser { position: relative; top: 0; left: 0; z-index: 2; -moz-opacity:0; opacity: 0; filter: alpha(opacity=0);} div.b_button_group { text-align: left; padding-left: 0; margin-left: 0;} } -.b_fileinput_icon { background-image: url(images/drive.png); } +.b_fileinput_icon { background-image: url(../openolat/images/drive.png); } /* PROGRESSBAR */ @@ -298,8 +298,8 @@ div.b_mark { margin:0; div.b_form_element { margin:0; padding:0; } } - a.b_mark_set { background: url(images/flag.png) center right no-repeat; display:block; width:20px; height:20px; } - a.b_mark_not_set { background: url(images/flag.png) center right no-repeat; display:block; width:20px; height:20px; opacity:0.4;filter:alpha(opacity=40);} + a.b_mark_set { background: url(../openolat/images/flag.png) center right no-repeat; display:block; width:20px; height:20px; } + a.b_mark_not_set { background: url(../openolat/images/flag.png) center right no-repeat; display:block; width:20px; height:20px; opacity:0.4;filter:alpha(opacity=40);} a.b_mark_set span, a.b_mark_not_set span { display:block; width:19px; height:19px; } } diff --git a/src/main/webapp/static/themes/openolat/all/modules/_forum.scss b/src/main/webapp/static/themes/openolat/all/modules/_forum.scss index 3b044e315d2462bbf4e7beeb101755654c7f27d7..cc22073d59524b628c1c8c572fe46c3e5f827fe0 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_forum.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_forum.scss @@ -18,7 +18,7 @@ div.o_forum { vertical-align: middle; padding: 2px 5px 2px 5px; min-height: 24px; strong { font-weight: bold;} } - div.o_forum_message_new div.o_forum_message_title strong {background: url(images/new-text.png) no-repeat top right; padding-right: 20px;} + div.o_forum_message_new div.o_forum_message_title strong {background: url(../openolat/images/new-text.png) no-repeat top right; padding-right: 20px;} div.o_forum_message_content_wrapper { div.o_forum_message_content { } @@ -46,10 +46,10 @@ div.o_forum { } span.o_forum_thread_sticky { font-weight: bold; } -span.o_forum_status_thread_icon {background-image: url(images/forum/forum.png)} -span.o_forum_status_sticky_closed_icon {background-image: url(images/forum/sticky-note-pin_locked.png)} -span.o_forum_status_sticky_icon {background-image: url(images/forum/sticky-note-pin.png)} -span.o_forum_status_closed_icon {background-image: url(images/forum/forum_locked.png)} +span.o_forum_status_thread_icon {background-image: url(../openolat/images/forum/forum.png)} +span.o_forum_status_sticky_closed_icon {background-image: url(../openolat/images/forum/sticky-note-pin_locked.png)} +span.o_forum_status_sticky_icon {background-image: url(../openolat/images/forum/sticky-note-pin.png)} +span.o_forum_status_closed_icon {background-image: url(../openolat/images/forum/forum_locked.png)} div.o_forum_peekview { margin: 1em 0 1em 0; @@ -57,7 +57,7 @@ div.o_forum_peekview { div.o_forum_peekview_message { padding-left: 20px; padding-bottom: 15px; } div.b_quote_wrapper { display: none;} } -.o_forum_message_icon {background-image: url(images/forum/balloon-white-left.png); } +.o_forum_message_icon {background-image: url(../openolat/images/forum/balloon-white-left.png); } div.o_forum_toolbar { float:left; display:inline; width:75%; } div#o_forum_fulltextsearch { diff --git a/src/main/webapp/static/themes/openolat/all/modules/_imscp.scss b/src/main/webapp/static/themes/openolat/all/modules/_imscp.scss index a7fff09da15dfb3cbe37247d4cc49aff9f599acd..0f182938b4f9ebca0a4a0c31eb3c5bb038da1f18 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_imscp.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_imscp.scss @@ -2,7 +2,7 @@ div.o_module_cp_wrapper{ - a.b_content_download {background: url('images/drive-download.png') no-repeat top left; padding-left: 20px; margin: 3px; display:block; min-height: 16px;} + a.b_content_download {background: url('../openolat/images/drive-download.png') no-repeat top left; padding-left: 20px; margin: 3px; display:block; min-height: 16px;} div#o_local_fulltextsearch { position:absolute; top:0; right:0; z-index:10; } div#o_local_fulltextsearch div.b_form_element_wrapper.b_form_horizontal { margin:0; } @@ -15,11 +15,11 @@ div.o_module_cp_wrapper{ div span a { margin: 0 2px; } div span.b_disabled { display:none; } - div span a.o_cp_previous_icon { background-image: url('images/arrow_left_big.png'); text-decoration: none; } + div span a.o_cp_previous_icon { background-image: url('../openolat/images/arrow_left_big.png'); text-decoration: none; } div span a.o_cp_previous_icon span {display:none; } - div span a.o_cp_next_icon { background-image: url('images/arrow_right_big.png'); } + div span a.o_cp_next_icon { background-image: url('../openolat/images/arrow_right_big.png'); } div span a.o_cp_next_icon span {display:none; } - div span a.o_cp_print_icon { background-image: url('images/printer.png'); } + div span a.o_cp_print_icon { background-image: url('../openolat/images/printer.png'); } div span a.o_cp_print_icon span {display:none; } div.o_cp_navigation div, div.o_cp_navigation form { display:inline; } div.o_cp_navigation div.b_clearfix { display:inline; clear:none; } @@ -33,10 +33,10 @@ div.o_module_tu_wrapper {} /* IMS CP Editor */ #o_cpeditor_menu div.o_cpeditor_menu_tree { padding: 10px 0 0 0;} #b_col1 div.b_menu_toolbar a, #b_col3 div.b_menu_toolbar a {width: 16px; height: 16px; margin: 3px; float: right; display: inline; background-repeat: no-repeat;} -a.o_cpeditor_import { background-image: url('images/docs/document_upload.png'); } -a.o_cpeditor_new { background-image: url('images/docs/document_add.png'); } -a.o_cpeditor_copy { background-image: url('images/docs/document_copy.png'); } -a.o_cpeditor_delete { background-image: url('images/docs/document_remove.png'); } -a.o_cpeditor_edit { background-image: url(images/docs/document_metadata_edit.png);} -a.o_cpeditor_preview { background-image: url(images/docs/document_preview.png); } +a.o_cpeditor_import { background-image: url('../openolat/images/docs/document_upload.png'); } +a.o_cpeditor_new { background-image: url('../openolat/images/docs/document_add.png'); } +a.o_cpeditor_copy { background-image: url('../openolat/images/docs/document_copy.png'); } +a.o_cpeditor_delete { background-image: url('../openolat/images/docs/document_remove.png'); } +a.o_cpeditor_edit { background-image: url(../openolat/images/docs/document_metadata_edit.png);} +a.o_cpeditor_preview { background-image: url(../openolat/images/docs/document_preview.png); } #o_cpeditor_content div.o_cpeditor_message { padding: 20px;} \ No newline at end of file diff --git a/src/main/webapp/static/themes/openolat/all/modules/_portlets_boxes.scss b/src/main/webapp/static/themes/openolat/all/modules/_portlets_boxes.scss index a684f7100b5710360d1f5550fd992226dbc4c17c..a8ec2d881a5c033a678f0211df545e66e36417d4 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_portlets_boxes.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_portlets_boxes.scss @@ -35,7 +35,7 @@ div.o_home_rsslink { bottom: 0; left: 0; height: 16px; - background: white url(images/magnifier-zoom.png) no-repeat 4px 0; + background: white url(../openolat/images/magnifier-zoom.png) no-repeat 4px 0; } #o_macartney_large { position: fixed; @@ -48,7 +48,7 @@ div.o_home_rsslink { padding: 5px; } #o_macartney_large img { width: 100%; } -#o_macartney_close {position: absolute; width: 16px; top: 0; right: 0; height: 16px; border-left: 1px solid #000; border-bottom: 1px solid #000; background: #fff url(images/close.png)} +#o_macartney_close {position: absolute; width: 16px; top: 0; right: 0; height: 16px; border-left: 1px solid #000; border-bottom: 1px solid #000; background: #fff url(../openolat/images/close.png)} /** ----------------- PORTLETS & BOXES ----------------- **/ @@ -110,20 +110,20 @@ div.o_home_rsslink { /* the toolbox buttons */ - a.b_portlet_edit_left { background-image: url(images/arrow_left_big.png);} - a.b_portlet_edit_right { background-image: url(images/arrow_right_big.png);} - a.b_portlet_edit_down { background-image: url(images/arrow_down_big.png); } - a.b_portlet_edit_up { background-image: url(images/arrow_up_big.png); } - a.b_portlet_edit_delete { background-image: url(images/cross-script.png); } - a.b_portlet_edit_sort_auto { background-image: url(images/table_sort.png); } - a.b_portlet_edit_sort_manual { background-image: url(images/table_gear.png); } + a.b_portlet_edit_left { background-image: url(../openolat/images/arrow_left_big.png);} + a.b_portlet_edit_right { background-image: url(../openolat/images/arrow_right_big.png);} + a.b_portlet_edit_down { background-image: url(../openolat/images/arrow_down_big.png); } + a.b_portlet_edit_up { background-image: url(../openolat/images/arrow_up_big.png); } + a.b_portlet_edit_delete { background-image: url(../openolat/images/cross-script.png); } + a.b_portlet_edit_sort_auto { background-image: url(../openolat/images/table_sort.png); } + a.b_portlet_edit_sort_manual { background-image: url(../openolat/images/table_gear.png); } - span.b_portlet_edit_left_disabled { background-image: url(images/arrow_left_big.png); opacity:0.2;} - span.b_portlet_edit_right_disabled { background-image: url(images/arrow_right_big.png); opacity:0.2;} - span.b_portlet_edit_down_disabled { background-image: url(images/arrow_down_big.png); opacity:0.2;} - span.b_portlet_edit_up_disabled { background-image: url(images/arrow_up_big.png); opacity:0.2;} - span.b_portlet_edit_sort_auto_disabled { background-image: url(images/table_sort.png); opacity:0.2;} - span.b_portlet_edit_sort_manual_disabled { background-image: url(images/table_gear.png); opacity:0.2;} + span.b_portlet_edit_left_disabled { background-image: url(../openolat/images/arrow_left_big.png); opacity:0.2;} + span.b_portlet_edit_right_disabled { background-image: url(../openolat/images/arrow_right_big.png); opacity:0.2;} + span.b_portlet_edit_down_disabled { background-image: url(../openolat/images/arrow_down_big.png); opacity:0.2;} + span.b_portlet_edit_up_disabled { background-image: url(../openolat/images/arrow_up_big.png); opacity:0.2;} + span.b_portlet_edit_sort_auto_disabled { background-image: url(../openolat/images/table_sort.png); opacity:0.2;} + span.b_portlet_edit_sort_manual_disabled { background-image: url(../openolat/images/table_gear.png); opacity:0.2;} } diff --git a/src/main/webapp/static/themes/openolat/all/modules/_qti.scss b/src/main/webapp/static/themes/openolat/all/modules/_qti.scss index 9c99f227a42c4a93eed5f5d67ebc4246e22f9d35..4c578d81ef2283141f147b998f075b564249a50e 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_qti.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_qti.scss @@ -3,8 +3,8 @@ #o_qti_run div.b_button_group { text-align: left;} #o_qti_run_title { text-align: right;} #o_qti_run_title strong { float: left; display: inline;} - #o_qti_run.o_qti_survey #o_qti_run_title strong { background: url(images/le_resources/survey.png) no-repeat left 50%; padding-left: 20px;} - #o_qti_run.o_qti_test #o_qti_run_title strong { background: url(images/le_resources/test.png) no-repeat left 50%; padding-left: 20px; padding-top:2px; padding-bottom:2px;} + #o_qti_run.o_qti_survey #o_qti_run_title strong { background: url(../openolat/images/le_resources/survey.png) no-repeat left 50%; padding-left: 20px;} + #o_qti_run.o_qti_test #o_qti_run_title strong { background: url(../openolat/images/le_resources/test.png) no-repeat left 50%; padding-left: 20px; padding-top:2px; padding-bottom:2px;} #o_qti_scoreinfo{float: left; display: inline; padding: .3em; border: 1px solid silver; margin-right: 1em;} #o_qti_run_score { clear: both; margin: 1em 0; padding: 0 0 1.5em 0; font-size: 90%;} #o_qti_run_scoreinfo {float: left; display: inline;} @@ -21,12 +21,12 @@ #o_qti_run_menu_inner li div.o_qti_menu_item, #o_qti_run_menu li div.o_qti_menu_section {float: left; display: inline; margin-right: 10px;} #o_qti_run_content_inner { } #o_qti_results td { padding: 0; } /* fixes problem with truncated testresults, see OLAT-3416 */ - #b_main.o_editor_qti_correct {background-image: url(images/qti/correct_bg.png); background-position: top left; } + #b_main.o_editor_qti_correct {background-image: url(../openolat/images/qti/correct_bg.png); background-position: top left; } #b_main.o_editor_qti {background-image: url(../images/olat/editor/edit_bg.png); background-position: top left; } #o_qti_hints, #o_qti_solutions { margin: 1em 0;} #o_qti_hints a { background: url(../images/olat/lightbulb.png) no-repeat left 50%; cursor: help; padding-left: 20px; } #o_qti_hints a:focus, #o_qti_hints a:hover{ background-image: url(../images/olat/lightbulb_hover.png); } - #o_qti_solutions a { background: url(images/magnifier-zoom.png) no-repeat left 50%; cursor: help; padding-left: 20px; } + #o_qti_solutions a { background: url(../openolat/images/magnifier-zoom.png) no-repeat left 50%; cursor: help; padding-left: 20px; } .qti_response_level_feedback_label { margin-top: 1em; font-style:italic } .qti_edit_layout { position:relative; padding-right:30px; margin-bottom:0.6em; } .qti_edit_layout .edit_link { position:absolute; top:10px; right:0px; } @@ -66,7 +66,7 @@ .o_qti_menu_item:hover {border: 1px solid silver;} .o_qti_menu_item_closed {padding:.3em; border: 1px solid transparent;} - .o_qti_menu_item_attempts_marked, .o_qti_menu_item_attempts {color: silver; padding: .2em .4em; border: 1px solid transparent; background: url(images/flag.png) center right no-repeat; display:block; width:20px; height:12px; } + .o_qti_menu_item_attempts_marked, .o_qti_menu_item_attempts {color: silver; padding: .2em .4em; border: 1px solid transparent; background: url(../openolat/images/flag.png) center right no-repeat; display:block; width:20px; height:12px; } .o_qti_menu_item_attempts { opacity:0.4;filter:alpha(opacity=40); } .o_qti_menu_item_attempts:hover, .o_qti_menu_item_attempts_marked:hover {color: silver; border: 1px solid silver; cursor:pointer; } @@ -75,21 +75,21 @@ .o_qti_item_note_box {border: 1px dashed silver; padding:.1em;margin:0;padding-left:.5em;} div.o_qti_item_note_box_title{color: silver;} - div.o_qti_item_itemfeedback, div.o_qti_item_assessfeedback, div.o_qti_item_o_qti_item_sectionfeedback{margin: 1em 0; background: url(images/lightning.png) no-repeat left 50%; padding-left: 20px;} + div.o_qti_item_itemfeedback, div.o_qti_item_assessfeedback, div.o_qti_item_o_qti_item_sectionfeedback{margin: 1em 0; background: url(../openolat/images/lightning.png) no-repeat left 50%; padding-left: 20px;} div.o_qti_item_objectives {margin: 1em 0; background: url(../images/brasato/information.png) no-repeat left 50%; padding-left: 20px; line-height:2em;} /* qti menu items */ - .o_qti_timelimit_icon {background-image: url(images/qti/time.png); } - .o_qti_attemptslimit_icon {background-image: url(images/qti/tries.png); } - .o_qti_closed_icon {background-image: url(images/qti/closed.png); } - .o_mi_qtialientitem { background-image: url(images/docs/document_plain.png); } - .o_mi_qtisc { background-image: url(images/qti/scItem.png); } - .o_mi_qtimc { background-image: url(images/qti/mcItem.png); } - .o_mi_qtikprim {background-image: url(images/qti/kprimItem.png); } - .o_mi_qtifib { background-image: url(images/qti/fibItem.png); } - .o_mi_qtiessay {background-image: url(images/qti/essayItem.png); } - .o_mi_qtisection { background-image: url(images/qti/section.png); } - .o_mi_iqtest { background-image: url(images/le_resources/test.png); } - .o_mi_iqsurv { background-image: url(images/le_resources/survey.png); } + .o_qti_timelimit_icon {background-image: url(../openolat/images/qti/time.png); } + .o_qti_attemptslimit_icon {background-image: url(../openolat/images/qti/tries.png); } + .o_qti_closed_icon {background-image: url(../openolat/images/qti/closed.png); } + .o_mi_qtialientitem { background-image: url(../openolat/images/docs/document_plain.png); } + .o_mi_qtisc { background-image: url(../openolat/images/qti/scItem.png); } + .o_mi_qtimc { background-image: url(../openolat/images/qti/mcItem.png); } + .o_mi_qtikprim {background-image: url(../openolat/images/qti/kprimItem.png); } + .o_mi_qtifib { background-image: url(../openolat/images/qti/fibItem.png); } + .o_mi_qtiessay {background-image: url(../openolat/images/qti/essayItem.png); } + .o_mi_qtisection { background-image: url(../openolat/images/qti/section.png); } + .o_mi_iqtest { background-image: url(../openolat/images/le_resources/test.png); } + .o_mi_iqsurv { background-image: url(../openolat/images/le_resources/survey.png); } diff --git a/src/main/webapp/static/themes/openolat/all/modules/_tables.scss b/src/main/webapp/static/themes/openolat/all/modules/_tables.scss index 450d4f9d3cb80fe7c5f382e4f29cdd24de600f19..3a26e74a50c9d3e1cc16e0f05a3e3f66e4e656c1 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_tables.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_tables.scss @@ -43,8 +43,8 @@ div.b_table_wrapper { div.b_clearfix div.b_floatbox { margin:5px 0 0 0; } div.b_table_count { font-size: 95%; float: left; line-height: 16px; vertical-align: bottom; margin: 3px; font-size: 95%;} a.b_table_prefs, a.b_table_download {float: right; display: block; background-repeat: no-repeat; background-position: top left; width: 16px; height: 16px; margin: 3px;} - a.b_table_prefs {background-image: url(images/table_gear.png);} - a.b_table_download {background-image: url(images/table_download.png);} + a.b_table_prefs {background-image: url(../openolat/images/table_gear.png);} + a.b_table_download {background-image: url(../openolat/images/table_download.png);} div.b_table_buttons { text-align: center; margin: 1.5em 0 1em 0; } /* bottom-margin to fix IE6 overflow issue */ } @@ -53,9 +53,9 @@ div.b_table_page { font-size: 95%; text-align: center; a { margin: 0 ; padding: 2px;} a.b_table_page_active { font-weight: bold; color: #000;} - a.b_table_backward {background: url(images/arrow_left.png) no-repeat center left; padding-left: 16px;} - a.b_table_forward {background: url(images/arrow_right.png) no-repeat center right; padding-right: 16px;} - a.b_table_first_page {background: url(images/home.png) no-repeat center left; padding-left: 18px;} + a.b_table_backward {background: url(../openolat/images/arrow_left.png) no-repeat center left; padding-left: 16px;} + a.b_table_forward {background: url(../openolat/images/arrow_right.png) no-repeat center right; padding-right: 16px;} + a.b_table_first_page {background: url(../openolat/images/home.png) no-repeat center left; padding-left: 18px;} } div.b_table_page_all { font-size: 95%; text-align: center; diff --git a/src/main/webapp/static/themes/openolat/all/modules/_tabpane.scss b/src/main/webapp/static/themes/openolat/all/modules/_tabpane.scss index c8f89efe91099eaffc4daae8e1675947b3417b06..2d010264b38e1a00e23dafbd7b499ee7c7e5bf3b 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_tabpane.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_tabpane.scss @@ -95,7 +95,7 @@ div.b_segments_container { min-height: 25px; padding-top: 8px; position: relative; - background: url(images/divider.png) center top no-repeat; + background: url(../openolat/images/divider.png) center top no-repeat; div.b_segments { clear:both; position:absolute; diff --git a/src/main/webapp/static/themes/openolat/all/modules/_translationtool.scss b/src/main/webapp/static/themes/openolat/all/modules/_translationtool.scss index 676158a2bf47d87547bcdc4a7282ed0ebfc9b241..2410a8b3f92befa27d164825f14c8b3e5dc0282e 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_translationtool.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_translationtool.scss @@ -14,20 +14,20 @@ div.b_translation_edit div.b_form_element textarea.b_form_element_disabled { color: #000; background: #EEEEEE; border: 1px solid #CDCBCB;} div.b_translation_edit div.b_translation_edit_annotation h5 {font-weight: normal; font-size: 100%; font-style: italic;} div.b_translation_edit div.b_translation_edit_annotation textarea {font-style: italic;} - div.b_translation_edit div.b_translation_refKey { background-image: url(images/magnifier-zoom.png); vertical-align: middle; background-color: #eee; border:1px solid #ACAAAA; margin-right: 1%; } + div.b_translation_edit div.b_translation_refKey { background-image: url(../openolat/images/magnifier-zoom.png); vertical-align: middle; background-color: #eee; border:1px solid #ACAAAA; margin-right: 1%; } div.b_translation_edit div.b_translation_refKey code { line-height: 1em; vertical-align: middle;} div.b_translation_edit div.b_translation_refKey span { line-height: 1em; font-style: italic;} div.b_translation_config span.b_translation_status, ul.b_translation_status span.b_translation_status { position: absolute; right:1em; } ul.b_translation_status { column-count:2; -moz-column-count:2; list-style: none;} ul.b_translation_status li { position: relative;} - .b_translation_package_icon { background-image: url(images/folder_open.png) ! important; } - .b_translation_item_icon { background-image: url(images/docs/document-node.png) ! important; } - .b_translation_search_icon { background-image: url(images/magnifier-zoom.png) ! important; } + .b_translation_package_icon { background-image: url(../openolat/images/folder_open.png) ! important; } + .b_translation_item_icon { background-image: url(../openolat/images/docs/document-node.png) ! important; } + .b_translation_search_icon { background-image: url(../openolat/images/magnifier-zoom.png) ! important; } /* inline translation tool */ span.b_translation_i18nitem { position: relative ! important; } span.b_translation_i18nitem a.b_translation_i18nitem_launcher { position: absolute ! important; z-index: 100 ! important; width: 16px ! important; height: 16px ! important; top: 0 ! important; left: 5px ! important; - background: #eee url(images/docs/document_metadata_edit.png) no-repeat ! important; border: 1px solid #6E6E6E ! important; + background: #eee url(../openolat/images/docs/document_metadata_edit.png) no-repeat ! important; border: 1px solid #6E6E6E ! important; @include o-border-radius(3px); padding: 0 ! important; } diff --git a/src/main/webapp/static/themes/openolat/all/modules/_wiki.scss b/src/main/webapp/static/themes/openolat/all/modules/_wiki.scss index ff0ce0e7def9861519292c17ee9be6c27c8e5235..f93c76cda6a9b375e4a88bcc957a40d69dbe4a9c 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_wiki.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_wiki.scss @@ -40,18 +40,18 @@ } div.o_wikimod_btn div.b_contexthelp_wrapper a.b_contexthelp {position: absolute; top: 0; right: 0;} - a.o_wikimod_btn_bold { background-image: url(images/wiki/edit-bold.png) } - a.o_wikimod_btn_italic { background-image: url(images/wiki/edit-italic.png) } - a.o_wikimod_btn_link { background: url(images/wiki/chain.png) } - a.o_wikimod_btn_extlink { background: url(images/wiki/chain--arrow.png) } - a.o_wikimod_btn_headline { background: url(images/wiki/edit-heading.png) } - a.o_wikimod_btn_image { background: url(images/wiki/image-medium.png) } - a.o_wikimod_btn_media { background: url(images/music-beam.png) } - a.o_wikimod_btn_math { background: url(images/wiki/edit-math.png) } - a.o_wikimod_btn_nowiki { background: url(images/wiki/edit-nowiki.png) } - a.o_wikimod_btn_hr { background: url(images/wiki/edit-hr.png) } - a.o_wikimod_btn_list { background: url(images/wiki/edit-list.png) } - a.o_wikimod_btn_numlist { background: url(images/wiki/edit-list-order.png) } + a.o_wikimod_btn_bold { background-image: url(../openolat/images/wiki/edit-bold.png) } + a.o_wikimod_btn_italic { background-image: url(../openolat/images/wiki/edit-italic.png) } + a.o_wikimod_btn_link { background: url(../openolat/images/wiki/chain.png) } + a.o_wikimod_btn_extlink { background: url(../openolat/images/wiki/chain--arrow.png) } + a.o_wikimod_btn_headline { background: url(../openolat/images/wiki/edit-heading.png) } + a.o_wikimod_btn_image { background: url(../openolat/images/wiki/image-medium.png) } + a.o_wikimod_btn_media { background: url(../openolat/images/music-beam.png) } + a.o_wikimod_btn_math { background: url(../openolat/images/wiki/edit-math.png) } + a.o_wikimod_btn_nowiki { background: url(../openolat/images/wiki/edit-nowiki.png) } + a.o_wikimod_btn_hr { background: url(../openolat/images/wiki/edit-hr.png) } + a.o_wikimod_btn_list { background: url(../openolat/images/wiki/edit-list.png) } + a.o_wikimod_btn_numlist { background: url(../openolat/images/wiki/edit-list-order.png) } } diff --git a/src/main/webapp/static/themes/openolat/layout.css b/src/main/webapp/static/themes/openolat/layout.css index 5efa4abba69f3cae8fa88c03a9c3f60718ec4e0d..13c459cb3e03bfe0b433284bfc6ce28c65d105ad 100644 --- a/src/main/webapp/static/themes/openolat/layout.css +++ b/src/main/webapp/static/themes/openolat/layout.css @@ -47,6 +47,7 @@ * ================================================= * * CONTAINS SOME SASS VARIABLES +* you can change these and compile the theme :) * * @author strentini, sergio.trentini@frentix.com, www.frentix.com * @date Nov. 2011 @@ -56,6 +57,8 @@ * * ================================================= */ +/* the base-color and variations (for openolat-theme this is the openolat-blue) */ +/* then we need a base-gray and some variations */ /* --------------- */ /* * ================================================= @@ -76,6 +79,9 @@ * ================================================= */ @media all { + html { + min-height: 100%; } + /** ----------------- MAIN LAYOUT ----------------- **/ /** * (en) Forcing vertical scrollbars in IE8, Firefox, Webkit & Opera @@ -87,8 +93,9 @@ * @valid CSS3 */ body { + min-height: 100%; overflow-y: scroll; - background: #ececec url("images/sky.png") repeat-x left 88px; } + background: #ececec url("../openolat/images/sky.png") repeat-x left 88px; } #b_page_margins { min-width: 740px; @@ -113,7 +120,7 @@ position: absolute; bottom: 1em; right: 1em; - background: transparent url(images/arrow_up.png) 0 50% no-repeat; + background: transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat; padding-left: 14px; z-index: 5; } @@ -194,11 +201,11 @@ margin: 0; width: 10em; } #b_header #b_topnav #o_topnav_printview a { - background: url(images/printer.png) no-repeat top right; + background: url(../openolat/images/printer.png) no-repeat top right; padding: 2px 20px 2px 0; margin: 0; } #b_header #b_topnav #o_topnav_logout a { - background: url("images/control/control-power.png") no-repeat top right; + background: url("../openolat/images/control/control-power.png") no-repeat top right; padding: 2px 20px 2px 0; margin: 0; font-weight: bold; } @@ -253,32 +260,32 @@ box-shadow: 0 -4px 8px -1px #d3d3d3; background: #fff; } #b_nav_main ul li.b_nav_site.b_nav_active a.b_nav_tab_close, #b_nav_main ul li.b_nav_site:hover a.b_nav_tab_close { - background-image: url(images/cross_small_trimmed_blue.png); } + background-image: url(../openolat/images/cross_small_trimmed_blue.png); } #b_nav_main ul li.b_nav_site > div { padding-left: 16px; background-repeat: no-repeat; background-position: 0% 50%; - background-image: url("images/application.png"); } + background-image: url("../openolat/images/application.png"); } #b_nav_main ul li.b_nav_site.o_site_home > div { - background-image: url("images/home.png"); } + background-image: url("../openolat/images/home.png"); } #b_nav_main ul li.b_nav_site.o_site_admin > div { - background-image: url("images/wrench-screwdriver.png"); } + background-image: url("../openolat/images/wrench-screwdriver.png"); } #b_nav_main ul li.b_nav_site.o_site_useradmin > div { - background-image: url("images/user_conf.png"); } + background-image: url("../openolat/images/user_conf.png"); } #b_nav_main ul li.b_nav_site.o_site_groupsmanagement > div { - background-image: url("images/users_conf.png"); } + background-image: url("../openolat/images/users_conf.png"); } #b_nav_main ul li.b_nav_site.o_site_repository > div { - background-image: url("images/books-stack.png"); } + background-image: url("../openolat/images/books-stack.png"); } #b_nav_main ul li.b_nav_site.o_site_groups > div { - background-image: url("images/users.png"); } + background-image: url("../openolat/images/users.png"); } #b_nav_main ul li.b_nav_site.site_demo_icon > div { - background-image: url("images/information-white.png"); } + background-image: url("../openolat/images/information-white.png"); } #b_nav_main ul li.b_nav_site.f_site_library > div { - background-image: url("images/library.png"); } + background-image: url("../openolat/images/library.png"); } #b_nav_main ul li.b_nav_site.o_site_guidemo div { - background-image: url("images/light-bulb.png"); } + background-image: url("../openolat/images/light-bulb.png"); } #b_nav_main ul li.b_nav_site.b_resource_GroupInfoMainController div { - background-image: url(images/users.png); } + background-image: url(../openolat/images/users.png); } #b_nav_main ul li.b_nav_tab { margin-right: 4px; } #b_nav_main ul li.b_nav_tab a.b_nav_tab_close { @@ -290,7 +297,7 @@ line-height: 0; padding: 0; margin: 0; - background: transparent url(images/cross_small_trimmed_grey.png) no-repeat right top; } + background: transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top; } #b_nav_main ul li.b_nav_tab.b_nav_active, #b_nav_main ul li.b_nav_tab:hover { moz-box-shadow: 0 -4px 8px -1px #d3d3d3; -ms-box-shadow: 0 -4px 8px -1px #d3d3d3; @@ -299,7 +306,7 @@ box-shadow: 0 -4px 8px -1px #d3d3d3; background: #fff; } #b_nav_main ul li.b_nav_tab.b_nav_active a.b_nav_tab_close, #b_nav_main ul li.b_nav_tab:hover a.b_nav_tab_close { - background-image: url(images/cross_small_trimmed_blue.png); } + background-image: url(../openolat/images/cross_small_trimmed_blue.png); } #b_nav_main ul li#b_nav_spacer { background: none; border: none; @@ -476,10 +483,10 @@ padding-left: 130px; background-position: 112px 50%; } div.b_tree a.b_tree_level_close span { - background: url("images/toggle-small.png") no-repeat 0% 50%; + background: url("../openolat/images/toggle-small.png") no-repeat 0% 50%; padding-right: 8px; } div.b_tree a.b_tree_level_open span { - background: url("images/toggle-small-expand.png") no-repeat 0% 50%; + background: url("../openolat/images/toggle-small-expand.png") no-repeat 0% 50%; padding-right: 8px; } div.b_tree a.b_tree_level_close:hover, div.b_tree a.b_tree_level_open:hover { text-decoration: none; } @@ -496,7 +503,7 @@ float: left; line-height: 16px; } #b_footer #b_footer_user a.b_ajax { - background: url(images/ajax.png) no-repeat; + background: url(../openolat/images/ajax.png) no-repeat; width: 20px; height: 16px; display: block; @@ -566,9 +573,9 @@ list-style: none; float: left; display: inline; - background: url(images/breadcrumb-separator.png) no-repeat left center; } + background: url(../openolat/images/breadcrumb-separator.png) no-repeat left center; } div.b_breadcumb_path ul li.b_first { - background: url(images/home.png) no-repeat top left; + background: url(../openolat/images/home.png) no-repeat top left; padding-left: 25px; } div.b_breadcumb_path ul li a { color: #464444; } @@ -597,13 +604,13 @@ top: 2px; right: 2px; } div.b_noti a.b_noti_unsubscribe_link { - background: url(images/mail--minus.png) no-repeat left 50%; + background: url(../openolat/images/mail--minus.png) no-repeat left 50%; padding: 1px 0 1px 20px; } div.b_noti a.b_noti_subscribe_link { - background: url(images/mail--plus.png) no-repeat left 50%; + background: url(../openolat/images/mail--plus.png) no-repeat left 50%; padding: 1px 0 1px 20px; } div.b_noti a.b_noti_markedread_link { - background: url(images/tick.png) no-repeat left 50%; + background: url(../openolat/images/tick.png) no-repeat left 50%; padding: 1px 0 1px 20px; } /* ---------- TITLE Wrapper --------------- */ @@ -704,7 +711,7 @@ font-size: 95%; padding: 1px 0 1px 20px; border-bottom: 1px solid #EEE; - background: url(images/folder_open.png) 0 50% no-repeat; } + background: url(../openolat/images/folder_open.png) 0 50% no-repeat; } div.o_catalog div.o_catalog_links { margin-top: 1em; padding-top: 1em; @@ -713,10 +720,10 @@ /** -------------- TAGGING ---------------- **/ /* tagging */ .b_tag_list { - background: url(images/tag-label-yellow.png) 0px 3px no-repeat !important; } + background: url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important; } .b_tag_icon { - background-image: url(images/tag-label-yellow.png); } + background-image: url(../openolat/images/tag-label-yellow.png); } div.b_tags { margin: 2em 0; } @@ -821,7 +828,7 @@ width: 7px; height: 7px; font-size: 1px; - background: url("images/tag_x.gif"); } + background: url("../openolat/images/tag_x.gif"); } div.holder a.bit-box a.closebutton:hover { background-position: 7px; } div.holder a.bit-box a.closebutton:active { @@ -830,7 +837,7 @@ background-position: bottom; } .b_wizard .textbox-outer { - background: url(images/tag-label-yellow.png) top left no-repeat; } + background: url(../openolat/images/tag-label-yellow.png) top left no-repeat; } .b_wizard .textbox-outer li { margin-left: 18px; } .b_wizard div.holder a.bit-input input { @@ -902,29 +909,29 @@ /* EXT TREE */ div.b_ext_elem .x-tree-lines .x-tree-elbow-minus { - background-image: url("images/toggle-small-expand.png"); + background-image: url("../openolat/images/toggle-small-expand.png"); background-position: 50% 50%; } div.b_ext_elem .x-tree-lines .x-tree-elbow-plus { - background-image: url("images/toggle-small-expand.png"); + background-image: url("../openolat/images/toggle-small-expand.png"); background-position: 50% 50%; } div.b_ext_elem .x-tree-lines .x-tree-elbow-end-minus { - background-image: url("images/toggle-small-expand.png"); + background-image: url("../openolat/images/toggle-small-expand.png"); background-position: 50% 50%; } div.b_ext_elem .x-tree-lines .x-tree-elbow-end-plus { - background-image: url("images/toggle-small-expand.png"); + background-image: url("../openolat/images/toggle-small-expand.png"); background-position: 50% 50%; } div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon { - background-image: url(images/folder.png); } + background-image: url(../openolat/images/folder.png); } div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon { - background-image: url(images/folder_open.png); } + background-image: url(../openolat/images/folder_open.png); } div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon { - background-image: url(images/docs/document_plain.png); } + background-image: url(../openolat/images/docs/document_plain.png); } div.b_ext_elem .x-tree-selected a.x-tree-node-anchor { border: 1px dotted #444; @@ -963,7 +970,7 @@ width: 100%; } .b_dd_sibling.b_dd_over { - background: transparent url(images/arrow_dd.png) top left no-repeat; } + background: transparent url(../openolat/images/arrow_dd.png) top left no-repeat; } div.b_dd_ct div.b_dd_sibling_l1 { margin-left: 0 !important; } @@ -1030,593 +1037,593 @@ option.b_with_small_icon_left { /* ------- misc icons --------- */ .b_info_icon { - background-image: url(images/comment.png); } + background-image: url("../openolat/images/comment.png"); } .b_warn_icon { - background-image: url(images/exclamation.png); } + background-image: url("../openolat/images/exclamation.png"); } .b_error_icon { - background-image: url(images/cross-circle.png); } + background-image: url("../openolat/images/cross-circle.png"); } .b_new_icon { - background-image: url(images/new-text.png); } + background-image: url("../openolat/images/new-text.png"); } .b_institution_icon { - background-image: url(images/home.png); } + background-image: url("../openolat/images/home.png"); } .b_group_icon { - background-image: url(images/users.png); } + background-image: url("../openolat/images/users.png"); } .b_user_icon { - background-image: url(images/user.png); } + background-image: url("../openolat/images/user.png"); } .b_move_left_icon { - background-image: url(images/arrow_left_big.png); } + background-image: url("../openolat/images/arrow_left_big.png"); } .b_move_right_icon { - background-image: url(images/arrow_right_big.png); } + background-image: url("../openolat/images/arrow_right_big.png"); } .b_move_down_icon { - background-image: url(images/arrow_down_big.png); } + background-image: url("../openolat/images/arrow_down_big.png"); } .b_move_up_icon { - background-image: url(images/arrow_up_big.png); } + background-image: url("../openolat/images/arrow_up_big.png"); } .b_delete_icon { - background-image: url(images/cross-script.png); } + background-image: url("../openolat/images/cross-script.png"); } .b_share_icon { - background-image: url(images/share.png); } + background-image: url("../openolat/images/share.png"); } .b_status_enabled_icon { - background-image: url(images/tick.png); } + background-image: url("../openolat/images/tick.png"); } .b_status_disabled_icon { - background-image: url(images/cross.png); } + background-image: url("../openolat/images/cross.png"); } .b_edit_icon { - background-image: url(images/docs/document--pencil.png); } + background-image: url("../openolat/images/docs/document--pencil.png"); } .b_add_icon { - background-image: url(images/plus-circle.png); } + background-image: url("../openolat/images/plus-circle.png"); } .b_open_icon { - background-image: url(images/control/control.png); } + background-image: url("../openolat/images/control/control.png"); } .o_fulltext_search_button { - background-image: url("images/magnifier-zoom.png"); } + background-image: url("../openolat/images/magnifier-zoom.png"); } .o_help_icon { - background-image: url(images/help.png); } + background-image: url("../openolat/images/help.png"); } .o_rss_icon { - background-image: url(images/feed.png); } + background-image: url("../openolat/images/feed.png"); } .o_login_guests { - background-image: url(images/user_silhouette.png); } + background-image: url("../openolat/images/user_silhouette.png"); } .o_login_pwd { - background-image: url(images/user_excl.png); } + background-image: url("../openolat/images/user_excl.png"); } .o_login_register { - background-image: url(images/user_register.png); } + background-image: url("../openolat/images/user_register.png"); } .o_news_icon { - background-image: url(../images/olat/information.png); } + background-image: url("../images/olat/information.png"); } .o_course_icon { - background-image: url(images/le_resources/book-open-text-image.png); } + background-image: url("../openolat/images/le_resources/book-open-text-image.png"); } .o_chat_icon { - background-image: url(../images/olat/chat_icon.png); } + background-image: url("../images/olat/chat_icon.png"); } .o_admin_icon { - background-image: url(images/wrench-screwdriver.png); } + background-image: url("../openolat/images/wrench-screwdriver.png"); } .o_calendar_icon { - background-image: url(images/calendar.png); } + background-image: url("../openolat/images/calendar.png"); } /** ------- FLAGS ------ **/ .b_flag_en { - background-image: url(images/flags/gb.png); } + background-image: url("../openolat/images/flags/gb.png"); } .b_flag_de { - background-image: url(images/flags/de.png); } + background-image: url("../openolat/images/flags/de.png"); } .b_flag_fr { - background-image: url(images/flags/fr.png); } + background-image: url("../openolat/images/flags/fr.png"); } .b_flag_it { - background-image: url(images/flags/it.png); } + background-image: url("../openolat/images/flags/it.png"); } .b_flag_es { - background-image: url(images/flags/es.png); } + background-image: url("../openolat/images/flags/es.png"); } .b_flag_da { - background-image: url(images/flags/dk.png); } + background-image: url("../openolat/images/flags/dk.png"); } .b_flag_cs { - background-image: url(images/flags/cz.png); } + background-image: url("../openolat/images/flags/cz.png"); } .b_flag_el { - background-image: url(images/flags/gr.png); } + background-image: url("../openolat/images/flags/gr.png"); } .b_flag_ru { - background-image: url(images/flags/ru.png); } + background-image: url("../openolat/images/flags/ru.png"); } .b_flag_pl { - background-image: url(images/flags/pl.png); } + background-image: url("../openolat/images/flags/pl.png"); } .b_flag_zh_CN { - background-image: url(images/flags/cn.png); } + background-image: url("../openolat/images/flags/cn.png"); } .b_flag_zh_TW { - background-image: url(images/flags/tw.png); } + background-image: url("../openolat/images/flags/tw.png"); } .b_flag_lt { - background-image: url(images/flags/lt.png); } + background-image: url("../openolat/images/flags/lt.png"); } .b_flag_fa { - background-image: url(images/flags/ir.png); } + background-image: url("../openolat/images/flags/ir.png"); } .b_flag_pt_PT { - background-image: url(images/flags/pt.png); } + background-image: url("../openolat/images/flags/pt.png"); } .b_flag_pt_BR { - background-image: url(images/flags/br.png); } + background-image: url("../openolat/images/flags/br.png"); } .b_flag_tr { - background-image: url(images/flags/tr.png); } + background-image: url("../openolat/images/flags/tr.png"); } .b_flag_hu { - background-image: url(images/flags/hu.png); } + background-image: url("../openolat/images/flags/hu.png"); } .b_flag_sq { - background-image: url(images/flags/al.png); } + background-image: url("../openolat/images/flags/al.png"); } .b_flag_in { - background-image: url(images/flags/id.png); } + background-image: url("../openolat/images/flags/id.png"); } .b_flag_ar { - background-image: url(images/flags/eg.png); } + background-image: url("../openolat/images/flags/eg.png"); } .b_flag_rm { - background-image: url(images/flags/rm.png); } + background-image: url("../openolat/images/flags/rm.png"); } .b_flag_af { - background-image: url(images/flags/za.png); } + background-image: url("../openolat/images/flags/za.png"); } .b_flag_vi { - background-image: url(images/flags/vn.png); } + background-image: url("../openolat/images/flags/vn.png"); } .b_flag_mn { - background-image: url(images/flags/mn.png); } + background-image: url("../openolat/images/flags/mn.png"); } .b_flag_iw { - background-image: url(images/flags/il.png); } + background-image: url("../openolat/images/flags/il.png"); } .b_flag_ko { - background-image: url(images/flags/kr.png); } + background-image: url("../openolat/images/flags/kr.png"); } .b_flag_nl_NL { - background-image: url(images/flags/nl.png); } + background-image: url("../openolat/images/flags/nl.png"); } .b_flag_jp { - background-image: url(images/flags/jp.png); } + background-image: url("../openolat/images/flags/jp.png"); } .b_flag_nb_NO { - background-image: url(images/flags/no.png); } + background-image: url("../openolat/images/flags/no.png"); } .b_flag_et_EE { - background-image: url(images/flags/ee.png); } + background-image: url("../openolat/images/flags/ee.png"); } .b_flag_bg { - background-image: url(images/flags/bg.png); } + background-image: url("../openolat/images/flags/bg.png"); } .b_flag_hi_IN_ASIA { - background-image: url(images/flags/in.png); } + background-image: url("../openolat/images/flags/in.png"); } .b_flag_ar_LB { - background-image: url(images/flags/lb.png); } + background-image: url("../openolat/images/flags/lb.png"); } .b_flag_de_FX_business { - background-image: url(images/flags/de.png); } + background-image: url("../openolat/images/flags/de.png"); } .b_flag_de_FX_school { - background-image: url(images/flags/de.png); } + background-image: url("../openolat/images/flags/de.png"); } .b_flag_en_FX_business { - background-image: url(images/flags/gb.png); } + background-image: url("../openolat/images/flags/gb.png"); } .b_flag_en_FX_school { - background-image: url(images/flags/gb.png); } + background-image: url("../openolat/images/flags/gb.png"); } /** ------- FILE TYPES ------- **/ /* first the default that is used as base class. will be overriden by following classes */ .b_filetype_file, .b_filetype_ico { - background-image: url(images/docs/document_plain.png) !important; } + background-image: url("../openolat/images/docs/document_plain.png") !important; } /* filesystem icons, mark important to override ext definitions */ .b_filetype_avi_icon { - background-image: url(images/docs/document-film.png) !important; } + background-image: url("../openolat/images/docs/document-film.png") !important; } .b_filetype_bat_icon { - background-image: url(images/docs/document-binary.png) !important; } + background-image: url("../openolat/images/docs/document-binary.png") !important; } .b_filetype_bmp { - background-image: url(images/docs/document-image.png) !important; } + background-image: url("../openolat/images/docs/document-image.png") !important; } .b_filetype_css { - background-image: url(images/docs/document_tags.png) !important; } + background-image: url("../openolat/images/docs/document_tags.png") !important; } .b_filetype_doc, .b_filetype_docx { - background-image: url(images/docs/document-word.png) !important; } + background-image: url("../openolat/images/docs/document-word.png") !important; } .b_filetype_dvi { - background-image: url(images/docs/document-film.png) !important; } + background-image: url("../openolat/images/docs/document-film.png") !important; } .b_filetype_exe { - background-image: url(images/docs/document-binary.png) !important; } + background-image: url("../openolat/images/docs/document-binary.png") !important; } div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder, .b_filetype_folder_open { - background-image: url(images/folder_open.png) !important; } + background-image: url("../openolat/images/folder_open.png") !important; } .b_filetype_folder { - background-image: url(images/folder.png) !important; } + background-image: url("../openolat/images/folder.png") !important; } .b_filetype_gif { - background-image: url(images/docs/document-image.png) !important; } + background-image: url("../openolat/images/docs/document-image.png") !important; } .b_filetype_gz { - background-image: url(images/docs/document-zipper.png) !important; } + background-image: url("../openolat/images/docs/document-zipper.png") !important; } .b_filetype_htm, .b_filetype_html { - background-image: url(images/docs/document_tags.png) !important; } + background-image: url("../openolat/images/docs/document_tags.png") !important; } .b_filetype_jpeg, .b_filetype_jpg { - background-image: url(images/docs/document-image.png) !important; } + background-image: url("../openolat/images/docs/document-image.png") !important; } .b_filetype_js { - background-image: url(images/docs/document_tags.png) !important; } + background-image: url("../openolat/images/docs/document_tags.png") !important; } .b_filetype_log { - background-image: url(images/docs/document_plain.png) !important; } + background-image: url("../openolat/images/docs/document_plain.png") !important; } .b_filetype_midi { - background-image: url(images/docs/document-music.png) !important; } + background-image: url("../openolat/images/docs/document-music.png") !important; } .b_filetype_mov { - background-image: url(images/docs/document-film.png) !important; } + background-image: url("../openolat/images/docs/document-film.png") !important; } .b_filetype_mp3, .b_filetype_m3u { - background-image: url(images/docs/document-music.png) !important; } + background-image: url("../openolat/images/docs/document-music.png") !important; } .b_filetype_mpeg, .b_filetype_mpg { - background-image: url(images/docs/document-film.png) !important; } + background-image: url("../openolat/images/docs/document-film.png") !important; } .b_filetype_odp { - background-image: url(images/docs/document-powerpoint.png) !important; } + background-image: url("../openolat/images/docs/document-powerpoint.png") !important; } .b_filetype_ods { - background-image: url(images/docs/document-excel.png) !important; } + background-image: url("../openolat/images/docs/document-excel.png") !important; } .b_filetype_odt { - background-image: url(images/docs/document-text.png) !important; } + background-image: url("../openolat/images/docs/document-text.png") !important; } .b_filetype_odg { - background-image: url(images/docs/document-image.png) !important; } + background-image: url("../openolat/images/docs/document-image.png") !important; } .b_filetype_odf { - background-image: url(images/docs/document_plain.png) !important; } + background-image: url("../openolat/images/docs/document_plain.png") !important; } .b_filetype_pdf { - background-image: url(images/docs/document-pdf.png) !important; } + background-image: url("../openolat/images/docs/document-pdf.png") !important; } .b_filetype_png { - background-image: url(images/docs/document-image.png) !important; } + background-image: url("../openolat/images/docs/document-image.png") !important; } .b_filetype_ppt { - background-image: url(images/docs/document-powerpoint.png) !important; } + background-image: url("../openolat/images/docs/document-powerpoint.png") !important; } .b_filetype_pptx { - background-image: url(images/docs/document-powerpoint.png) !important; } + background-image: url("../openolat/images/docs/document-powerpoint.png") !important; } .b_filetype_ps { - background-image: url(images/docs/document-pdf.png) !important; } + background-image: url("../openolat/images/docs/document-pdf.png") !important; } .b_filetype_qt, .b_filetype_ra, .b_filetype_ram { - background-image: url(images/docs/document-film.png) !important; } + background-image: url("../openolat/images/docs/document-film.png") !important; } .b_filetype_readme, .b_filetype_README { - background-image: url(images/docs/document-text.png) !important; } + background-image: url("../openolat/images/docs/document-text.png") !important; } .b_filetype_rtf { - background-image: url(images/docs/document-word.png) !important; } + background-image: url("../openolat/images/docs/document-word.png") !important; } .b_filetype_tar, .b_filetype_tgz { - background-image: url(images/docs/document-zipper.png) !important; } + background-image: url("../openolat/images/docs/document-zipper.png") !important; } .b_filetype_tiff { - background-image: url(images/docs/document-image.png) !important; } + background-image: url("../openolat/images/docs/document-image.png") !important; } .b_filetype_txt { - background-image: url(images/docs/document-text.png) !important; } + background-image: url("../openolat/images/docs/document-text.png") !important; } .b_filetype_wav { - background-image: url(images/docs/document-music.png) !important; } + background-image: url("../openolat/images/docs/document-music.png") !important; } .b_filetype_xls, .b_filetype_xlsx { - background-image: url(images/docs/document-excel.png) !important; } + background-image: url("../openolat/images/docs/document-excel.png") !important; } .b_filetype_xml { - background-image: url(images/docs/document_tags.png) !important; } + background-image: url("../openolat/images/docs/document_tags.png") !important; } .b_filetype_xsl { - background-image: url(images/docs/document_tags.png) !important; } + background-image: url("../openolat/images/docs/document_tags.png") !important; } .b_filetype_zip { - background-image: url(images/docs/document-zipper.png) !important; } + background-image: url("../openolat/images/docs/document-zipper.png") !important; } /* tab icons in nav and in LE-resources table*/ li.b_nav_site div, li.b_nav_tab div { - background: url(images/application.png) no-repeat left 50%; + background: url("../openolat/images/application.png") no-repeat left 50%; padding-left: 18px; } li.b_resource_BusinessGroup div, .o_BusinessGroup_icon { - background-image: url(images/users.png); } + background-image: url("../openolat/images/users.png"); } li.b_resource_CourseModule div, .o_CourseModule_icon { - background-image: url(images/le_resources/book-open-text-image.png); } + background-image: url("../openolat/images/le_resources/book-open-text-image.png"); } li.b_resource_HOMEPAGECONFIG div, .o_HOMEPAGECONFIG_icon, li.b_resource_Identity div { - background-image: url(../images/olat/vcard.png); } + background-image: url("../images/olat/vcard.png"); } li.b_resource_FileResource-SHAREDFOLDER div, .o_FileResource-SHAREDFOLDER_icon { - background-image: url(images/folder_shared.png); } + background-image: url("../openolat/images/folder_shared.png"); } li.b_resource_FileResource-WIKI div, .o_FileResource-WIKI_icon { - background-image: url(images/le_resources/wiki.png); } + background-image: url("../openolat/images/le_resources/wiki.png"); } li.b_resource_FileResource-PODCAST div, .o_FileResource-PODCAST_icon { - background-image: url(images/le_resources/media-player-cast.png); } + background-image: url("../openolat/images/le_resources/media-player-cast.png"); } li.b_resource_FileResource-BLOG div, .o_FileResource-BLOG_icon { - background-image: url(images/le_resources/blog.png); } + background-image: url("../openolat/images/le_resources/blog.png"); } li.b_resource_FileResource-MOVIE div, .o_FileResource-MOVIE_icon { - background-image: url(images/docs/document-film.png); } + background-image: url("../openolat/images/docs/document-film.png"); } li.b_resource_FileResource-PDF div, .o_FileResource-PDF_icon { - background-image: url(images/docs/document-pdf.png); } + background-image: url("../openolat/images/docs/document-pdf.png"); } li.b_resource_FileResource-PPT div, .o_FileResource-PPT_icon { - background-image: url(images/docs/document-powerpoint.png); } + background-image: url("../openolat/images/docs/document-powerpoint.png"); } li.b_resource_FileResource-DOC div, .o_FileResource-DOC_icon { - background-image: url(images/docs/document-word.png); } + background-image: url("../openolat/images/docs/document-word.png"); } li.b_resource_FileResource-IMSCP div, .o_FileResource-IMSCP_icon { - background-image: url(images/le_resources/book-open-text-image-red.png); } + background-image: url("../openolat/images/le_resources/book-open-text-image-red.png"); } li.b_resource_FileResource-SCORMCP div, .o_FileResource-SCORMCP_icon { - background-image: url(images/le_resources/book-open-text-image-s.png); } + background-image: url("../openolat/images/le_resources/book-open-text-image-s.png"); } li.b_resource_FileResource-FILE div, .o_FileResource-FILE_icon { - background-image: url(images/docs/document_plain.png); } + background-image: url("../openolat/images/docs/document_plain.png"); } li.b_resource_FileResource-IMAGE div, .o_FileResource-IMAGE_icon { - background-image: url(images/docs/document-image.png); } + background-image: url("../openolat/images/docs/document-image.png"); } li.b_resource_FileResource-SOUND div, .o_FileResource-SOUND_icon { - background-image: url(images/docs/document-music.png); } + background-image: url("../openolat/images/docs/document-music.png"); } li.b_resource_FileResource-XLS div, .o_FileResource-XLS_icon { - background-image: url(images/docs/document-excel.png); } + background-image: url("../openolat/images/docs/document-excel.png"); } li.b_resource_FileResource-ANIM div, .o_FileResource-ANIM_icon { - background-image: url(images/docs/document-image.png); } + background-image: url("../openolat/images/docs/document-image.png"); } li.b_resource_FileResource-SURVEY div, .o_FileResource-SURVEY_icon { - background-image: url(images/le_resources/survey.png); } + background-image: url("../openolat/images/le_resources/survey.png"); } li.b_resource_FileResource-TEST div, .o_FileResource-TEST_icon { - background-image: url(images/le_resources/test.png); } + background-image: url("../openolat/images/le_resources/test.png"); } li.b_resource_FileResource-GLOSSARY div, .o_FileResource-GLOSSARY_icon { - background-image: url(images/le_resources/glossary.png); } + background-image: url("../openolat/images/le_resources/glossary.png"); } li.b_resource_org-olat-search-ui-SearchController div, .o_org-olat-search-ui-SearchController_icon { - background-image: url(images/magnifier-zoom.png); } + background-image: url("../openolat/images/magnifier-zoom.png"); } li.b_resource_EPStructuredMapTemplate div { - background-image: url(images/le_resources/portfolio.png); } + background-image: url("../openolat/images/le_resources/portfolio.png"); } /* ------ TOOLBOX ICONS -------- */ li a.o_toolbox_course { - background-image: url(images/le_resources/book-open-text-image.png); } + background-image: url("../openolat/images/le_resources/book-open-text-image.png"); } li a.o_toolbox_content { - background-image: url(images/le_resources/book-open-text-image-red.png); } + background-image: url("../openolat/images/le_resources/book-open-text-image-red.png"); } li a.o_toolbox_scorm { - background-image: url(images/le_resources/book-open-text-image-s.png); } + background-image: url("../openolat/images/le_resources/book-open-text-image-s.png"); } li a.o_toolbox_test { - background-image: url(images/le_resources/test.png); } + background-image: url("../openolat/images/le_resources/test.png"); } li a.o_toolbox_questionnaire { - background-image: url(images/le_resources/survey.png); } + background-image: url("../openolat/images/le_resources/survey.png"); } li a.o_toolbox_wiki { - background-image: url(images/le_resources/wiki.png); } + background-image: url("../openolat/images/le_resources/wiki.png"); } li a.o_toolbox_podcast { - background-image: url(images/le_resources/media-player-cast.png); } + background-image: url("../openolat/images/le_resources/media-player-cast.png"); } li a.o_toolbox_blog { - background-image: url(images/le_resources/blog.png); } + background-image: url("../openolat/images/le_resources/blog.png"); } li a.o_toolbox_glossary { - background-image: url(images/le_resources/glossary.png); } + background-image: url("../openolat/images/le_resources/glossary.png"); } li a.o_toolbox_sharedfolder { - background-image: url(images/folder_shared.png); } + background-image: url("../openolat/images/folder_shared.png"); } li a.o_toolbox_coursefolder { - background-image: url(images/le_resources/blue-folder.png); } + background-image: url("../openolat/images/le_resources/blue-folder.png"); } li a.o_toolbox_portfolio { - background-image: url(images/le_resources/portfolio.png); } + background-image: url("../openolat/images/le_resources/portfolio.png"); } li a.b_toolbox_link { - background-image: url(images/bullet_black.png); } + background-image: url("../openolat/images/bullet_black.png"); } li a.b_toolbox_doc { - background-image: url(images/docs/document_plain.png); } + background-image: url("../openolat/images/docs/document_plain.png"); } li a.b_toolbox_preview { - background-image: url(images/docs/document_preview.png); } + background-image: url("../openolat/images/docs/document_preview.png"); } li a.b_toolbox_publish { - background-image: url(images/docs/document_share.png); } + background-image: url("../openolat/images/docs/document_share.png"); } li a.b_toolbox_move { - background-image: url(images/docs/document_move.png); } + background-image: url("../openolat/images/docs/document_move.png"); } li a.b_toolbox_close { - background-image: url(images/close.png); } + background-image: url("../openolat/images/close.png"); } li a.b_toolbox_delete { - background-image: url(images/cross-script.png); } + background-image: url("../openolat/images/cross-script.png"); } li a.b_toolbox_copy, .b_copy_icon { - background-image: url(images/docs/document-copy.png); } + background-image: url("../openolat/images/docs/document-copy.png"); } /* --------- menu icon decorators -------- */ .o_midlock { top: 9px; left: 9px; - background-image: url(images/decorator/deco_condition.png); } + background-image: url("../openolat/images/decorator/deco_condition.png"); } .o_miderr { top: 8px; left: -2px; - background-image: url(images/decorator/deco_error.png); } + background-image: url("../openolat/images/decorator/deco_error.png"); } .o_midwarn { top: 8px; left: -2px; - background-image: url(images/decorator/deco_warn.png); } + background-image: url("../openolat/images/decorator/deco_warn.png"); } .o_midpub { top: -2px; left: 9px; - background-image: url(images/decorator/deco_ok.png); } + background-image: url("../openolat/images/decorator/deco_ok.png"); } /* --------- course building block icons ------------------- */ .o_bc_icon { - background-image: url(images/folder.png) !important; } + background-image: url("../openolat/images/folder.png") !important; } .o_co_icon { - background-image: url(images/mail.png) !important; } + background-image: url("../openolat/images/mail.png") !important; } .o_cp_icon { - background-image: url(images/le_resources/book-open-text-image-red.png) !important; } + background-image: url("../openolat/images/le_resources/book-open-text-image-red.png") !important; } .o_cp_org { - background-image: url(images/le_resources/book-open-text-image-red.png) !important; } + background-image: url("../openolat/images/le_resources/book-open-text-image-red.png") !important; } .o_cp_item { - background-image: url(images/docs/document-text.png) !important; } + background-image: url("../openolat/images/docs/document-text.png") !important; } .o_dialog_icon { - background-image: url(images/docs/document_discuss.png) !important; } + background-image: url("../openolat/images/docs/document_discuss.png") !important; } .o_en_icon { - background-image: url(images/enrol.png) !important; } + background-image: url("../openolat/images/enrol.png") !important; } .o_fo_icon { - background-image: url(images/forum/forum.png) !important; } + background-image: url("../openolat/images/forum/forum.png") !important; } .o_iqself_icon { - background-image: url(images/le_resources/selftest.png) !important; } + background-image: url("../openolat/images/le_resources/selftest.png") !important; } .o_iqsurv_icon { - background-image: url(images/le_resources/survey.png) !important; } + background-image: url("../openolat/images/le_resources/survey.png") !important; } .o_iqtest_icon { - background-image: url(images/le_resources/test.png) !important; } + background-image: url("../openolat/images/le_resources/test.png") !important; } .o_ms_icon { - background-image: url(images/le_resources/thumb-up.png) !important; } + background-image: url("../openolat/images/le_resources/thumb-up.png") !important; } .o_scorm_icon, .o_scorm_org { - background-image: url(images/le_resources/book-open-text-image-s.png) !important; } + background-image: url("../openolat/images/le_resources/book-open-text-image-s.png") !important; } .o_scorm_item { - background-image: url(images/docs/document-text.png) !important; } + background-image: url("../openolat/images/docs/document-text.png") !important; } .o_scorm_asset { - background-image: url(images/le_resources/book-open-text-image-s.png) !important; } + background-image: url("../openolat/images/le_resources/book-open-text-image-s.png") !important; } .o_sp_icon { - background-image: url(images/docs/document-text.png) !important; } + background-image: url("../openolat/images/docs/document-text.png") !important; } .o_st_icon { - background-image: url(images/node-select-all.png) !important; } + background-image: url("../openolat/images/node-select-all.png") !important; } .o_ta_icon { - background-image: url(images/docs/document-task.png) !important; } + background-image: url("../openolat/images/docs/document-task.png") !important; } .o_tu_icon { - background-image: url(images/docs/document-import.png) !important; } + background-image: url("../openolat/images/docs/document-import.png") !important; } .o_wiki_icon { - background-image: url(images/le_resources/wiki.png) !important; } + background-image: url("../openolat/images/le_resources/wiki.png") !important; } .o_ll_icon { - background-image: url(images/docs/document_linklist.png) !important; } + background-image: url("../openolat/images/docs/document_linklist.png") !important; } .o_cl_icon { - background-image: url(images/clipboard-task.png) !important; } + background-image: url("../openolat/images/clipboard-task.png") !important; } .o_den_icon { - background-image: url(images/clock.png) !important; } + background-image: url("../openolat/images/clock.png") !important; } .o_projectbroker_icon { - background-image: url(images/projectbroker.png) !important; } + background-image: url("../openolat/images/projectbroker.png") !important; } .o_podcast_icon { - background-image: url(images/le_resources/media-player-cast.png) !important; } + background-image: url("../openolat/images/le_resources/media-player-cast.png") !important; } .o_blog_icon { - background-image: url(images/le_resources/blog.png) !important; } + background-image: url("../openolat/images/le_resources/blog.png") !important; } .o_cal_icon { - background-image: url(images/calendar.png) !important; } + background-image: url("../openolat/images/calendar.png") !important; } .o_lti_icon { - background-image: url(images/docs/document-node.png) !important; } + background-image: url("../openolat/images/docs/document-node.png") !important; } /* <OLATCE-103> */ .o_vc_icon { - background-image: url(images/projection-screen.png) !important; } + background-image: url("../openolat/images/projection-screen.png") !important; } /* </OLATCE-103> */ .o_vitero_icon { - background-image: url(images/vitero.png) !important; } + background-image: url("../openolat/images/vitero.png") !important; } .o_ep_icon, .o_EPStructuredMapTemplate_icon { - background-image: url(images/le_resources/portfolio.png) !important; } + background-image: url("../openolat/images/le_resources/portfolio.png") !important; } .o_infomsg_icon { - background-image: url(images/information-button.png) !important; } + background-image: url("../openolat/images/information-button.png") !important; } .o_cmembers_icon { - background-image: url(images/users.png) !important; } + background-image: url("../openolat/images/users.png") !important; } body#b_body .o_CourseModule_icon_closed { - background-image: url(images/le_resources/book-open-text-image_locked.png); } + background-image: url("../openolat/images/le_resources/book-open-text-image_locked.png"); } /* * ================================================= @@ -1689,11 +1696,11 @@ a:hover { color: #025d8c; } a.b_link_extern { - background: transparent url("images/external_link_trimmed.png") no-repeat right top; + background: transparent url("../openolat/images/external_link_trimmed.png") no-repeat right top; padding-right: 13px; } .b_link_mailto { - background: transparent url("images/mail_small.png") no-repeat left center; + background: transparent url("../openolat/images/mail_small.png") no-repeat left center; padding-left: 18px; } hr { @@ -1710,7 +1717,7 @@ p { /** ----------------- CONTENT CLASSES ----------------- **/ /* content boxes */ .b_info { - background: #e9eaef url(images/information-white.png) no-repeat 5px 5px; + background: #e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px; padding: 5px 5px 5px 30px; border: 1px solid #C5C4C4; border-radius: 4px; @@ -1866,7 +1873,7 @@ a.b_contexthelp { display: block; width: 16px; height: 16px; - background: url(images/help.png) no-repeat; + background: url(../openolat/images/help.png) no-repeat; line-height: 0; cursor: help; } @@ -1901,7 +1908,7 @@ fieldset a.b_contexthelp, fieldset div.b_contexthelp_wrapper a.b_contexthelp { width: 50%; } .b_contexthelp_icon { - background-image: url(images/help.png); } + background-image: url(../openolat/images/help.png); } /* USER COMMENTS */ div.b_ratings_and_comments { @@ -1930,7 +1937,7 @@ div.b_ratings_and_comments { z-index: 5; } div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments { - background: url(images/comment.png) 3px 50% no-repeat; + background: url(../openolat/images/comment.png) 3px 50% no-repeat; padding: 3px 0 1px 23px; vertical-align: middle; min-height: 18px; } @@ -1950,7 +1957,7 @@ div.b_comments { border: 1px solid #aaa; } div.b_comments div.b_comment_wrapper h5 { font-size: 1em; - background: url(images/user.png) 0 50% no-repeat; + background: url(../openolat/images/user.png) 0 50% no-repeat; padding: 1px 0 1px 20px; vertical-align: middle; min-height: 16px; } @@ -1985,7 +1992,7 @@ div.b_comments { text-align: center; } .b_comment_icon { - background-image: url(images/comment.png); } + background-image: url(../openolat/images/comment.png); } #b_comment_form_link { font-size: 0.9em; @@ -2059,15 +2066,15 @@ div.b_rating { background-position: 0 0; margin: 1px 4px 1px 0; } div.b_rating div.b_rating_items a.b_rating_item_on { - background-image: url(images/star.png); } + background-image: url(../openolat/images/star.png); } div.b_rating div.b_rating_items a.b_rating_item_off { - background-image: url(images/star_grey.png); } + background-image: url(../openolat/images/star_grey.png); } div.b_rating div.b_rating_items a:hover { cursor: default; } div.b_rating div.b_rating_items.b_enabled a:hover { cursor: pointer; } div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover { - background-image: url(images/star.png); } + background-image: url(../openolat/images/star.png); } div.b_rating div.b_rating_explanation { clear: both; font-size: 90%; } @@ -2244,7 +2251,7 @@ div.b_window { position: absolute; min-height: 16px; min-width: 16px; - background: transparent url("images/close.png") no-repeat center center; + background: transparent url("../openolat/images/close.png") no-repeat center center; display: inline-block; } div.b_window div.b_window_header_title a.b_link_close:hover { top: 4px; @@ -2282,7 +2289,7 @@ body.b_ajax_busy { cursor: wait; } div.b_ajax_busy { - background: url(images/ajax-loader.gif) no-repeat; + background: url(../openolat/images/ajax-loader.gif) no-repeat; position: absolute; left: 50%; top: 10px; @@ -2294,7 +2301,7 @@ div.b_ajax_busy { div.b_msg_dialog { padding: 10px 10px 10px 50px; min-height: 32px; - background: url(images/icon_question_32.png) no-repeat 10px 10px; } + background: url(../openolat/images/icon_question_32.png) no-repeat 10px 10px; } div.b_msg_dialog .b_msg_title { font-weight: bold; } @@ -2303,7 +2310,7 @@ div.b_msg_dialog { clear: both; padding: 10px 10px 10px 50px; min-height: 32px; - background: #ebcccc url(images/icon_warning_32.png) no-repeat 10px 10px; + background: #ebcccc url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px; border-bottom: 1px #ccc dotted; border-top: 1px #ccc dotted; } @@ -2326,24 +2333,24 @@ div.b_msg-div { -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } div.b_msg-div .b_msg_info_winicon { - background: transparent url(images/icon_info_32.png) no-repeat 10px center; } + background: transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center; } div.b_msg_info_content { padding: 10px 10px 10px 50px; } /* warn message (ext-dialog) */ div.b_msg_warn_winicon { - background: url(images/icon_warning_32.png) no-repeat; } + background: url(../openolat/images/icon_warning_32.png) no-repeat; } /* error message (ext-dialog) */ div.b_msg_error_winicon { - background: url(images/icon_error_32.png) no-repeat; } + background: url(../openolat/images/icon_error_32.png) no-repeat; } /* "info"-page */ #b_msg_info { padding: 10px 10px 10px 50px; min-height: 32px; - background: url(images/icon_info_32.png) no-repeat 10px 10px; } + background: url(../openolat/images/icon_info_32.png) no-repeat 10px 10px; } #b_msg_info .b_msg_title { font-weight: bold; } @@ -2354,16 +2361,16 @@ div.b_msg_error_winicon { .o_infomessage_wrapper .o_infomessage { padding: 10px 10px 10px 50px; text-align: left; - background: url(images/icon_warning_32.png) no-repeat 10px 10px; } + background: url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px; } /* OPEN / CLOSE BOX TOGGLER */ a.b_togglebox_closed { - background: url(images/toggle-small-expand.png) no-repeat 0 50%; + background: url(../openolat/images/toggle-small-expand.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle; } a.b_togglebox_opened { - background: url(images/toggle-small.png) no-repeat 0 50%; + background: url(../openolat/images/toggle-small.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle; } @@ -2388,7 +2395,7 @@ div.b_wizard div.b_wizard_header_title { div.b_wizard div.b_wizard_header_title a.b_link_close { top: 4px; right: 4px; - background: url(images/close.png); + background: url(../openolat/images/close.png); background-repeat: no-repeat; } div.b_wizard div.b_wizard_header_title strong { font-weight: bold; } @@ -2460,7 +2467,7 @@ a.b_wizard_button_cancel, span.b_wizard_button_cancel { .b_wizard_table_changedcell { font-style: italic; font-weight: bold; - background: url(images/new-text.png) no-repeat; + background: url(../openolat/images/new-text.png) no-repeat; padding-left: 18px; } /* OLD WIZARD */ @@ -2470,58 +2477,58 @@ div.b_legacy_wizard_steps { /* the following classes are used together with b_legacy_wizard_step_icon */ .b_legacy_wizard_step_a1 { - background-image: url(images/wizard/1a.png); } + background-image: url(../openolat/images/wizard/1a.png); } .b_legacy_wizard_step_a2 { - background-image: url(images/wizard/2a.png); } + background-image: url(../openolat/images/wizard/2a.png); } .b_legacy_wizard_step_a3 { - background-image: url(images/wizard/3a.png); } + background-image: url(../openolat/images/wizard/3a.png); } .b_legacy_wizard_step_a4 { - background-image: url(images/wizard/4a.png); } + background-image: url(../openolat/images/wizard/4a.png); } .b_legacy_wizard_step_a5 { - background-image: url(images/wizard/5a.png); } + background-image: url(../openolat/images/wizard/5a.png); } .b_legacy_wizard_step_a6 { - background-image: url(images/wizard/6a.png); } + background-image: url(../openolat/images/wizard/6a.png); } .b_legacy_wizard_step_a7 { - background-image: url(images/wizard/7a.png); } + background-image: url(../openolat/images/wizard/7a.png); } .b_legacy_wizard_step_a8 { - background-image: url(images/wizard/8a.png); } + background-image: url(../openolat/images/wizard/8a.png); } .b_legacy_wizard_step_a9 { - background-image: url(images/wizard/9a.png); } + background-image: url(../openolat/images/wizard/9a.png); } .b_legacy_wizard_step_p1 { - background-image: url(images/wizard/1p.png); } + background-image: url(../openolat/images/wizard/1p.png); } .b_legacy_wizard_step_p2 { - background-image: url(images/wizard/2p.png); } + background-image: url(../openolat/images/wizard/2p.png); } .b_legacy_wizard_step_p3 { - background-image: url(images/wizard/3p.png); } + background-image: url(../openolat/images/wizard/3p.png); } .b_legacy_wizard_step_p4 { - background-image: url(images/wizard/4p.png); } + background-image: url(../openolat/images/wizard/4p.png); } .b_legacy_wizard_step_p5 { - background-image: url(images/wizard/5p.png); } + background-image: url(../openolat/images/wizard/5p.png); } .b_legacy_wizard_step_p6 { - background-image: url(images/wizard/6p.png); } + background-image: url(../openolat/images/wizard/6p.png); } .b_legacy_wizard_step_p7 { - background-image: url(images/wizard/7p.png); } + background-image: url(../openolat/images/wizard/7p.png); } .b_legacy_wizard_step_p8 { - background-image: url(images/wizard/8p.png); } + background-image: url(../openolat/images/wizard/8p.png); } .b_legacy_wizard_step_p9 { - background-image: url(images/wizard/9p.png); } + background-image: url(../openolat/images/wizard/9p.png); } /* * ================================================= @@ -2556,7 +2563,7 @@ div.o_home_rsslink { bottom: 0; left: 0; height: 16px; - background: white url(images/magnifier-zoom.png) no-repeat 4px 0; } + background: white url(../openolat/images/magnifier-zoom.png) no-repeat 4px 0; } #o_macartney_large { position: fixed; @@ -2579,7 +2586,7 @@ div.o_home_rsslink { height: 16px; border-left: 1px solid #000; border-bottom: 1px solid #000; - background: white url(images/close.png); } + background: white url(../openolat/images/close.png); } /** ----------------- PORTLETS & BOXES ----------------- **/ .b_portlet { @@ -2639,36 +2646,36 @@ div.b_portlet_toolbox { background-repeat: no-repeat; background-position: center; } div.b_portlet_toolbox a.b_portlet_edit_left { - background-image: url(images/arrow_left_big.png); } + background-image: url(../openolat/images/arrow_left_big.png); } div.b_portlet_toolbox a.b_portlet_edit_right { - background-image: url(images/arrow_right_big.png); } + background-image: url(../openolat/images/arrow_right_big.png); } div.b_portlet_toolbox a.b_portlet_edit_down { - background-image: url(images/arrow_down_big.png); } + background-image: url(../openolat/images/arrow_down_big.png); } div.b_portlet_toolbox a.b_portlet_edit_up { - background-image: url(images/arrow_up_big.png); } + background-image: url(../openolat/images/arrow_up_big.png); } div.b_portlet_toolbox a.b_portlet_edit_delete { - background-image: url(images/cross-script.png); } + background-image: url(../openolat/images/cross-script.png); } div.b_portlet_toolbox a.b_portlet_edit_sort_auto { - background-image: url(images/table_sort.png); } + background-image: url(../openolat/images/table_sort.png); } div.b_portlet_toolbox a.b_portlet_edit_sort_manual { - background-image: url(images/table_gear.png); } + background-image: url(../openolat/images/table_gear.png); } div.b_portlet_toolbox span.b_portlet_edit_left_disabled { - background-image: url(images/arrow_left_big.png); + background-image: url(../openolat/images/arrow_left_big.png); opacity: 0.2; } div.b_portlet_toolbox span.b_portlet_edit_right_disabled { - background-image: url(images/arrow_right_big.png); + background-image: url(../openolat/images/arrow_right_big.png); opacity: 0.2; } div.b_portlet_toolbox span.b_portlet_edit_down_disabled { - background-image: url(images/arrow_down_big.png); + background-image: url(../openolat/images/arrow_down_big.png); opacity: 0.2; } div.b_portlet_toolbox span.b_portlet_edit_up_disabled { - background-image: url(images/arrow_up_big.png); + background-image: url(../openolat/images/arrow_up_big.png); opacity: 0.2; } div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled { - background-image: url(images/table_sort.png); + background-image: url(../openolat/images/table_sort.png); opacity: 0.2; } div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled { - background-image: url(images/table_gear.png); + background-image: url(../openolat/images/table_gear.png); opacity: 0.2; } .b_toolboxes { @@ -2880,7 +2887,7 @@ div.b_segments_container { min-height: 25px; padding-top: 8px; position: relative; - background: url(images/divider.png) center top no-repeat; } + background: url(../openolat/images/divider.png) center top no-repeat; } div.b_segments_container div.b_segments { clear: both; position: absolute; @@ -3141,7 +3148,7 @@ a.b_toggle { display: inline-block; line-height: 1.5em; text-align: center; - background: url(images/toggle_off.png) top left repeat-x; } + background: url(../openolat/images/toggle_off.png) top left repeat-x; } a.b_toggle span { padding: 0 0.8em; } a.b_toggle:hover { @@ -3162,9 +3169,9 @@ a.b_toggle { a.b_toggle:focus, a.b_toggle.b_on:focus { text-decoration: none; } a.b_toggle:active, a.b_toggle.b_on:active { - background: url(images/toggle_active.png) top left repeat-x; } + background: url(../openolat/images/toggle_active.png) top left repeat-x; } a.b_toggle.b_on { - background: url(images/toggle_on.png) top left repeat-x; } + background: url(../openolat/images/toggle_on.png) top left repeat-x; } span.b_toggle.b_disabled { white-space: nowrap; @@ -3179,11 +3186,11 @@ span.b_toggle.b_disabled { display: inline-block; line-height: 1.5em; text-align: center; - background: url(images/toggle_dis.png) top left repeat-x; } + background: url(../openolat/images/toggle_dis.png) top left repeat-x; } /* TOGGLE SLIDERS */ a.b_toggle_slide { - background: url(images/handle.png) -63px 0px no-repeat; + background: url(../openolat/images/handle.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; @@ -3209,7 +3216,7 @@ a.b_toggle_slide { a.b_toggle_slide.b_on { background-position: -16px 0px; } a.b_toggle_slide.b_disabled { - background: url(images/handle_dis.png) -63px 0px no-repeat; + background: url(../openolat/images/handle_dis.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; @@ -3224,7 +3231,7 @@ a.b_toggle_slide { text-align: center; vertical-align: middle; } a.b_toggle_slide.b_small { - background: url(images/handle_small.png) -41px 0px no-repeat; + background: url(../openolat/images/handle_small.png) -41px 0px no-repeat; height: 16px; width: 55px; border-radius: 2px; @@ -3238,7 +3245,7 @@ a.b_toggle_slide { background-position: -9px 0px; } span.b_toggle_slide.b_disabled { - background: url(images/handle_small_dis.png) -41px 0px no-repeat; + background: url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat; height: 16px; width: 55px; white-space: nowrap; @@ -3288,7 +3295,7 @@ span.b_toggle_slide_legend { /* focused buttons */ } .b_link_back > span { padding: 0px 8px 0px 25px; - background: transparent url("images/arrow_left_big.png") no-repeat 4px center; } + background: transparent url("../openolat/images/arrow_left_big.png") no-repeat 4px center; } .b_link_back:focus, .b_link_back:hover { text-decoration: none; border: 1px solid #C6C6C6; @@ -3419,7 +3426,7 @@ div.b_form { display: inline; line-height: 1.3em; } div.b_form div.b_form_element_wrapper div.b_form_element_label span.b_form_mandatory { - background: url(images/star-small.png) no-repeat; + background: url(../openolat/images/star-small.png) no-repeat; padding-left: 16px; height: 16px; } div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_horizontal { @@ -3478,20 +3485,20 @@ div.b_form { background: #EEEEEE; border: 1px solid #CDCBCB; } div.b_form div.b_form_element span.b_form_datechooser { - background: url(images/calendar.png) no-repeat; + background: url(../openolat/images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px; padding-top: 2px; } div.b_form div.b_form_element a.b_form_groupchooser { - background: url(images/users.png) no-repeat; + background: url(../openolat/images/users.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px; } div.b_form div.b_form_element a.b_form_genericchooser { - background: url(images/users.png) no-repeat; + background: url(../openolat/images/users.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; @@ -3502,7 +3509,7 @@ div.b_form { line-height: 1.5em; font-style: italic; } div.b_form div.b_form_element a.b_form_wikitext, div.b_form div.b_form_element .b_wiki_icon { - background-image: url(images/wiki/wiki_small_9px.png); } + background-image: url(../openolat/images/wiki/wiki_small_9px.png); } div.b_button_group div.b_form_element_wrapper { vertical-align: middle; @@ -3634,7 +3641,7 @@ div.b_fileinput { margin-left: 0; } .b_fileinput_icon { - background-image: url(images/drive.png); } + background-image: url(../openolat/images/drive.png); } /* PROGRESSBAR */ div.b_progress div.b_progress_bar { @@ -3664,12 +3671,12 @@ div.b_mark { margin: 0; padding: 0; } div.b_mark a.b_mark_set { - background: url(images/flag.png) center right no-repeat; + background: url(../openolat/images/flag.png) center right no-repeat; display: block; width: 20px; height: 20px; } div.b_mark a.b_mark_not_set { - background: url(images/flag.png) center right no-repeat; + background: url(../openolat/images/flag.png) center right no-repeat; display: block; width: 20px; height: 20px; @@ -3740,9 +3747,9 @@ div.b_table_wrapper { height: 16px; margin: 3px; } div.b_table_wrapper a.b_table_prefs { - background-image: url(images/table_gear.png); } + background-image: url(../openolat/images/table_gear.png); } div.b_table_wrapper a.b_table_download { - background-image: url(images/table_download.png); } + background-image: url(../openolat/images/table_download.png); } div.b_table_wrapper div.b_table_buttons { text-align: center; margin: 1.5em 0 1em 0; } @@ -3758,13 +3765,13 @@ div.b_table_page { font-weight: bold; color: #000; } div.b_table_page a.b_table_backward { - background: url(images/arrow_left.png) no-repeat center left; + background: url(../openolat/images/arrow_left.png) no-repeat center left; padding-left: 16px; } div.b_table_page a.b_table_forward { - background: url(images/arrow_right.png) no-repeat center right; + background: url(../openolat/images/arrow_right.png) no-repeat center right; padding-right: 16px; } div.b_table_page a.b_table_first_page { - background: url(images/home.png) no-repeat center left; + background: url(../openolat/images/home.png) no-repeat center left; padding-left: 18px; } div.b_table_page_all { @@ -3777,7 +3784,7 @@ a.b_dev { left: 0; top: 0; z-index: 4000; - background: red url("images/bug.png") no-repeat; + background: red url("../openolat/images/bug.png") no-repeat; width: 16px; height: 16px; border: 1px solid #000; } @@ -3794,14 +3801,14 @@ a.b_dev { #b_devcon_handle { cursor: move; - background: blue url(images/bug.png) no-repeat 4px 50%; + background: blue url(../openolat/images/bug.png) no-repeat 4px 50%; line-height: 2em; padding-left: 24px; color: white; } a#b_devcon_handle_collapse { cursor: pointer; - background: url("images/toggle-small.png") no-repeat; + background: url("../openolat/images/toggle-small.png") no-repeat; width: 15px; height: 15px; float: right; @@ -3809,7 +3816,7 @@ a#b_devcon_handle_collapse { a#b_devcon_handle_expand { cursor: pointer; - background: url("images/toggle-small-expand.png") no-repeat; + background: url("../openolat/images/toggle-small-expand.png") no-repeat; width: 15px; height: 15px; float: right; @@ -3817,7 +3824,7 @@ a#b_devcon_handle_expand { a.b_devcon_handle_close { cursor: pointer; - background: url(images/close.png) no-repeat; + background: url(../openolat/images/close.png) no-repeat; width: 15px; height: 15px; float: right; @@ -3896,23 +3903,23 @@ div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a { padding: 2px 0 2px 20px; } div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload { - background-image: url(images/docs/document_upload.png); } + background-image: url(../openolat/images/docs/document_upload.png); } div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder { - background-image: url(images/folder_new.png); } + background-image: url(../openolat/images/folder_new.png); } div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile { - background-image: url(images/docs/document_add.png); } + background-image: url(../openolat/images/docs/document_add.png); } div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles { - background-image: url(images/docs/document_remove.png); } + background-image: url(../openolat/images/docs/document_remove.png); } div.b_briefcase_foldercomp div.b_briefcase_breadcrumb { clear: both; padding: 1px 0 1px 20px; margin: 0.5em 0 0 0; border-bottom: 1px solid #bbb; - background: url(images/folder_open.png) no-repeat 0 50%; } + background: url(../openolat/images/folder_open.png) no-repeat 0 50%; } div.b_briefcase_foldercomp div.b_briefcase_empty { clear: both; @@ -3986,13 +3993,13 @@ div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions margin: 0; } div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon { - background-image: url(images/docs/document--pencil.png); } + background-image: url(../openolat/images/docs/document--pencil.png); } div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon { - background-image: url(images/docs/document_metadata_edit.png); } + background-image: url(../openolat/images/docs/document_metadata_edit.png); } div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon { - background-image: url(images/docs/document_metadata_edit.png); + background-image: url(../openolat/images/docs/document_metadata_edit.png); opacity: 0.2; } div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon { @@ -4098,29 +4105,29 @@ div.b_send_documents textarea { top: 0; right: 0; } div.o_wiki_wrapper a.o_wikimod_btn_bold { - background-image: url(images/wiki/edit-bold.png); } + background-image: url(../openolat/images/wiki/edit-bold.png); } div.o_wiki_wrapper a.o_wikimod_btn_italic { - background-image: url(images/wiki/edit-italic.png); } + background-image: url(../openolat/images/wiki/edit-italic.png); } div.o_wiki_wrapper a.o_wikimod_btn_link { - background: url(images/wiki/chain.png); } + background: url(../openolat/images/wiki/chain.png); } div.o_wiki_wrapper a.o_wikimod_btn_extlink { - background: url(images/wiki/chain--arrow.png); } + background: url(../openolat/images/wiki/chain--arrow.png); } div.o_wiki_wrapper a.o_wikimod_btn_headline { - background: url(images/wiki/edit-heading.png); } + background: url(../openolat/images/wiki/edit-heading.png); } div.o_wiki_wrapper a.o_wikimod_btn_image { - background: url(images/wiki/image-medium.png); } + background: url(../openolat/images/wiki/image-medium.png); } div.o_wiki_wrapper a.o_wikimod_btn_media { - background: url(images/music-beam.png); } + background: url(../openolat/images/music-beam.png); } div.o_wiki_wrapper a.o_wikimod_btn_math { - background: url(images/wiki/edit-math.png); } + background: url(../openolat/images/wiki/edit-math.png); } div.o_wiki_wrapper a.o_wikimod_btn_nowiki { - background: url(images/wiki/edit-nowiki.png); } + background: url(../openolat/images/wiki/edit-nowiki.png); } div.o_wiki_wrapper a.o_wikimod_btn_hr { - background: url(images/wiki/edit-hr.png); } + background: url(../openolat/images/wiki/edit-hr.png); } div.o_wiki_wrapper a.o_wikimod_btn_list { - background: url(images/wiki/edit-list.png); } + background: url(../openolat/images/wiki/edit-list.png); } div.o_wiki_wrapper a.o_wikimod_btn_numlist { - background: url(images/wiki/edit-list-order.png); } + background: url(../openolat/images/wiki/edit-list-order.png); } /* portfolio */ div.o_wiki_wrapper .b_eportfolio_add, div.o_wiki_wrapper .b_eportfolio_add_again { @@ -4267,7 +4274,7 @@ div.o_forum div.o_forum_message_title { div.o_forum div.o_forum_message_title strong { font-weight: bold; } div.o_forum div.o_forum_message_new div.o_forum_message_title strong { - background: url(images/new-text.png) no-repeat top right; + background: url(../openolat/images/new-text.png) no-repeat top right; padding-right: 20px; } div.o_forum div.o_forum_message_creator { width: 100px; @@ -4322,16 +4329,16 @@ span.o_forum_thread_sticky { font-weight: bold; } span.o_forum_status_thread_icon { - background-image: url(images/forum/forum.png); } + background-image: url(../openolat/images/forum/forum.png); } span.o_forum_status_sticky_closed_icon { - background-image: url(images/forum/sticky-note-pin_locked.png); } + background-image: url(../openolat/images/forum/sticky-note-pin_locked.png); } span.o_forum_status_sticky_icon { - background-image: url(images/forum/sticky-note-pin.png); } + background-image: url(../openolat/images/forum/sticky-note-pin.png); } span.o_forum_status_closed_icon { - background-image: url(images/forum/forum_locked.png); } + background-image: url(../openolat/images/forum/forum_locked.png); } div.o_forum_peekview { margin: 1em 0 1em 0; } @@ -4346,7 +4353,7 @@ div.o_forum_peekview { display: none; } .o_forum_message_icon { - background-image: url(images/forum/balloon-white-left.png); } + background-image: url(../openolat/images/forum/balloon-white-left.png); } div.o_forum_toolbar { float: left; @@ -4385,7 +4392,7 @@ div.o_ep_struct_editor div.b_subcr { -o-box-shadow: 0 1px 2px lightGrey; -webkit-box-shadow: 0 1px 2px lightGrey; box-shadow: 0 1px 2px lightGrey; - background: #ebebeb url(images/portfolio/artefaktbg.png) top left repeat-x; } + background: #ebebeb url(../openolat/images/portfolio/artefaktbg.png) top left repeat-x; } .b_artefact div.b_actions { margin-top: 2em; } @@ -4395,7 +4402,7 @@ div.o_ep_struct_editor div.b_subcr { margin: 1em 0; } .b_ep_artAttribLink { - background-image: url(images/table_gear.png); } + background-image: url(../openolat/images/table_gear.png); } div.b_artefact_closed { font-size: 25px; @@ -4424,13 +4431,13 @@ div.b_eportfolio_preview_c33l .b_artefact { margin: 1em 0 1em 0; } a.b_ep_options { - background: url(images/gear.png) top left no-repeat; + background: url(../openolat/images/gear.png) top left no-repeat; width: 16px; height: 16px; display: block; } .b_ep_liveblog_icon { - background-image: url(images/portfolio/ep_liveblog_icon.png); } + background-image: url(../openolat/images/portfolio/ep_liveblog_icon.png); } div.b_portfolio_toc ul { margin: 0; } @@ -4472,7 +4479,7 @@ div.b_portfolio_toc .type_artefact { padding-left: 20px; } a.b_eportfolio_add { - background: url(images/portfolio/ep_add_icon.png) top left no-repeat; + background: url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat; display: block; width: 16px; height: 16px; } @@ -4482,7 +4489,7 @@ td a.b_eportfolio_add { padding-right: 2px; } a.b_eportfolio_add_again, span.b_eportfolio_add_again { - background: url(images/portfolio/ep_add_again_icon.png) top left no-repeat; + background: url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat; display: block; width: 16px; height: 16px; } @@ -4491,7 +4498,7 @@ a.b_eportfolio_add_again, span.b_eportfolio_add_again { float: right; } a.b_eportfolio_link { - background: url(images/portfolio/ep_link_icon.png) top left no-repeat; + background: url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat; display: block; width: 16px; height: 16px; } @@ -4508,7 +4515,7 @@ ul.b_eportfolio_maps li { height: 320px; padding: 60px 60px 40px 65px; margin: 0.5em; - background: url(images/portfolio/eportfolio_map_default.png) top left no-repeat; + background: url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat; -moz-border-radius: 4px 14px 14px 4px; -webkit-border-radius: 4px 10px 10px 4px; -o-border-radius: 4px 14px 14px 4px; @@ -4540,24 +4547,24 @@ ul.b_eportfolio_maps li .b_map_info a.b_open_icon { right: -10px; } ul.b_eportfolio_maps li.leather { - background: url(images/portfolio/eportfolio_map_leather.png) top left no-repeat; + background: url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat; border: none; } ul.b_eportfolio_maps li.leather a { color: #fad9a4; } ul.b_eportfolio_maps li.comic { - background: url(images/portfolio/eportfolio_map_comic.png) top left no-repeat; + background: url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat; border: none; } ul.b_eportfolio_maps li.template.default { - background-image: url(images/portfolio/eportfolio_map_default_template.png); } + background-image: url(../openolat/images/portfolio/eportfolio_map_default_template.png); } ul.b_eportfolio_maps li.template.comic { - background-image: url(images/portfolio/eportfolio_map_comic_template.png); } + background-image: url(../openolat/images/portfolio/eportfolio_map_comic_template.png); } ul.b_eportfolio_maps li.template.leather { - background-image: url(images/portfolio/eportfolio_map_leather_template.png); } + background-image: url(../openolat/images/portfolio/eportfolio_map_leather_template.png); } .b_map_page { text-align: center; @@ -4712,7 +4719,7 @@ ul.b_eportfolio_maps li.template.leather { .comic div.b_pagination li { width: 87%; - background: url(images/portfolio/postit.png) center right; + background: url(../openolat/images/portfolio/postit.png) center right; padding: 0; margin-bottom: 1em; margin-left: 8%; @@ -4742,11 +4749,11 @@ ul.b_eportfolio_maps li.template.leather { font-weight: bold; } .comic div.b_pagination li.b_toc { - background-image: url(images/portfolio/postit_pink.png); } + background-image: url(../openolat/images/portfolio/postit_pink.png); } .b_eportfolio_page, .b_portfolio_toc, .b_eportfolio_edit { min-height: 40em; - background: #f4f4f4 url(images/portfolio/eportfolio_page_corner.png) top right no-repeat; + background: #f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat; padding: 1em; -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2); @@ -4764,7 +4771,7 @@ ul.b_eportfolio_maps li.template.leather { font-family: Palatino, Georgia, serif; } .b_eportfolio_map.leather { - background: url(images/portfolio/light-leather-tile.jpg); } + background: url(../openolat/images/portfolio/light-leather-tile.jpg); } .leather div.b_ep_actualpage { width: 100%; @@ -4819,7 +4826,7 @@ ul.b_eportfolio_maps li.template.leather { .b_eportfolio.b_artefacts hr.b_ep_filter_spacer { height: 10px; - background: url(images/portfolio/divider-arrow-down.png) 25px -12px no-repeat; + background: url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat; border: none; border-top: 1px solid #ccc; margin: 2em 0 1em; } @@ -4862,22 +4869,22 @@ ul.b_eportfolio_maps li.template.leather { background-image: url(../images/brasato/eportfolio/ep_collection.png) !important; } .b_ep_map_icon, .b_portfolio_toc .type_map { - background-image: url(images/portfolio/briefcase.png) !important; } + background-image: url(../openolat/images/portfolio/briefcase.png) !important; } .b_ep_page_icon, .b_portfolio_toc .type_page { - background-image: url(images/portfolio/ep_page.png) !important; } + background-image: url(../openolat/images/portfolio/ep_page.png) !important; } .b_ep_page_icon.b_eportfolio_add_link { - background-image: url(images/portfolio/ep_page_add.png) !important; } + background-image: url(../openolat/images/portfolio/ep_page_add.png) !important; } .b_ep_struct_icon, .b_portfolio_toc .type_struct { - background-image: url(images/portfolio/ep_struct.png) !important; } + background-image: url(../openolat/images/portfolio/ep_struct.png) !important; } .b_ep_struct_icon.b_eportfolio_add_link { - background-image: url(images/portfolio/ep_struct_add.png) !important; } + background-image: url(../openolat/images/portfolio/ep_struct_add.png) !important; } .type_artefact { - background-image: url(images/le_resources/portfolio.png) !important; } + background-image: url(../openolat/images/le_resources/portfolio.png) !important; } div.b_eportfolio_collect_restriction { margin-top: 5px; } @@ -4928,17 +4935,17 @@ div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content { div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content { border: 1px solid #FF9900 !important; - background: #fff5cc url(images/decorator/deco_warn.png) no-repeat 3px 2px !important; } + background: #fff5cc url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 2px !important; } div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content { border: 1px solid #F0F0F0 !important; - background: #fcfcfc url(images/decorator/deco_ok.png) no-repeat 3px 2px !important; } + background: #fcfcfc url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 2px !important; } div.b_eportfolio_restriction_error div.b_togglebox_closed { - background: transparent url(images/decorator/deco_warn.png) no-repeat top left !important; } + background: transparent url(../openolat/images/decorator/deco_warn.png) no-repeat top left !important; } div.b_eportfolio_restriction_passed div.b_togglebox_closed { - background: transparent url(images/decorator/deco_ok.png) no-repeat top left !important; } + background: transparent url(../openolat/images/decorator/deco_ok.png) no-repeat top left !important; } div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide { display: none; } @@ -4976,7 +4983,7 @@ div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_ padding-right: 5px; } .b_eportfolio_share_policy div span.b_form_datechooser { - background: url(images/calendar.png) no-repeat; + background: url(../openolat/images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; @@ -4987,16 +4994,16 @@ div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_ .b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy { padding-left: 20px; - background: url(images/user.png) top left no-repeat; } + background: url(../openolat/images/user.png) top left no-repeat; } .b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy { - background-image: url(images/users.png); } + background-image: url(../openolat/images/users.png); } .b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy { - background-image: url(images/share.png); } + background-image: url(../openolat/images/share.png); } .b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy { - background-image: url(images/users.png); } + background-image: url(../openolat/images/users.png); } div.b_ep_inline div input, div.b_ep_inline div span, div.b_ep_inline div select { float: left; @@ -5005,7 +5012,7 @@ div.b_ep_inline div input, div.b_ep_inline div span, div.b_ep_inline div select /* ims cp */ div.o_module_cp_wrapper a.b_content_download { - background: url("images/drive-download.png") no-repeat top left; + background: url("../openolat/images/drive-download.png") no-repeat top left; padding-left: 20px; margin: 3px; display: block; @@ -5038,16 +5045,16 @@ div.o_module_cp_wrapper div span a { div.o_module_cp_wrapper div span.b_disabled { display: none; } div.o_module_cp_wrapper div span a.o_cp_previous_icon { - background-image: url("images/arrow_left_big.png"); + background-image: url("../openolat/images/arrow_left_big.png"); text-decoration: none; } div.o_module_cp_wrapper div span a.o_cp_previous_icon span { display: none; } div.o_module_cp_wrapper div span a.o_cp_next_icon { - background-image: url("images/arrow_right_big.png"); } + background-image: url("../openolat/images/arrow_right_big.png"); } div.o_module_cp_wrapper div span a.o_cp_next_icon span { display: none; } div.o_module_cp_wrapper div span a.o_cp_print_icon { - background-image: url("images/printer.png"); } + background-image: url("../openolat/images/printer.png"); } div.o_module_cp_wrapper div span a.o_cp_print_icon span { display: none; } div.o_module_cp_wrapper div.o_cp_navigation div, div.o_module_cp_wrapper div.o_cp_navigation form { @@ -5074,22 +5081,22 @@ div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix:after { background-repeat: no-repeat; } a.o_cpeditor_import { - background-image: url("images/docs/document_upload.png"); } + background-image: url("../openolat/images/docs/document_upload.png"); } a.o_cpeditor_new { - background-image: url("images/docs/document_add.png"); } + background-image: url("../openolat/images/docs/document_add.png"); } a.o_cpeditor_copy { - background-image: url("images/docs/document_copy.png"); } + background-image: url("../openolat/images/docs/document_copy.png"); } a.o_cpeditor_delete { - background-image: url("images/docs/document_remove.png"); } + background-image: url("../openolat/images/docs/document_remove.png"); } a.o_cpeditor_edit { - background-image: url(images/docs/document_metadata_edit.png); } + background-image: url(../openolat/images/docs/document_metadata_edit.png); } a.o_cpeditor_preview { - background-image: url(images/docs/document_preview.png); } + background-image: url(../openolat/images/docs/document_preview.png); } #o_cpeditor_content div.o_cpeditor_message { padding: 20px; } @@ -5106,11 +5113,11 @@ a.o_cpeditor_preview { display: inline; } #o_qti_run.o_qti_survey #o_qti_run_title strong { - background: url(images/le_resources/survey.png) no-repeat left 50%; + background: url(../openolat/images/le_resources/survey.png) no-repeat left 50%; padding-left: 20px; } #o_qti_run.o_qti_test #o_qti_run_title strong { - background: url(images/le_resources/test.png) no-repeat left 50%; + background: url(../openolat/images/le_resources/test.png) no-repeat left 50%; padding-left: 20px; padding-top: 2px; padding-bottom: 2px; } @@ -5189,7 +5196,7 @@ a.o_cpeditor_preview { /* fixes problem with truncated testresults, see OLAT-3416 */ #b_main.o_editor_qti_correct { - background-image: url(images/qti/correct_bg.png); + background-image: url(../openolat/images/qti/correct_bg.png); background-position: top left; } #b_main.o_editor_qti { @@ -5208,7 +5215,7 @@ a.o_cpeditor_preview { background-image: url(../images/olat/lightbulb_hover.png); } #o_qti_solutions a { - background: url(images/magnifier-zoom.png) no-repeat left 50%; + background: url(../openolat/images/magnifier-zoom.png) no-repeat left 50%; cursor: help; padding-left: 20px; } @@ -5337,7 +5344,7 @@ div.o_qti_item_choice_option_autoenum { color: silver; padding: .2em .4em; border: 1px solid transparent; - background: url(images/flag.png) center right no-repeat; + background: url(../openolat/images/flag.png) center right no-repeat; display: block; width: 20px; height: 12px; } @@ -5372,7 +5379,7 @@ div.o_qti_item_note_box_title { div.o_qti_item_itemfeedback, div.o_qti_item_assessfeedback, div.o_qti_item_o_qti_item_sectionfeedback { margin: 1em 0; - background: url(images/lightning.png) no-repeat left 50%; + background: url(../openolat/images/lightning.png) no-repeat left 50%; padding-left: 20px; } div.o_qti_item_objectives { @@ -5383,40 +5390,40 @@ div.o_qti_item_objectives { /* qti menu items */ .o_qti_timelimit_icon { - background-image: url(images/qti/time.png); } + background-image: url(../openolat/images/qti/time.png); } .o_qti_attemptslimit_icon { - background-image: url(images/qti/tries.png); } + background-image: url(../openolat/images/qti/tries.png); } .o_qti_closed_icon { - background-image: url(images/qti/closed.png); } + background-image: url(../openolat/images/qti/closed.png); } .o_mi_qtialientitem { - background-image: url(images/docs/document_plain.png); } + background-image: url(../openolat/images/docs/document_plain.png); } .o_mi_qtisc { - background-image: url(images/qti/scItem.png); } + background-image: url(../openolat/images/qti/scItem.png); } .o_mi_qtimc { - background-image: url(images/qti/mcItem.png); } + background-image: url(../openolat/images/qti/mcItem.png); } .o_mi_qtikprim { - background-image: url(images/qti/kprimItem.png); } + background-image: url(../openolat/images/qti/kprimItem.png); } .o_mi_qtifib { - background-image: url(images/qti/fibItem.png); } + background-image: url(../openolat/images/qti/fibItem.png); } .o_mi_qtiessay { - background-image: url(images/qti/essayItem.png); } + background-image: url(../openolat/images/qti/essayItem.png); } .o_mi_qtisection { - background-image: url(images/qti/section.png); } + background-image: url(../openolat/images/qti/section.png); } .o_mi_iqtest { - background-image: url(images/le_resources/test.png); } + background-image: url(../openolat/images/le_resources/test.png); } .o_mi_iqsurv { - background-image: url(images/le_resources/survey.png); } + background-image: url(../openolat/images/le_resources/survey.png); } /* TRANSLATION TOOL */ div.b_translation_start div.b_translation_start_body, div.b_translation_edit div.b_translation_edit_body { @@ -5478,7 +5485,7 @@ div.b_translation_edit div.b_translation_edit_annotation textarea { font-style: italic; } div.b_translation_edit div.b_translation_refKey { - background-image: url(images/magnifier-zoom.png); + background-image: url(../openolat/images/magnifier-zoom.png); vertical-align: middle; background-color: #eee; border: 1px solid #ACAAAA; @@ -5505,13 +5512,13 @@ ul.b_translation_status li { position: relative; } .b_translation_package_icon { - background-image: url(images/folder_open.png) !important; } + background-image: url(../openolat/images/folder_open.png) !important; } .b_translation_item_icon { - background-image: url(images/docs/document-node.png) !important; } + background-image: url(../openolat/images/docs/document-node.png) !important; } .b_translation_search_icon { - background-image: url(images/magnifier-zoom.png) !important; } + background-image: url(../openolat/images/magnifier-zoom.png) !important; } /* inline translation tool */ span.b_translation_i18nitem { @@ -5524,7 +5531,7 @@ span.b_translation_i18nitem a.b_translation_i18nitem_launcher { height: 16px !important; top: 0 !important; left: 5px !important; - background: #eeeeee url(images/docs/document_metadata_edit.png) no-repeat !important; + background: #eeeeee url(../openolat/images/docs/document_metadata_edit.png) no-repeat !important; border: 1px solid #6e6e6e !important; border-radius: 3px; -webkit-border-radius: 3px; @@ -5569,10 +5576,10 @@ div.b_selectiontree { div.b_selectiontree div.b_selectiontree_content input.b_radio { margin: 0; } div.b_selectiontree .b_selectiontree_line { - background-image: url(images/tree/dots.gif); } + background-image: url(../openolat/images/tree/dots.gif); } div.b_selectiontree .b_selectiontree_space { - background-image: url(images/tree/dots_spacer.gif); } + background-image: url(../openolat/images/tree/dots_spacer.gif); } div.b_selectiontree .b_selectiontree_junction { - background-image: url(images/tree/dots_nt.gif); } + background-image: url(../openolat/images/tree/dots_nt.gif); } div.b_selectiontree .b_selectiontree_end { - background-image: url(images/tree/dots_nl.gif); } + background-image: url(../openolat/images/tree/dots_nl.gif); } diff --git a/src/main/webapp/static/themes/openolat/layout.scss b/src/main/webapp/static/themes/openolat/layout.scss index b54fb04e7a6533d365378c651e19309b8e397661..eec802cb4b1dd186b329fbf22d58123d7b86512b 100644 --- a/src/main/webapp/static/themes/openolat/layout.scss +++ b/src/main/webapp/static/themes/openolat/layout.scss @@ -2,42 +2,41 @@ /* use the grey ext theme */ /*@import url(../../js/ext/resources/css/xtheme-gray.css);*/ - -@import "_license.scss"; +@import "license"; @import url(../../yaml/core/slim_base.css); /* --------------- */ -@import "all/_mixins.scss"; -@import "all/_definitions.scss"; +@import "mixins"; +@import "definitions"; /* --------------- */ -@import "all/_basemod.scss"; -@import "all/_dd.scss"; -@import "all/_icons.scss"; -@import "all/_content.scss"; +@import "basemod"; +@import "dd"; +@import "icons"; +@import "content"; /* ------- print -------- */ -@import "print/_basemod.scss"; -@import "print/_content.scss"; +@import "p_basemod"; +@import "p_content"; /* ------- mobile -------- */ -@import "mobile/_basemod.scss"; +@import "m_basemod"; /* -------- modules -------- */ -@import "all/modules/_dialogs.scss"; -@import "all/modules/_portlets_boxes.scss"; -@import "all/modules/_tabpane.scss"; -@import "all/modules/_formsandbuttons.scss"; -@import "all/modules/_tables.scss"; -@import "all/modules/_develdebug.scss"; -@import "all/modules/_briefcase.scss"; -@import "all/modules/_wiki.scss"; -@import "all/modules/_forum.scss"; -@import "all/modules/_eportfolio.scss"; -@import "all/modules/_imscp.scss"; -@import "all/modules/_qti.scss"; -@import "all/modules/_translationtool.scss"; -@import "all/modules/_course.scss"; \ No newline at end of file +@import "dialogs"; +@import "portlets_boxes"; +@import "tabpane"; +@import "formsandbuttons"; +@import "tables"; +@import "develdebug"; +@import "briefcase"; +@import "wiki"; +@import "forum"; +@import "eportfolio"; +@import "imscp"; +@import "qti"; +@import "translationtool"; +@import "course"; \ No newline at end of file diff --git a/src/main/webapp/static/themes/openolat/mobile/_basemod.scss b/src/main/webapp/static/themes/openolat/mobile/_m_basemod.scss similarity index 100% rename from src/main/webapp/static/themes/openolat/mobile/_basemod.scss rename to src/main/webapp/static/themes/openolat/mobile/_m_basemod.scss diff --git a/src/main/webapp/static/themes/openolat/print/_basemod.scss b/src/main/webapp/static/themes/openolat/print/_p_basemod.scss similarity index 100% rename from src/main/webapp/static/themes/openolat/print/_basemod.scss rename to src/main/webapp/static/themes/openolat/print/_p_basemod.scss diff --git a/src/main/webapp/static/themes/openolat/print/_content.scss b/src/main/webapp/static/themes/openolat/print/_p_content.scss similarity index 100% rename from src/main/webapp/static/themes/openolat/print/_content.scss rename to src/main/webapp/static/themes/openolat/print/_p_content.scss diff --git a/src/main/webapp/static/themes/openolatexample/_definitions.scss b/src/main/webapp/static/themes/openolatexample/_definitions.scss new file mode 100644 index 0000000000000000000000000000000000000000..5128cf204b5f6e068d5a0c916f9a2dc47421a290 --- /dev/null +++ b/src/main/webapp/static/themes/openolatexample/_definitions.scss @@ -0,0 +1,35 @@ +/* +* ================================================= +* +* CONTAINS SOME SASS VARIABLES FOR the EXAMPLE THEME +* you can change these and compile the theme :) +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Nov. 2011 +* +* +* also read themes.README! +* +* ================================================= +*/ + + +/* the base-color and variations (for openolat-theme this is the openolat-blue) */ +$basecolor: red; +$basecolor_light : lighten($basecolor, 20%); +$basecolor_ultra_light : lighten($basecolor, 40%); + +/* then we need a base-gray and some variations */ +$basegray: #555; +$basegray_light: #777; +$basegray_ultra_light: #eee; + +/* here you can define the two small icons used in trees: + and - */ +$ico_plus : '../openolat/images/toggle-small-expand.png' ; +$ico_minus : '../openolat/images/toggle-small.png' ; + + +/* defines the body-background */ +@mixin bodybg(){ + @include o-gradient4(yellow,red,blue,green); +} \ No newline at end of file diff --git a/src/main/webapp/static/themes/openolatexample/layout.css b/src/main/webapp/static/themes/openolatexample/layout.css new file mode 100644 index 0000000000000000000000000000000000000000..34cbe4e69cc30c65826def5123126c896019bf6d --- /dev/null +++ b/src/main/webapp/static/themes/openolatexample/layout.css @@ -0,0 +1,5592 @@ +@charset "UTF-8"; +/* + * ======================================================== + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * 12.10.2011 by frentix GmbH, http://www.frentix.com + * <p> + * + * + * @author strentini, sergio.trentini@frentix.com, www.frentix.com + * @date Nov. 2011 + * ======================================================== +**/ +@import url(../../yaml/core/slim_base.css); +/* --------------- */ +/* +* ================================================= +* +* sass mixins for OpenOLAT 8 +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Nov. 2011 +* +* also read themes.README! +* +* this file is included in layout.scss +* it is not compiled to a separate css-file... +* +* ================================================= +*/ +/* +* ================================================= +* +* CONTAINS SOME SASS VARIABLES FOR the EXAMPLE THEME +* you can change these and compile the theme :) +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Nov. 2011 +* +* +* also read themes.README! +* +* ================================================= +*/ +/* the base-color and variations (for openolat-theme this is the openolat-blue) */ +/* then we need a base-gray and some variations */ +/* here you can define the two small icons used in trees: + and - */ +/* defines the body-background */ +/* --------------- */ +/* +* ================================================= +* +* basemod rules for OpenOLAT 8 +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Nov. 2011 +* +* also read themes.README! +* +* (as of yaml compliance, contains css rules for +* positioning and sizing elements) +* +* this file is included in layout.scss +* it is not compiled to a separate css-file... +* +* ================================================= +*/ +@media all { + html { + min-height: 100%; } + + /** ----------------- MAIN LAYOUT ----------------- **/ + /** + * (en) Forcing vertical scrollbars in IE8, Firefox, Webkit & Opera + * (de) Erzwingen vertikaler Scrollbalken in IE8, Firefox, Webkit & Opera + * + * @workaround + * @affected IE8, FF, Webkit, Opera + * @css-for all + * @valid CSS3 + */ + body { + min-height: 100%; + overflow-y: scroll; + background: yellow; + background: -moz-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, yellow), color-stop(33%, red), color-stop(66%, blue), color-stop(100%, green)); + background: -webkit-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%); + background: -o-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%); + background: -ms-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%); + background: linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='yellow', endColorstr='green',GradientType=0 ); } + + #b_page_margins { + min-width: 740px; + max-width: 1324px; + margin: 0 auto; + width: 100%; + height: 100%; } + + #b_page_wrapper { + border-bottom: 1px solid lightGrey; } + + #b_main { + background: #fff; + clear: both; + moz-box-shadow: 0 0 14px #d3d3d3; + -ms-box-shadow: 0 0 14px #d3d3d3; + -o-box-shadow: 0 0 14px #d3d3d3; + -webkit-box-shadow: 0 0 14px #d3d3d3; + box-shadow: 0 0 14px #d3d3d3; } + + #b_page a#b_toplink { + position: absolute; + bottom: 1em; + right: 1em; + background: transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat; + padding-left: 14px; + z-index: 5; } + + #b_header, #b_page, #b_col1_content, #b_col2_content, #b_col3_content, #b_col3_content_inner { + position: relative; } + + #b_col1 { + overflow: hidden; } + + #b_col1_content { + padding: 1em 10px 1em 0px; } + + #b_col3 { + border-left: 1px #DDD dotted; + border-right: 1px #DDD dotted; } + + #b_col3_content { + min-height: 450px; + padding: 20px 20px 30px 20px; } + + #b_col2_content { + overflow: hidden; + padding: 1em 0; } + + .b_hidecol2 #b_col3 { + margin-right: 0 !important; + border-right: 0; } + + .b_hidecol1 #b_col3 { + margin-left: 0 !important; + border-left: 0; } + + .b_c15r, .b_c20r, .b_c80r, .b_c85r { + float: right; + margin-left: -5px; } + + .b_c15l, .b_c15r { + width: 15%; } + + .b_c20l, .b_c20r { + width: 20%; } + + .b_c80l, .b_c80r { + width: 80%; } + + .b_c85l, .b_c85r { + width: 85%; } + + .b_subcolumns_oldgecko, .b_c20l, .b_c15l, .b_c80l, .b_c85l { + float: left; } + + /* IFRAME */ + div.b_iframe_wrapper iframe { + width: 100%; + position: relative; + top: 0; + left: 0; + border: none; + margin: 0; + padding: 0; + background: transparent; } + + /** ----------------- HEADER AND TOP NAVIGATION ----------------- **/ + #b_header { + height: auto; + min-height: 30px; + position: relative; + /* the top-navigation */ } + #b_header #b_topnav { + position: absolute; + right: 0px; + top: 0px; + padding: 4px 15px 0px 0px; } + #b_header #b_topnav ul { + margin: 0; } + #b_header #b_topnav #o_topnav_search input { + line-height: 1.3em; + margin: 0; + width: 10em; } + #b_header #b_topnav #o_topnav_printview a { + background: url(../openolat/images/printer.png) no-repeat top right; + padding: 2px 20px 2px 0; + margin: 0; } + #b_header #b_topnav #o_topnav_logout a { + background: url("../openolat/images/control/control-power.png") no-repeat top right; + padding: 2px 20px 2px 0; + margin: 0; + font-weight: bold; } + #b_header #b_topnav li { + float: left; + list-style: none; } + #b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal { + margin: 0; } + + /** ----------------- MAIN NAVIGATION ( TABS ) ----------------- **/ + #b_nav_main { + float: left; } + #b_nav_main ul { + padding-left: 40px; + margin: 0; } + #b_nav_main ul li { + float: left; + position: relative; + list-style: none; + margin: 0px; + padding: 4px 3px 4px 12px; + margin-right: 2px; + -webkit-border-top-left-radius: 6px; + -webkit-border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -moz-border-radius-topleft: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 0; + -moz-border-radius-bottomleft: 0; + border-top-left-radius: 6px; + border-top-right-radius: 6px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + background: #fff; + background: rgba(255, 255, 255, 0.5); + /* -- SITES ( home, users, groups, etc. ) -- */ + /* -- TABS ( courses, wiki, etc.) -- */ + /* -- THE SPACER -- */ } + #b_nav_main ul li a { + /* "bloat" the links (better for touch) */ + padding: 4px 12px 4px 3px; } + #b_nav_main ul li a:hover { + text-decoration: none; } + #b_nav_main ul li.b_nav_site { + /** sites icons **/ } + #b_nav_main ul li.b_nav_site.b_nav_active, #b_nav_main ul li.b_nav_site:hover { + moz-box-shadow: 0 -4px 8px -1px #d3d3d3; + -ms-box-shadow: 0 -4px 8px -1px #d3d3d3; + -o-box-shadow: 0 -4px 8px -1px #d3d3d3; + -webkit-box-shadow: 0 -4px 8px -1px #d3d3d3; + box-shadow: 0 -4px 8px -1px #d3d3d3; + background: #fff; } + #b_nav_main ul li.b_nav_site.b_nav_active a.b_nav_tab_close, #b_nav_main ul li.b_nav_site:hover a.b_nav_tab_close { + background-image: url(../openolat/images/cross_small_trimmed_blue.png); } + #b_nav_main ul li.b_nav_site > div { + padding-left: 16px; + background-repeat: no-repeat; + background-position: 0% 50%; + background-image: url("../openolat/images/application.png"); } + #b_nav_main ul li.b_nav_site.o_site_home > div { + background-image: url("../openolat/images/home.png"); } + #b_nav_main ul li.b_nav_site.o_site_admin > div { + background-image: url("../openolat/images/wrench-screwdriver.png"); } + #b_nav_main ul li.b_nav_site.o_site_useradmin > div { + background-image: url("../openolat/images/user_conf.png"); } + #b_nav_main ul li.b_nav_site.o_site_groupsmanagement > div { + background-image: url("../openolat/images/users_conf.png"); } + #b_nav_main ul li.b_nav_site.o_site_repository > div { + background-image: url("../openolat/images/books-stack.png"); } + #b_nav_main ul li.b_nav_site.o_site_groups > div { + background-image: url("../openolat/images/users.png"); } + #b_nav_main ul li.b_nav_site.site_demo_icon > div { + background-image: url("../openolat/images/information-white.png"); } + #b_nav_main ul li.b_nav_site.f_site_library > div { + background-image: url("../openolat/images/library.png"); } + #b_nav_main ul li.b_nav_site.o_site_guidemo div { + background-image: url("../openolat/images/light-bulb.png"); } + #b_nav_main ul li.b_nav_site.b_resource_GroupInfoMainController div { + background-image: url(../openolat/images/users.png); } + #b_nav_main ul li.b_nav_tab { + margin-right: 4px; } + #b_nav_main ul li.b_nav_tab a.b_nav_tab_close { + position: absolute; + top: 3px; + right: 4px; + width: 13px; + height: 13px; + line-height: 0; + padding: 0; + margin: 0; + background: transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top; } + #b_nav_main ul li.b_nav_tab.b_nav_active, #b_nav_main ul li.b_nav_tab:hover { + moz-box-shadow: 0 -4px 8px -1px #d3d3d3; + -ms-box-shadow: 0 -4px 8px -1px #d3d3d3; + -o-box-shadow: 0 -4px 8px -1px #d3d3d3; + -webkit-box-shadow: 0 -4px 8px -1px #d3d3d3; + box-shadow: 0 -4px 8px -1px #d3d3d3; + background: #fff; } + #b_nav_main ul li.b_nav_tab.b_nav_active a.b_nav_tab_close, #b_nav_main ul li.b_nav_tab:hover a.b_nav_tab_close { + background-image: url(../openolat/images/cross_small_trimmed_blue.png); } + #b_nav_main ul li#b_nav_spacer { + background: none; + border: none; + width: 20px; + height: 1px; } + + /** ----------------- SUB NAVIGATION (TREE) ----------------- **/ + /* note: the markup will be the one from OLATpro, has to be merged yet */ + div.b_tree { + font-size: 100%; + padding: 0; + /* the open/close node icons */ } + div.b_tree ul { + position: relative; + padding: 0; + margin: 0 0 0 1em; + list-style: none; + white-space: nowrap; + /* link to select the item with icon */ } + div.b_tree ul li { + position: relative; + background: transparent; + margin-left: 0; + padding-left: 0; + /* selected, hovered, active <a> tag */ + /* icon positioning */ + /* decorators in tree (e.g. course-editor ) */ } + div.b_tree ul li a.b_tree_icon { + padding-left: 20px; + padding-top: 2px; + position: relative; + background-position: 0 50%; + background-repeat: no-repeat; } + div.b_tree ul li a { + color: #555555; } + div.b_tree ul li a.b_tree_l1 { + padding-left: 16px; } + div.b_tree ul li .b_tree_oc_l1 { + position: absolute; + top: 0px; + left: 0px; + z-index: 9; } + div.b_tree ul li a:focus, div.b_tree ul li a:hover { + color: red; + background-color: white; + text-decoration: underline; } + div.b_tree ul li a.b_tree_selected, div.b_tree ul li a:active { + color: red; + background-color: white; + text-decoration: none; } + div.b_tree ul li li a.b_tree_selected_parents, div.b_tree ul li a.b_tree_l0, div.b_tree ul li strong { + color: red; + font-weight: bold; } + div.b_tree ul li .b_tree_oc_l1 { + position: absolute; + top: 0px; + left: 1px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l2 { + position: absolute; + top: 0px; + left: 11px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l3 { + position: absolute; + top: 0px; + left: 21px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l4 { + position: absolute; + top: 0px; + left: 31px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l5 { + position: absolute; + top: 0px; + left: 41px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l6 { + position: absolute; + top: 0px; + left: 51px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l7 { + position: absolute; + top: 0px; + left: 61px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l8 { + position: absolute; + top: 0px; + left: 71px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l9 { + position: absolute; + top: 0px; + left: 81px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l10 { + position: absolute; + top: 0px; + left: 91px; + z-index: 9; } + div.b_tree ul li .b_tree_oc_l11 { + position: absolute; + top: 0px; + left: 101px; + z-index: 9; } + div.b_tree ul li a.b_tree_l0 { + padding-left: 5px; } + div.b_tree ul li a.b_tree_l1 { + padding-left: 15px; } + div.b_tree ul li a.b_tree_l2 { + padding-left: 25px; } + div.b_tree ul li a.b_tree_l3 { + padding-left: 35px; } + div.b_tree ul li a.b_tree_l4 { + padding-left: 45px; } + div.b_tree ul li a.b_tree_l5 { + padding-left: 55px; } + div.b_tree ul li a.b_tree_l6 { + padding-left: 65px; } + div.b_tree ul li a.b_tree_l7 { + padding-left: 75px; } + div.b_tree ul li a.b_tree_l8 { + padding-left: 85px; } + div.b_tree ul li a.b_tree_l9 { + padding-left: 95px; } + div.b_tree ul li a.b_tree_l10 { + padding-left: 105px; } + div.b_tree ul li a.b_tree_l11 { + padding-left: 115px; } + div.b_tree ul li span.b_tree_icon_decorator { + width: 12px; + height: 12px; + float: right; + display: inline; + position: static; + background-repeat: no-repeat; } + div.b_tree ul.b_tree_l0 a.b_tree_icon { + padding-left: 20px; + background-position: 2px 50%; } + div.b_tree ul.b_tree_l1 a.b_tree_icon { + padding-left: 30px; + background-position: 12px 50%; } + div.b_tree ul.b_tree_l2 a.b_tree_icon { + padding-left: 40px; + background-position: 22px 50%; } + div.b_tree ul.b_tree_l3 a.b_tree_icon { + padding-left: 50px; + background-position: 32px 50%; } + div.b_tree ul.b_tree_l4 a.b_tree_icon { + padding-left: 60px; + background-position: 42px 50%; } + div.b_tree ul.b_tree_l5 a.b_tree_icon { + padding-left: 70px; + background-position: 52px 50%; } + div.b_tree ul.b_tree_l6 a.b_tree_icon { + padding-left: 80px; + background-position: 62px 50%; } + div.b_tree ul.b_tree_l7 a.b_tree_icon { + padding-left: 90px; + background-position: 72px 50%; } + div.b_tree ul.b_tree_l8 a.b_tree_icon { + padding-left: 100px; + background-position: 82px 50%; } + div.b_tree ul.b_tree_l9 a.b_tree_icon { + padding-left: 110px; + background-position: 92px 50%; } + div.b_tree ul.b_tree_l10 a.b_tree_icon { + padding-left: 120px; + background-position: 102px 50%; } + div.b_tree ul.b_tree_l11 a.b_tree_icon { + padding-left: 130px; + background-position: 112px 50%; } + div.b_tree a.b_tree_level_close span { + background: url("../openolat/images/toggle-small.png") no-repeat 0% 50%; + padding-right: 8px; } + div.b_tree a.b_tree_level_open span { + background: url("../openolat/images/toggle-small-expand.png") no-repeat 0% 50%; + padding-right: 8px; } + div.b_tree a.b_tree_level_close:hover, div.b_tree a.b_tree_level_open:hover { + text-decoration: none; } + + /** ----------------- FOOTER ----------------- **/ + #b_footer { + color: #9D9D9D; + padding: 8px 20px; + margin-top: 12px; } + #b_footer .b_floatbox { + padding-top: 8px; + border-top: 1px solid #ddd; } + #b_footer #b_footer_user { + float: left; + line-height: 16px; } + #b_footer #b_footer_user a.b_ajax { + background: url(../openolat/images/ajax.png) no-repeat; + width: 20px; + height: 16px; + display: block; + float: left; } + #b_footer #b_footer_version { + float: right; + display: block; } + #b_footer #b_footer_powered { + text-align: center; + width: auto; + background: none; } + #b_footer #b_footer_powered a { + display: inline; } + + /** ------------------ COURSE EDITOR --------------- **/ + #o_course_editor_errorbox { + font-size: 90%; + padding: 3px 2px 2px 25px; + margin: 0 0 1em 0; } + + div.o_courseeditor_legend { + margin-top: 3em; } + div.o_courseeditor_legend strong { + font-weight: bold; } + div.o_courseeditor_legend div { + top: 0; + left: 0; + padding-left: 12px; + background-repeat: no-repeat; + background-position: 0 50%; } + + /* --------------- MENU TOOLBAR & BREADCRUMBS ------------ **/ + #b_main.b_menu_toolbar #b_col1_content { + padding-top: 0; + padding-right: 0; } + + #b_main.b_menu_toolbar #b_col3_content { + padding: 0; } + + div.b_menu_toolbar { + background: #f9f9f9; + background: -moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0)); + background: -webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%); + background: -o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%); + background: -ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%); + background: linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#d0d0d0',GradientType=0 ); + border-bottom: 1px solid #7D7D7D; + padding: 5px 5px 2px 0; } + + /* breadcrumbs */ + div.b_breadcumb_path { + padding: 0; + margin: 0; + float: left; + display: inline; } + div.b_breadcumb_path ul { + padding: 0; + margin: 0; + list-style: none; + float: left; + display: inline; } + div.b_breadcumb_path ul li { + padding: 0 7px 0 14px; + margin: 0; + list-style: none; + float: left; + display: inline; + background: url(../openolat/images/breadcrumb-separator.png) no-repeat left center; } + div.b_breadcumb_path ul li.b_first { + background: url(../openolat/images/home.png) no-repeat top left; + padding-left: 25px; } + div.b_breadcumb_path ul li a { + color: #464444; } + div.b_breadcumb_path ul li span.b_disabled { + color: #000; + padding: 0 10px 0 0; + margin: 0; } + + div.b_breadcumb_content { + clear: both; + margin-top: 0.5em; + padding-top: 0.5em; + border-top: 1px solid #ACAAAA; } + + /* NOTIFICATIONS */ + div.b_noti { + border: 1px solid #E9EAEF; + padding: 3px 23px 3px 3px; + float: right; + display: inline; + position: relative; + right: 0; + font-size: 95%; } + div.b_noti a.b_contexthelp { + position: absolute; + top: 2px; + right: 2px; } + div.b_noti a.b_noti_unsubscribe_link { + background: url(../openolat/images/mail--minus.png) no-repeat left 50%; + padding: 1px 0 1px 20px; } + div.b_noti a.b_noti_subscribe_link { + background: url(../openolat/images/mail--plus.png) no-repeat left 50%; + padding: 1px 0 1px 20px; } + div.b_noti a.b_noti_markedread_link { + background: url(../openolat/images/tick.png) no-repeat left 50%; + padding: 1px 0 1px 20px; } + + /* ---------- TITLE Wrapper --------------- */ + h1.b_titled_wrapper span { + padding-right: 4em; + font-style: italic; } + + h2.b_titled_wrapper span { + padding-right: 4em; + font-style: italic; } + + h3.b_titled_wrapper span { + padding-right: 4em; + font-style: italic; } + + h4.b_titled_wrapper span { + padding-right: 3em; + font-style: italic; } + + h5.b_titled_wrapper span { + padding-right: 3em; + font-style: italic; } + + div.b_titled_wrapper div.b_togglebox div.b_togglebox_content { + background: #fff; + border: 0px; + padding: 0px; } + + div.b_titled_wrapper_desc a.b_togglebox_opened { + z-index: 10; + display: block; + width: 16px; + height: 16px; + position: absolute; + top: 5px; + left: 5px; + background: url(../images/brasato/information.png) no-repeat 0 50%; + padding: 0; } + + div.b_titled_wrapper_desc a.b_togglebox_opened:hover { + background: url(../images/brasato/information_over.png) no-repeat 0 50%; + padding: 0; } + + div.b_titled_wrapper_desc a.b_togglebox_closed { + display: block; + width: 20px; + height: 20px; + background: url(../images/brasato/information_discreet.png) no-repeat top left; + padding: 0; } + + div.b_titled_wrapper_desc a.b_togglebox_closed:hover { + background: url(../images/brasato/information.png) no-repeat top left; } + + div.b_titled_wrapper_desc div.b_togglebox div.b_togglebox_content { + position: relative; + margin-bottom: 1em; } + + div.b_titled_wrapper_desc a.b_togglebox_hide span { + position: absolute; + bottom: 0; + right: 0; + padding: 0 6px 3px 0; } + + div.b_titled_wrapper_desc a.b_togglebox_hide:hover { + text-decoration: underline; } + + /* Needed for IE6 */ + div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives { + position: relative; } + + div.b_titled_wrapper div.b_noti { + position: absolute; + top: 0; + right: 25px; } + + div.o_course_run_dropbox div.b_noti { + position: relative; + top: 0; + right: 25px; + border: 1px solid #FFFFFF; } + + div.o_course_run_returnbox div.b_noti { + position: relative; + top: 0; + right: 25px; + border: 1px solid #FFFFFF; } + + div.o_course_run_solutionbox div.b_noti { + position: relative; + top: 0; + right: 25px; + border: 1px solid #FFFFFF; } + + /** ------------------ CATALOG ------------------------ **/ + div.o_catalog div.o_catalog_title { + display: none; } + div.o_catalog div.o_catalog_nav { + font-size: 95%; + padding: 1px 0 1px 20px; + border-bottom: 1px solid #EEE; + background: url(../openolat/images/folder_open.png) 0 50% no-repeat; } + div.o_catalog div.o_catalog_links { + margin-top: 1em; + padding-top: 1em; + border-top: 1px solid #EEE; } + + /** -------------- TAGGING ---------------- **/ + /* tagging */ + .b_tag_list { + background: url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important; } + + .b_tag_icon { + background-image: url(../openolat/images/tag-label-yellow.png); } + + div.b_tags { + margin: 2em 0; } + div.b_tags div { + padding: 0.5em 0 0 20px; } + div.b_tags span.b_tag { + font-size: 80%; + padding: 5px 2px 5px 2px; + line-height: 3em; + white-space: nowrap; } + + div.o_ep_toc_editor div.b_subcl { + min-height: 35em; } + + div.o_ep_struct_editor div.b_subcr { + min-height: 35em; + background: #FFF; + padding-right: 1em; + overflow-x: auto; } + + div.b_struct_edit_btn { + float: right; + display: inline; } + + div.b_struct_submit_assess_btn { + float: right; + display: inline; } + + /* TextboxList */ + *:first-child + html div.holder { + padding-bottom: 2px; } + + * html div.holder { + padding-bottom: 2px; } + + /* ie7 and below */ + .textbox-outer { + list-style-type: none; + margin-left: 0em; } + + div.holder { + font-size: 80%; } + + .textboxlist-auto { + position: absolute; + width: 300px; + overflow: show; } + + /* autocompleter bitbox (item) holder */ + a.bit-box, span.b_tag { + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; + border: 1px solid #CAD8F3; + background: #DEE7F8; + padding: 1px 5px 2px; + padding-right: 15px; + position: relative; } + + div.holder { + min-width: 200px; + width: auto; + margin: 0; + overflow: hidden; + height: auto !important; + height: 1%; + padding: 0px 0px 0; + cursor: text; + /* no left/right padding here please */ } + div.holder a { + float: left; + margin: 0 5px 4px 0; } + div.holder a.bit { + text-decoration: none; + color: black; } + div.holder a.bit:active, div.holder a.bit:focus { + outline: none; } + div.holder a.bit-box-focus { + border-color: #598BEC; + background: #598BEC; + color: #fff; } + div.holder a.bit-input input { + width: 100px; + margin: 0; + border: none; + background: white; + outline: 0; + padding: 3px 0 2px; } + div.holder a.bit-input input.smallinput { + width: 20px; } + div.holder a.bit-hover { + background: #BBCEF1; + border: 1px solid #6D95E0; } + div.holder a.bit-box-focus { + background: #598BEC; + color: #fff; } + div.holder a.bit-box a.closebutton { + position: absolute; + right: 0; + top: 5px; + display: block; + width: 7px; + height: 7px; + font-size: 1px; + background: url("../openolat/images/tag_x.gif"); } + div.holder a.bit-box a.closebutton:hover { + background-position: 7px; } + div.holder a.bit-box a.closebutton:active { + outline: none; } + div.holder a.bit-box-focus a.closebutton, div.holder a.bit-box-focus a.closebutton:hover { + background-position: bottom; } + + .b_wizard .textbox-outer { + background: url(../openolat/images/tag-label-yellow.png) top left no-repeat; } + .b_wizard .textbox-outer li { + margin-left: 18px; } + .b_wizard div.holder a.bit-input input { + background: #f8f8f8; + padding: 0.4em; } + + /* Autocompleter for textboxlist */ + ol.textbox-outer { + margin: 0; + padding: 0; } + + .textboxlist-auto { + display: none; + background: #eee; } + .textboxlist-auto .default { + padding: 5px 7px; + border: 1px solid #ccc; + border-width: 0 1px 1px; } + .textboxlist-auto ul { + display: none; + margin: 0; + padding: 0; + overflow: auto; } + .textboxlist-auto ul li { + padding: 5px 12px; + z-index: 1000; + cursor: pointer; + margin: 0; + list-style-type: none; + border: 1px solid #ccc; + border-width: 0 1px 1px; } + .textboxlist-auto ul li.loading-indicator { + padding-left: 30px; + background-position: 5px center; + cursor: defat; + font-size: 100.01% !important; + line-height: 1.5em; } + .textboxlist-auto ul li.more-indicator { + cursor: defat; + font-style: italic; } + .textboxlist-auto ul li em { + font-weight: bold; + font-style: normal; + background: #ccc; } + .textboxlist-auto ul li.auto-focus { + background: #4173CC; + color: #fff; } + .textboxlist-auto ul li.auto-focus em { + background: none; } + + input.inputMessage { + color: #AAA; + font-size: 11px; } + + /** ---------------------- EXT JS PATCHES ------------------ **/ + div.b_ext_elem ol, div.b_ext_elem ul, div.b_ext_elem li { + list-style: none; + padding: 0; + margin: 0; } + + div.b_ext_elem.x-tree .x-panel-body { + background: transparent; } + + div.b_ext_tooltip_wrapper { + padding: 1px; } + + .x-window-mc { + font-size: 100%; } + + /* EXT TREE */ + div.b_ext_elem .x-tree-lines .x-tree-elbow-minus { + background-image: url("../openolat/images/toggle-small-expand.png"); + background-position: 50% 50%; } + + div.b_ext_elem .x-tree-lines .x-tree-elbow-plus { + background-image: url("../openolat/images/toggle-small-expand.png"); + background-position: 50% 50%; } + + div.b_ext_elem .x-tree-lines .x-tree-elbow-end-minus { + background-image: url("../openolat/images/toggle-small-expand.png"); + background-position: 50% 50%; } + + div.b_ext_elem .x-tree-lines .x-tree-elbow-end-plus { + background-image: url("../openolat/images/toggle-small-expand.png"); + background-position: 50% 50%; } + + div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon { + background-image: url(../openolat/images/folder.png); } + + div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon { + background-image: url(../openolat/images/folder_open.png); } + + div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon { + background-image: url(../openolat/images/docs/document_plain.png); } + + div.b_ext_elem .x-tree-selected a.x-tree-node-anchor { + border: 1px dotted #444; + text-decoration: none; } + + div.b_ext_elem .x-tree-node .x-tree-selected { + background-color: #FFC266; } } +/* +* ================================================= +* +* DRAG and DROP Rules for the OpenOLAT theme +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Dez. 2011 +* +* also read themes.README! +* +* +* ================================================= +*/ +/* (in trees ) */ +.b_dd_item { + cursor: move; + z-index: 1000; } + +.b_dd_proxy { + opacity: 0.4; + -moz-opacity: 0.4; + filter: alpha(opacity=40); } + +.b_dd_item.b_dd_over { + background-color: #ffff60; } + +.b_dd_sibling { + height: 3px; + width: 100%; } + +.b_dd_sibling.b_dd_over { + background: transparent url(../openolat/images/arrow_dd.png) top left no-repeat; } + +div.b_dd_ct div.b_dd_sibling_l1 { + margin-left: 0 !important; } +div.b_dd_ct div.b_dd_sibling_l2 { + margin-left: 1em !important; } +div.b_dd_ct div.b_dd_sibling_l3 { + margin-left: 2em !important; } +div.b_dd_ct div.b_dd_sibling_l4 { + margin-left: 3em !important; } +div.b_dd_ct div.b_dd_sibling_l5 { + margin-left: 4em !important; } +div.b_dd_ct div.b_dd_sibling_l6 { + margin-left: 5em !important; } +div.b_dd_ct div.b_dd_sibling_l7 { + margin-left: 6em !important; } +div.b_dd_ct div.b_dd_sibling_l8 { + margin-left: 7em !important; } +div.b_dd_ct div.b_dd_sibling_l9 { + margin-left: 8em !important; } +div.b_dd_ct div.b_dd_sibling_l10 { + margin-left: 9em !important; } +div.b_dd_ct div.b_dd_sibling_l11 { + margin-left: 10em !important; } + +/* +* ================================================= +* +* ICON Rules for the OpenOLAT theme +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Dez. 2011 +* +* also read themes.README! +* +* +* ================================================= +*/ +.b_with_small_icon_left { + padding: 1px 0 1px 20px; + min-height: 16px; + background-position: 0 50%; + background-repeat: no-repeat; } + +option.b_with_small_icon_left { + padding: 0 0 0 20px; + vertical-align: middle; + min-height: 11px; + background-position: 0 50%; + background-repeat: no-repeat; } + +.b_with_small_icon_right { + padding: 1px 20px 1px 0px; + min-height: 16px; + background-position: 100% 50%; + background-repeat: no-repeat; } + +.b_small_icon { + float: left; + display: inline; + width: 16px; + height: 16px; + background-position: 0 50%; + background-repeat: no-repeat; } + +/* ------- misc icons --------- */ +.b_info_icon { + background-image: url("../openolat/images/comment.png"); } + +.b_warn_icon { + background-image: url("../openolat/images/exclamation.png"); } + +.b_error_icon { + background-image: url("../openolat/images/cross-circle.png"); } + +.b_new_icon { + background-image: url("../openolat/images/new-text.png"); } + +.b_institution_icon { + background-image: url("../openolat/images/home.png"); } + +.b_group_icon { + background-image: url("../openolat/images/users.png"); } + +.b_user_icon { + background-image: url("../openolat/images/user.png"); } + +.b_move_left_icon { + background-image: url("../openolat/images/arrow_left_big.png"); } + +.b_move_right_icon { + background-image: url("../openolat/images/arrow_right_big.png"); } + +.b_move_down_icon { + background-image: url("../openolat/images/arrow_down_big.png"); } + +.b_move_up_icon { + background-image: url("../openolat/images/arrow_up_big.png"); } + +.b_delete_icon { + background-image: url("../openolat/images/cross-script.png"); } + +.b_share_icon { + background-image: url("../openolat/images/share.png"); } + +.b_status_enabled_icon { + background-image: url("../openolat/images/tick.png"); } + +.b_status_disabled_icon { + background-image: url("../openolat/images/cross.png"); } + +.b_edit_icon { + background-image: url("../openolat/images/docs/document--pencil.png"); } + +.b_add_icon { + background-image: url("../openolat/images/plus-circle.png"); } + +.b_open_icon { + background-image: url("../openolat/images/control/control.png"); } + +.o_fulltext_search_button { + background-image: url("../openolat/images/magnifier-zoom.png"); } + +.o_help_icon { + background-image: url("../openolat/images/help.png"); } + +.o_rss_icon { + background-image: url("../openolat/images/feed.png"); } + +.o_login_guests { + background-image: url("../openolat/images/user_silhouette.png"); } + +.o_login_pwd { + background-image: url("../openolat/images/user_excl.png"); } + +.o_login_register { + background-image: url("../openolat/images/user_register.png"); } + +.o_news_icon { + background-image: url("../images/olat/information.png"); } + +.o_course_icon { + background-image: url("../openolat/images/le_resources/book-open-text-image.png"); } + +.o_chat_icon { + background-image: url("../images/olat/chat_icon.png"); } + +.o_admin_icon { + background-image: url("../openolat/images/wrench-screwdriver.png"); } + +.o_calendar_icon { + background-image: url("../openolat/images/calendar.png"); } + +/** ------- FLAGS ------ **/ +.b_flag_en { + background-image: url("../openolat/images/flags/gb.png"); } + +.b_flag_de { + background-image: url("../openolat/images/flags/de.png"); } + +.b_flag_fr { + background-image: url("../openolat/images/flags/fr.png"); } + +.b_flag_it { + background-image: url("../openolat/images/flags/it.png"); } + +.b_flag_es { + background-image: url("../openolat/images/flags/es.png"); } + +.b_flag_da { + background-image: url("../openolat/images/flags/dk.png"); } + +.b_flag_cs { + background-image: url("../openolat/images/flags/cz.png"); } + +.b_flag_el { + background-image: url("../openolat/images/flags/gr.png"); } + +.b_flag_ru { + background-image: url("../openolat/images/flags/ru.png"); } + +.b_flag_pl { + background-image: url("../openolat/images/flags/pl.png"); } + +.b_flag_zh_CN { + background-image: url("../openolat/images/flags/cn.png"); } + +.b_flag_zh_TW { + background-image: url("../openolat/images/flags/tw.png"); } + +.b_flag_lt { + background-image: url("../openolat/images/flags/lt.png"); } + +.b_flag_fa { + background-image: url("../openolat/images/flags/ir.png"); } + +.b_flag_pt_PT { + background-image: url("../openolat/images/flags/pt.png"); } + +.b_flag_pt_BR { + background-image: url("../openolat/images/flags/br.png"); } + +.b_flag_tr { + background-image: url("../openolat/images/flags/tr.png"); } + +.b_flag_hu { + background-image: url("../openolat/images/flags/hu.png"); } + +.b_flag_sq { + background-image: url("../openolat/images/flags/al.png"); } + +.b_flag_in { + background-image: url("../openolat/images/flags/id.png"); } + +.b_flag_ar { + background-image: url("../openolat/images/flags/eg.png"); } + +.b_flag_rm { + background-image: url("../openolat/images/flags/rm.png"); } + +.b_flag_af { + background-image: url("../openolat/images/flags/za.png"); } + +.b_flag_vi { + background-image: url("../openolat/images/flags/vn.png"); } + +.b_flag_mn { + background-image: url("../openolat/images/flags/mn.png"); } + +.b_flag_iw { + background-image: url("../openolat/images/flags/il.png"); } + +.b_flag_ko { + background-image: url("../openolat/images/flags/kr.png"); } + +.b_flag_nl_NL { + background-image: url("../openolat/images/flags/nl.png"); } + +.b_flag_jp { + background-image: url("../openolat/images/flags/jp.png"); } + +.b_flag_nb_NO { + background-image: url("../openolat/images/flags/no.png"); } + +.b_flag_et_EE { + background-image: url("../openolat/images/flags/ee.png"); } + +.b_flag_bg { + background-image: url("../openolat/images/flags/bg.png"); } + +.b_flag_hi_IN_ASIA { + background-image: url("../openolat/images/flags/in.png"); } + +.b_flag_ar_LB { + background-image: url("../openolat/images/flags/lb.png"); } + +.b_flag_de_FX_business { + background-image: url("../openolat/images/flags/de.png"); } + +.b_flag_de_FX_school { + background-image: url("../openolat/images/flags/de.png"); } + +.b_flag_en_FX_business { + background-image: url("../openolat/images/flags/gb.png"); } + +.b_flag_en_FX_school { + background-image: url("../openolat/images/flags/gb.png"); } + +/** ------- FILE TYPES ------- **/ +/* first the default that is used as base class. will be overriden by following classes */ +.b_filetype_file, .b_filetype_ico { + background-image: url("../openolat/images/docs/document_plain.png") !important; } + +/* filesystem icons, mark important to override ext definitions */ +.b_filetype_avi_icon { + background-image: url("../openolat/images/docs/document-film.png") !important; } + +.b_filetype_bat_icon { + background-image: url("../openolat/images/docs/document-binary.png") !important; } + +.b_filetype_bmp { + background-image: url("../openolat/images/docs/document-image.png") !important; } + +.b_filetype_css { + background-image: url("../openolat/images/docs/document_tags.png") !important; } + +.b_filetype_doc, .b_filetype_docx { + background-image: url("../openolat/images/docs/document-word.png") !important; } + +.b_filetype_dvi { + background-image: url("../openolat/images/docs/document-film.png") !important; } + +.b_filetype_exe { + background-image: url("../openolat/images/docs/document-binary.png") !important; } + +div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder, .b_filetype_folder_open { + background-image: url("../openolat/images/folder_open.png") !important; } + +.b_filetype_folder { + background-image: url("../openolat/images/folder.png") !important; } + +.b_filetype_gif { + background-image: url("../openolat/images/docs/document-image.png") !important; } + +.b_filetype_gz { + background-image: url("../openolat/images/docs/document-zipper.png") !important; } + +.b_filetype_htm, .b_filetype_html { + background-image: url("../openolat/images/docs/document_tags.png") !important; } + +.b_filetype_jpeg, .b_filetype_jpg { + background-image: url("../openolat/images/docs/document-image.png") !important; } + +.b_filetype_js { + background-image: url("../openolat/images/docs/document_tags.png") !important; } + +.b_filetype_log { + background-image: url("../openolat/images/docs/document_plain.png") !important; } + +.b_filetype_midi { + background-image: url("../openolat/images/docs/document-music.png") !important; } + +.b_filetype_mov { + background-image: url("../openolat/images/docs/document-film.png") !important; } + +.b_filetype_mp3, .b_filetype_m3u { + background-image: url("../openolat/images/docs/document-music.png") !important; } + +.b_filetype_mpeg, .b_filetype_mpg { + background-image: url("../openolat/images/docs/document-film.png") !important; } + +.b_filetype_odp { + background-image: url("../openolat/images/docs/document-powerpoint.png") !important; } + +.b_filetype_ods { + background-image: url("../openolat/images/docs/document-excel.png") !important; } + +.b_filetype_odt { + background-image: url("../openolat/images/docs/document-text.png") !important; } + +.b_filetype_odg { + background-image: url("../openolat/images/docs/document-image.png") !important; } + +.b_filetype_odf { + background-image: url("../openolat/images/docs/document_plain.png") !important; } + +.b_filetype_pdf { + background-image: url("../openolat/images/docs/document-pdf.png") !important; } + +.b_filetype_png { + background-image: url("../openolat/images/docs/document-image.png") !important; } + +.b_filetype_ppt { + background-image: url("../openolat/images/docs/document-powerpoint.png") !important; } + +.b_filetype_pptx { + background-image: url("../openolat/images/docs/document-powerpoint.png") !important; } + +.b_filetype_ps { + background-image: url("../openolat/images/docs/document-pdf.png") !important; } + +.b_filetype_qt, .b_filetype_ra, .b_filetype_ram { + background-image: url("../openolat/images/docs/document-film.png") !important; } + +.b_filetype_readme, .b_filetype_README { + background-image: url("../openolat/images/docs/document-text.png") !important; } + +.b_filetype_rtf { + background-image: url("../openolat/images/docs/document-word.png") !important; } + +.b_filetype_tar, .b_filetype_tgz { + background-image: url("../openolat/images/docs/document-zipper.png") !important; } + +.b_filetype_tiff { + background-image: url("../openolat/images/docs/document-image.png") !important; } + +.b_filetype_txt { + background-image: url("../openolat/images/docs/document-text.png") !important; } + +.b_filetype_wav { + background-image: url("../openolat/images/docs/document-music.png") !important; } + +.b_filetype_xls, .b_filetype_xlsx { + background-image: url("../openolat/images/docs/document-excel.png") !important; } + +.b_filetype_xml { + background-image: url("../openolat/images/docs/document_tags.png") !important; } + +.b_filetype_xsl { + background-image: url("../openolat/images/docs/document_tags.png") !important; } + +.b_filetype_zip { + background-image: url("../openolat/images/docs/document-zipper.png") !important; } + +/* tab icons in nav and in LE-resources table*/ +li.b_nav_site div, li.b_nav_tab div { + background: url("../openolat/images/application.png") no-repeat left 50%; + padding-left: 18px; } + +li.b_resource_BusinessGroup div, .o_BusinessGroup_icon { + background-image: url("../openolat/images/users.png"); } + +li.b_resource_CourseModule div, .o_CourseModule_icon { + background-image: url("../openolat/images/le_resources/book-open-text-image.png"); } + +li.b_resource_HOMEPAGECONFIG div, .o_HOMEPAGECONFIG_icon, li.b_resource_Identity div { + background-image: url("../images/olat/vcard.png"); } + +li.b_resource_FileResource-SHAREDFOLDER div, .o_FileResource-SHAREDFOLDER_icon { + background-image: url("../openolat/images/folder_shared.png"); } + +li.b_resource_FileResource-WIKI div, .o_FileResource-WIKI_icon { + background-image: url("../openolat/images/le_resources/wiki.png"); } + +li.b_resource_FileResource-PODCAST div, .o_FileResource-PODCAST_icon { + background-image: url("../openolat/images/le_resources/media-player-cast.png"); } + +li.b_resource_FileResource-BLOG div, .o_FileResource-BLOG_icon { + background-image: url("../openolat/images/le_resources/blog.png"); } + +li.b_resource_FileResource-MOVIE div, .o_FileResource-MOVIE_icon { + background-image: url("../openolat/images/docs/document-film.png"); } + +li.b_resource_FileResource-PDF div, .o_FileResource-PDF_icon { + background-image: url("../openolat/images/docs/document-pdf.png"); } + +li.b_resource_FileResource-PPT div, .o_FileResource-PPT_icon { + background-image: url("../openolat/images/docs/document-powerpoint.png"); } + +li.b_resource_FileResource-DOC div, .o_FileResource-DOC_icon { + background-image: url("../openolat/images/docs/document-word.png"); } + +li.b_resource_FileResource-IMSCP div, .o_FileResource-IMSCP_icon { + background-image: url("../openolat/images/le_resources/book-open-text-image-red.png"); } + +li.b_resource_FileResource-SCORMCP div, .o_FileResource-SCORMCP_icon { + background-image: url("../openolat/images/le_resources/book-open-text-image-s.png"); } + +li.b_resource_FileResource-FILE div, .o_FileResource-FILE_icon { + background-image: url("../openolat/images/docs/document_plain.png"); } + +li.b_resource_FileResource-IMAGE div, .o_FileResource-IMAGE_icon { + background-image: url("../openolat/images/docs/document-image.png"); } + +li.b_resource_FileResource-SOUND div, .o_FileResource-SOUND_icon { + background-image: url("../openolat/images/docs/document-music.png"); } + +li.b_resource_FileResource-XLS div, .o_FileResource-XLS_icon { + background-image: url("../openolat/images/docs/document-excel.png"); } + +li.b_resource_FileResource-ANIM div, .o_FileResource-ANIM_icon { + background-image: url("../openolat/images/docs/document-image.png"); } + +li.b_resource_FileResource-SURVEY div, .o_FileResource-SURVEY_icon { + background-image: url("../openolat/images/le_resources/survey.png"); } + +li.b_resource_FileResource-TEST div, .o_FileResource-TEST_icon { + background-image: url("../openolat/images/le_resources/test.png"); } + +li.b_resource_FileResource-GLOSSARY div, .o_FileResource-GLOSSARY_icon { + background-image: url("../openolat/images/le_resources/glossary.png"); } + +li.b_resource_org-olat-search-ui-SearchController div, .o_org-olat-search-ui-SearchController_icon { + background-image: url("../openolat/images/magnifier-zoom.png"); } + +li.b_resource_EPStructuredMapTemplate div { + background-image: url("../openolat/images/le_resources/portfolio.png"); } + +/* ------ TOOLBOX ICONS -------- */ +li a.o_toolbox_course { + background-image: url("../openolat/images/le_resources/book-open-text-image.png"); } + +li a.o_toolbox_content { + background-image: url("../openolat/images/le_resources/book-open-text-image-red.png"); } + +li a.o_toolbox_scorm { + background-image: url("../openolat/images/le_resources/book-open-text-image-s.png"); } + +li a.o_toolbox_test { + background-image: url("../openolat/images/le_resources/test.png"); } + +li a.o_toolbox_questionnaire { + background-image: url("../openolat/images/le_resources/survey.png"); } + +li a.o_toolbox_wiki { + background-image: url("../openolat/images/le_resources/wiki.png"); } + +li a.o_toolbox_podcast { + background-image: url("../openolat/images/le_resources/media-player-cast.png"); } + +li a.o_toolbox_blog { + background-image: url("../openolat/images/le_resources/blog.png"); } + +li a.o_toolbox_glossary { + background-image: url("../openolat/images/le_resources/glossary.png"); } + +li a.o_toolbox_sharedfolder { + background-image: url("../openolat/images/folder_shared.png"); } + +li a.o_toolbox_coursefolder { + background-image: url("../openolat/images/le_resources/blue-folder.png"); } + +li a.o_toolbox_portfolio { + background-image: url("../openolat/images/le_resources/portfolio.png"); } + +li a.b_toolbox_link { + background-image: url("../openolat/images/bullet_black.png"); } + +li a.b_toolbox_doc { + background-image: url("../openolat/images/docs/document_plain.png"); } + +li a.b_toolbox_preview { + background-image: url("../openolat/images/docs/document_preview.png"); } + +li a.b_toolbox_publish { + background-image: url("../openolat/images/docs/document_share.png"); } + +li a.b_toolbox_move { + background-image: url("../openolat/images/docs/document_move.png"); } + +li a.b_toolbox_close { + background-image: url("../openolat/images/close.png"); } + +li a.b_toolbox_delete { + background-image: url("../openolat/images/cross-script.png"); } + +li a.b_toolbox_copy, .b_copy_icon { + background-image: url("../openolat/images/docs/document-copy.png"); } + +/* --------- menu icon decorators -------- */ +.o_midlock { + top: 9px; + left: 9px; + background-image: url("../openolat/images/decorator/deco_condition.png"); } + +.o_miderr { + top: 8px; + left: -2px; + background-image: url("../openolat/images/decorator/deco_error.png"); } + +.o_midwarn { + top: 8px; + left: -2px; + background-image: url("../openolat/images/decorator/deco_warn.png"); } + +.o_midpub { + top: -2px; + left: 9px; + background-image: url("../openolat/images/decorator/deco_ok.png"); } + +/* --------- course building block icons ------------------- */ +.o_bc_icon { + background-image: url("../openolat/images/folder.png") !important; } + +.o_co_icon { + background-image: url("../openolat/images/mail.png") !important; } + +.o_cp_icon { + background-image: url("../openolat/images/le_resources/book-open-text-image-red.png") !important; } + +.o_cp_org { + background-image: url("../openolat/images/le_resources/book-open-text-image-red.png") !important; } + +.o_cp_item { + background-image: url("../openolat/images/docs/document-text.png") !important; } + +.o_dialog_icon { + background-image: url("../openolat/images/docs/document_discuss.png") !important; } + +.o_en_icon { + background-image: url("../openolat/images/enrol.png") !important; } + +.o_fo_icon { + background-image: url("../openolat/images/forum/forum.png") !important; } + +.o_iqself_icon { + background-image: url("../openolat/images/le_resources/selftest.png") !important; } + +.o_iqsurv_icon { + background-image: url("../openolat/images/le_resources/survey.png") !important; } + +.o_iqtest_icon { + background-image: url("../openolat/images/le_resources/test.png") !important; } + +.o_ms_icon { + background-image: url("../openolat/images/le_resources/thumb-up.png") !important; } + +.o_scorm_icon, .o_scorm_org { + background-image: url("../openolat/images/le_resources/book-open-text-image-s.png") !important; } + +.o_scorm_item { + background-image: url("../openolat/images/docs/document-text.png") !important; } + +.o_scorm_asset { + background-image: url("../openolat/images/le_resources/book-open-text-image-s.png") !important; } + +.o_sp_icon { + background-image: url("../openolat/images/docs/document-text.png") !important; } + +.o_st_icon { + background-image: url("../openolat/images/node-select-all.png") !important; } + +.o_ta_icon { + background-image: url("../openolat/images/docs/document-task.png") !important; } + +.o_tu_icon { + background-image: url("../openolat/images/docs/document-import.png") !important; } + +.o_wiki_icon { + background-image: url("../openolat/images/le_resources/wiki.png") !important; } + +.o_ll_icon { + background-image: url("../openolat/images/docs/document_linklist.png") !important; } + +.o_cl_icon { + background-image: url("../openolat/images/clipboard-task.png") !important; } + +.o_den_icon { + background-image: url("../openolat/images/clock.png") !important; } + +.o_projectbroker_icon { + background-image: url("../openolat/images/projectbroker.png") !important; } + +.o_podcast_icon { + background-image: url("../openolat/images/le_resources/media-player-cast.png") !important; } + +.o_blog_icon { + background-image: url("../openolat/images/le_resources/blog.png") !important; } + +.o_cal_icon { + background-image: url("../openolat/images/calendar.png") !important; } + +.o_lti_icon { + background-image: url("../openolat/images/docs/document-node.png") !important; } + +/* <OLATCE-103> */ +.o_vc_icon { + background-image: url("../openolat/images/projection-screen.png") !important; } + +/* </OLATCE-103> */ +.o_vitero_icon { + background-image: url("../openolat/images/vitero.png") !important; } + +.o_ep_icon, .o_EPStructuredMapTemplate_icon { + background-image: url("../openolat/images/le_resources/portfolio.png") !important; } + +.o_infomsg_icon { + background-image: url("../openolat/images/information-button.png") !important; } + +.o_cmembers_icon { + background-image: url("../openolat/images/users.png") !important; } + +body#b_body .o_CourseModule_icon_closed { + background-image: url("../openolat/images/le_resources/book-open-text-image_locked.png"); } + +/* +* ================================================= +* +* content rules for OpenOLAT 8 +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Nov. 2011 +* +* also read themes.README! +* +* (as of yaml compliance, contains css rules for +* styling fonts, colors, font-style, etc. ) +* +* this file is included in layout.scss +* it is not compiled to a separate css-file... +* +* ================================================= +*/ +* { + font-family: Century Gothic, Apple Gothic, sans-serif; } + +textarea, pre, tt, code { + font-size: 90%; + color: inherit; + line-height: inherit; + margin: inherit; } + +body { + font-size: 75%; + color: #444; } + +/** ----------------- HEADERS ----------------- **/ +h1, h2, h3, h4, h5, h6 { + font-weight: bold; + margin: 0 0 0.25em 0; } + +h1 { + font-size: 200%; } + +/* 24px */ +h2 { + font-size: 166.67%; } + +/* 20px */ +h3 { + font-size: 150%; } + +/* 18px */ +h4 { + font-size: 133.33%; } + +/* 16px */ +h5 { + font-size: 116.67%; } + +/* 14px */ +h6 { + font-size: 116.67%; + font-style: italic; } + +/* 14px */ +/** ----------------- LINKS ----------------- **/ +a, a:visited { + text-decoration: none; + color: red; } + +a:hover { + text-decoration: underline; + color: red; } + +a.b_link_extern { + background: transparent url("../openolat/images/external_link_trimmed.png") no-repeat right top; + padding-right: 13px; } + +.b_link_mailto { + background: transparent url("../openolat/images/mail_small.png") no-repeat left center; + padding-left: 18px; } + +hr { + color: #fff; + background: transparent; + margin: 0 0 0.5em 0; + padding: 0 0 0.5em 0; + border: 0; + border-bottom: 1px #eee solid; } + +p { + margin: 0 0 1em 0; } + +/** ----------------- CONTENT CLASSES ----------------- **/ +/* content boxes */ +.b_info { + background: #e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px; + padding: 5px 5px 5px 30px; + border: 1px solid #C5C4C4; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; } + +.b_note { + background: #E2E2E2; + padding: 1em; + border: 2px #B5B5B5 solid; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; } + +.b_important { + background: #FFF1A4; + padding: 1em; + border: 2px #F4D000 solid; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; } + +.b_warning { + background: #FFD5AA; + padding: 1em; + border: 2px #FF9E3E solid; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; } + +div.b_note, div.b_important, div.b_warning, div.b_info { + margin: 1em 0; } + +.b_border_box { + border: 1px solid #ACAAAA; + padding: 1em; } + +/* font */ +.b_disabled { + color: #ACAAAA; } + +.b_deleted { + text-decoration: line-through; } + +.b_selected { + font-weight: bold; } + +/* font sizes relative to parent object */ +.b_small, small { + font-size: 90%; } + +.b_xsmall, sup, sub { + font-size: 80%; } + +.b_large { + font-size: 110%; } + +.b_xlarge, big { + font-size: 120%; } + +/* text alignment: normal flow in a LTR language is left, in a RTL language it is right */ +.b_align_normal { + text-align: left; } + +.b_align_center { + text-align: center; } + +.b_align_inverse { + text-align: right; } + +.b_quote_wrapper { + position: relative; + margin: 20px; } + +.b_quote_author { + background: url(../images/olat/forum/quote.gif) no-repeat left bottom; + padding: 10px 5px 15px 11px; + position: relative; + top: 1px; + font-style: italic; + color: #A2A2A2; } + +blockquote.b_quote { + margin: 0; + border: 1px solid #e5e5e5; + color: black; + padding: 8px 10px 6px; + color: #646464; } + +.b_border_box { + border: 1px solid #ccc; + padding: 1em; } + +.b_warning { + padding: 1em; + border: 2px #ffc659 solid; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; + background: #ffe49c; + background: -moz-linear-gradient(top, #ffe49c 0%, #fff4da 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffe49c), color-stop(100%, #fff4da)); + background: -webkit-linear-gradient(top, #ffe49c 0%, #fff4da 100%); + background: -o-linear-gradient(top, #ffe49c 0%, #fff4da 100%); + background: -ms-linear-gradient(top, #ffe49c 0%, #fff4da 100%); + background: linear-gradient(top, #ffe49c 0%, #fff4da 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe49c', endColorstr='#fff4da',GradientType=0 ); } + +.b_dimmed { + -moz-opacity: 0.4; + opacity: 0.4; + filter: alpha(opacity=40); } + +.o_ochre { + color: #c8a959; } + +/* FLOTING STYLES */ +.b_float_left { + float: left; + display: inline; + margin-right: 1em; + margin-bottom: 0.15em; } + +.b_float_right { + float: right; + display: inline; + margin-left: 1em; + margin-bottom: 0.15em; } + +.b_center { + text-align: center; + margin: 0.5em auto; } + +/* CLEAR container: additonal to b_floatbox */ +.b_floatscrollbox { + overflow-x: auto; + overflow-y: hidden; } + +.b_overflowscrollbox { + overflow: auto; } + +/* =============================================================================== **/ +/* HELP, context sensitive */ +div.b_contexthelp_wrapper { + position: relative; } + +a.b_contexthelp { + display: block; + width: 16px; + height: 16px; + background: url(../openolat/images/help.png) no-repeat; + line-height: 0; + cursor: help; } + +div.b_contexthelp_wrapper a.b_contexthelp { + position: absolute; + top: 0; + right: 0; } + +fieldset a.b_contexthelp, fieldset div.b_contexthelp_wrapper a.b_contexthelp { + position: absolute; + top: -1.5em; + right: -0.8em; } + +#b_contexthelp_content { + padding: 0; } + +#b_ch_topnav_search div.b_form_element_wrapper.b_form_horizontal { + margin: 2px 0 0 0; } + +#b_contexthelp_rating { + text-align: center; + margin-top: 20px; + padding: 10px; + border-top: 1px #ACAAAA solid; } + #b_contexthelp_rating h4 { + font-size: 90%; + margin: 0; + font-style: italic; } + #b_contexthelp_rating table { + display: inline-block; } + #b_contexthelp_rating table td { + width: 50%; } + +.b_contexthelp_icon { + background-image: url(../openolat/images/help.png); } + +/* USER COMMENTS */ +div.b_ratings_and_comments { + margin: 4em 0 1.5em 0; + padding-bottom: 0.5em; + border-bottom: 1px solid #eee; + font-size: 0.9em; + position: relative; } + div.b_ratings_and_comments div.b_rating_wrapper { + position: absolute; + right: 0; + bottom: 0; + width: 150px; + height: 4em; } + div.b_ratings_and_comments div.b_rating { + background: none; + border: none; + padding: 0; + margin: 0; + position: absolute; + left: 0; + bottom: 2px; + width: 100%; } + div.b_ratings_and_comments div.b_rating_personal { + background: #fff; + z-index: 5; } + +div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments { + background: url(../openolat/images/comment.png) 3px 50% no-repeat; + padding: 3px 0 1px 23px; + vertical-align: middle; + min-height: 18px; } + +div.b_comments { + font-size: 0.9em; } + div.b_comments div.b_comment_wrapper { + border: 1px solid #eee; + padding: 10px 10px 5px 10px; + margin-bottom: 2em; + background: #fbfbfb; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; } + div.b_comments div.b_comment_wrapper div.b_avatar img { + border: 1px solid #aaa; } + div.b_comments div.b_comment_wrapper h5 { + font-size: 1em; + background: url(../openolat/images/user.png) 0 50% no-repeat; + padding: 1px 0 1px 20px; + vertical-align: middle; + min-height: 16px; } + div.b_comments div.b_comment_wrapper span.b_date { + color: #aaaaaa; + font-weight: normal; + display: block; + margin-top: 5px; } + div.b_comments div.b_comment_wrapper div.b_comment_wrapper { + margin-left: 7px; + background: #fff; } + div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper { + background: #fbfbfb; } + div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper { + background: #fff; } + div.b_comments blockquote.b_comment { + padding: 3px 0 0 0px; + margin: 0; } + div.b_comments div.b_form { + padding: 10px; + border: 1px solid #eee; + margin: 2em 0 2em 0; + background: #fbfbfb url(../images/brasato/generic/background_gradient_white.png) repeat-x bottom left; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; } + div.b_comments div.b_form h5 { + font-size: 1em; + margin-bottom: 0.5em; } + div.b_comments div.b_form div.b_button_group { + text-align: center; } + +.b_comment_icon { + background-image: url(../openolat/images/comment.png); } + +#b_comment_form_link { + font-size: 0.9em; + position: relative; + top: -15px; + left: 23px; } + +/* DATE COMPONENT */ +div.b_datecomp { + width: 2.5em; + height: 3em; + position: relative; + margin-right: 5px; + font-weight: normal; + color: white; + text-align: center; + vertical-align: middle; + border: 1px solid #000; + font-size: 85%; } + div.b_datecomp div { + width: 100%; + position: absolute; + left: 0; } + div.b_datecomp div.b_year { + height: 1em; + top: -1.5em; + font-size: 80%; + font-weight: normal; + color: #000; } + div.b_datecomp div.b_month { + background: #BE5B5D; + height: 40%; + top: 0; + font-size: 80%; + font-weight: normal; + color: white; } + div.b_datecomp div.b_day { + background: #fff; + height: 60%; + bottom: 0; + font-size: 120%; + font-weight: bold; + color: #000; + border-top: 1px solid #000; + border-bottom: 1px solid #aaaaaa; } + +/* RATING */ +div.b_rating { + margin: 10px; + padding: 5px; + font-size: 80%; + white-space: nowrap; + text-align: left; + background: #EEE; + border: 1px solid #ACAAAA; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; } + div.b_rating div.b_rating_title { + font-weight: bold; } + div.b_rating div.b_rating_items { + vertical-align: middle; + line-height: 18px; } + div.b_rating div.b_rating_items a { + float: left; + display: inline; + width: 16px; + height: 16px; + background-repeat: no-repeat; + background-position: 0 0; + margin: 1px 4px 1px 0; } + div.b_rating div.b_rating_items a.b_rating_item_on { + background-image: url(../openolat/images/star.png); } + div.b_rating div.b_rating_items a.b_rating_item_off { + background-image: url(../openolat/images/star_grey.png); } + div.b_rating div.b_rating_items a:hover { + cursor: default; } + div.b_rating div.b_rating_items.b_enabled a:hover { + cursor: pointer; } + div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover { + background-image: url(../openolat/images/star.png); } + div.b_rating div.b_rating_explanation { + clear: both; + font-size: 90%; } + +/* AJAX AUTOCOMPLETER only color styles override */ +div.b_form_auto_completer input { + border: 1px solid #ACAAAA; + background: #F6F6F6; + line-height: 1.3em; + margin: 0px; + padding: 0; } + +div.b_form_auto_completer input:focus { + border: 1px solid #504D4E; + background: #FFF; } + +div.b_form_auto_completer_item { + background-color: #FFF; + text-align: left; + padding-top: 2px; + padding-bottom: 2px; } + +div.b_form_auto_completer_item.x-combo-selected { + background-color: #c4d0dc; + border-left: 0 !important; + border-right: 0 !important; } + +div.b_form_auto_completer_item span.b_key { + color: #999; + margin-right: 2px; } + +div.b_form_auto_completer_item.b_error_icon { + color: #990000; + font-style: italic; } + +/* ------- print -------- */ +/* +* ================================================= +* +* basemod rules for OpenOLAT 8 (PRINT) +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Nov. 2011 +* +* +* +* (as of yaml compliance, contains css rules for +* positioning and sizing elements) +* +* this file is included in layout.scss +* it is not compiled to a separate css-file... +* +* ================================================= +*/ +@media print { + /* (en) change font size unit to [pt] - avoiding problems with [px] unit in Gecko based browsers */ + /* (de) Wechsel der der Schriftgrößen-Maßheinheit zu [pt] - Probleme mit Maßeinheit [px] in Gecko-basierten Browsern vermeiden */ + body { + font-size: 10pt; } } +/* +* ================================================= +* +* content rules for OpenOLAT 8 (PRINT) +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Nov. 2011 +* +* +* +* (as of yaml compliance, contains css rules for +* styling fonts, colors, font-style, etc. ) +* +* this file is included in layout.scss +* it is not compiled to a separate css-file... +* +* ================================================= +*/ +/* ------- mobile -------- */ +/* +* ================================================= +* +* MOBILE rules for OpenOLAT 8 (MOBILE DEVICES) +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Nov. 2011 +* +* also read themes.README! +* +* +* ================================================= +*/ +/* iPad ( and other tablets, some netbooks as well, I guess...) */ +/* mobile phones */ +/* -------- modules -------- */ +/* +* ================================================= +* +* MODAL WINDOWs, DIALOGS, WIZARD Rules for the OpenOLAT theme +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Dez. 2011 +* +* also read themes.README! +* +* +* ================================================= +*/ +/** adjust modal-size according to b_layer **/ +div.b_layer_1 div.b_modal_area { + width: 82%; + margin: 9%; } + +div.b_layer_2 div.b_modal_area { + width: 76%; + margin: 12%; } + +div.b_layer_3 div.b_modal_area { + width: 70%; + margin: 15%; } + +div.b_layer_5 div.b_modal_area { + width: 64%; + margin: 18%; } + +div.b_modal_area { + position: absolute; + top: 0px; + left: 0px; + width: 80%; + margin: 10%; + moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); + -ms-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); + -o-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } + +/* MODAL OVERLAY: transparent background that covers the whole content */ +div.b_modal_overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + zoom: 1; } + +/* modal overlay color */ +div.b_modal_overlay, div.ext-el-mask { + background: #fff; + -moz-opacity: 0.75; + opacity: 0.75; + filter: alpha(opacity=75); } + +.b_floatscrollbox { + overflow-x: hidden; + overflow-y: hidden; } + +div.b_window { + text-align: left; + border: 1px solid rgba(0, 0, 0, 0.2); + background: #fff; } + div.b_window .b_window_header_wrapper { + padding: 2px 8px 0px 8px; } + div.b_window div.b_window_header { + position: relative; + border-bottom: 1px solid #eee; } + div.b_window div.b_window_header_title { + min-height: 18px; + line-height: 18px; + vertical-align: middle; + padding: 2px 5px 2px 5px; } + div.b_window div.b_window_header_title a.b_link_close { + top: 4px; + right: 4px; + position: absolute; + min-height: 16px; + min-width: 16px; + background: transparent url("../openolat/images/close.png") no-repeat center center; + display: inline-block; } + div.b_window div.b_window_header_title a.b_link_close:hover { + top: 4px; + right: 4px; } + div.b_window div.b_window_header_title strong { + font-weight: bold; } + div.b_window div.b_window_content_wrapper { + clear: both; + width: auto; + padding: 0 4px 0 4px; } + div.b_window div.b_window_content { + padding: 1em; } + div.b_window div.b_window_content_inner { + min-height: 200px; + position: relative; } + div.b_window div.b_window_footer_wrapper { + height: 4px; } + +/* modal callout windows. Patch min length issue in Ext QuickTip */ +div.b_callout_content { + max-width: 60em; + overflow: hidden; } + +div.x-tip-tc, div.x-tip-bc { + background-repeat: repeat !important; } + +div.x-tip-body p { + margin-bottom: 0px; } + +div.x-tip-mc { + background: #e9f2ff !important; } + +/* ajax busy icon*/ +body.b_ajax_busy { + cursor: wait; } + +div.b_ajax_busy { + background: url(../openolat/images/ajax-loader.gif) no-repeat; + position: absolute; + left: 50%; + top: 10px; + width: 28px; + height: 28px; + z-index: 5001; } + +/* DIALOG */ +div.b_msg_dialog { + padding: 10px 10px 10px 50px; + min-height: 32px; + background: url(../openolat/images/icon_question_32.png) no-repeat 10px 10px; } + div.b_msg_dialog .b_msg_title { + font-weight: bold; } + +/* sticky info (admins can create stick-messages that will show for all users) */ +#b_msg_sticky { + clear: both; + padding: 10px 10px 10px 50px; + min-height: 32px; + background: #ebcccc url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px; + border-bottom: 1px #ccc dotted; + border-top: 1px #ccc dotted; } + +/* info message ( slide-in, top) */ +div.b_msg-div { + left: 35%; + position: absolute; + top: 10px; + width: 30%; + z-index: 20000; + border: 1px solid #ccc; + background: #FAFAFA; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; + moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); + -ms-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); + -o-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } + div.b_msg-div .b_msg_info_winicon { + background: transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center; } + +div.b_msg_info_content { + padding: 10px 10px 10px 50px; } + +/* warn message (ext-dialog) */ +div.b_msg_warn_winicon { + background: url(../openolat/images/icon_warning_32.png) no-repeat; } + +/* error message (ext-dialog) */ +div.b_msg_error_winicon { + background: url(../openolat/images/icon_error_32.png) no-repeat; } + +/* "info"-page */ +#b_msg_info { + padding: 10px 10px 10px 50px; + min-height: 32px; + background: url(../openolat/images/icon_info_32.png) no-repeat 10px 10px; } + #b_msg_info .b_msg_title { + font-weight: bold; } + +/* "info-message" on login screen */ +.o_infomessage_wrapper { + border: 1px solid #ccc; + background: #FAFAFA; } + .o_infomessage_wrapper .o_infomessage { + padding: 10px 10px 10px 50px; + text-align: left; + background: url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px; } + +/* OPEN / CLOSE BOX TOGGLER */ +a.b_togglebox_closed { + background: url(../openolat/images/toggle-small-expand.png) no-repeat 0 50%; + padding: 1px 0 1px 14px; + vertical-align: middle; } + +a.b_togglebox_opened { + background: url(../openolat/images/toggle-small.png) no-repeat 0 50%; + padding: 1px 0 1px 14px; + vertical-align: middle; } + +div.b_togglebox div.b_togglebox_content { + padding: 1em; + border: 1px solid #ACAAAA; + background: #fff; } + +/** ----------------- WIZARD ----------------- **/ +div.b_wizard div.b_wizard_header_wrapper { + background: #fff; } +div.b_wizard div.b_wizard_header { + background: #fff; + position: relative; } +div.b_wizard div.b_wizard_header_title { + background: #fff; + min-height: 18px; + line-height: 18px; + vertical-align: middle; + padding: 2px 5px 2px 5px; + color: #4F576A; } + div.b_wizard div.b_wizard_header_title a.b_link_close { + top: 4px; + right: 4px; + background: url(../openolat/images/close.png); + background-repeat: no-repeat; } + div.b_wizard div.b_wizard_header_title strong { + font-weight: bold; } +div.b_wizard div.b_wizard_steps_wrapper { + clear: both; + width: auto; + padding: 0 4px 0 4px; + background: #fff; } +div.b_wizard div.b_wizard_steps_content { + background: #fff; } +div.b_wizard div.b_wizard_steps_list { + width: 20em; + padding: 0; + color: #4F576A; } + div.b_wizard div.b_wizard_steps_list ol { + list-style-type: decimal; + z-index: 14; + font-size: 95%; + padding: 1em 5px 5px; } + div.b_wizard div.b_wizard_steps_list li { + line-height: 1.5em; + white-space: normal; } + div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current { + font-weight: bold; } + div.b_wizard div.b_wizard_steps_list li a { + color: #4F576A; } + div.b_wizard div.b_wizard_steps_list li a:hover { + color: #4F576A; + background: transparent; + text-decoration: underline; } + div.b_wizard div.b_wizard_steps_list li .b_disabled { + color: #4F576A; + border: 0; + background: transparent; + padding: 0; + margin: 0; + white-space: normal; + font-style: italic; } + div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current .b_disabled { + font-style: normal; } +div.b_wizard div.b_wizard_steps_current { + margin-left: 20em; + border-left: 1px solid #777; } +div.b_wizard div.b_wizard_steps_current_inner { + border-bottom: 1px solid #fff; + padding: 1em; } +div.b_wizard div.b_wizard_steps_current_content { + min-height: 300px; + position: relative; } +div.b_wizard div.b_wizard_footer_wrapper { + background: #fff; } +div.b_wizard div.b_wizard_footer div.b_button_group { + text-align: left; + padding: 0.5em 1em 0.5em 21em; + margin: 0; } + +span.b_wizard_button_prev:before, a.b_wizard_button_prev span:before { + content: "< "; } + +span.b_wizard_button_next:after, a.b_wizard_button_next span:after { + content: " >"; } + +a.b_wizard_button_finish, span.b_wizard_button_finish { + margin-left: 3em; } + +a.b_wizard_button_cancel, span.b_wizard_button_cancel { + margin-left: 3em; } + +.b_wizard_table_changedcell { + font-style: italic; + font-weight: bold; + background: url(../openolat/images/new-text.png) no-repeat; + padding-left: 18px; } + +/* OLD WIZARD */ +div.b_legacy_wizard_steps { + float: right; + display: inline; } + +/* the following classes are used together with b_legacy_wizard_step_icon */ +.b_legacy_wizard_step_a1 { + background-image: url(../openolat/images/wizard/1a.png); } + +.b_legacy_wizard_step_a2 { + background-image: url(../openolat/images/wizard/2a.png); } + +.b_legacy_wizard_step_a3 { + background-image: url(../openolat/images/wizard/3a.png); } + +.b_legacy_wizard_step_a4 { + background-image: url(../openolat/images/wizard/4a.png); } + +.b_legacy_wizard_step_a5 { + background-image: url(../openolat/images/wizard/5a.png); } + +.b_legacy_wizard_step_a6 { + background-image: url(../openolat/images/wizard/6a.png); } + +.b_legacy_wizard_step_a7 { + background-image: url(../openolat/images/wizard/7a.png); } + +.b_legacy_wizard_step_a8 { + background-image: url(../openolat/images/wizard/8a.png); } + +.b_legacy_wizard_step_a9 { + background-image: url(../openolat/images/wizard/9a.png); } + +.b_legacy_wizard_step_p1 { + background-image: url(../openolat/images/wizard/1p.png); } + +.b_legacy_wizard_step_p2 { + background-image: url(../openolat/images/wizard/2p.png); } + +.b_legacy_wizard_step_p3 { + background-image: url(../openolat/images/wizard/3p.png); } + +.b_legacy_wizard_step_p4 { + background-image: url(../openolat/images/wizard/4p.png); } + +.b_legacy_wizard_step_p5 { + background-image: url(../openolat/images/wizard/5p.png); } + +.b_legacy_wizard_step_p6 { + background-image: url(../openolat/images/wizard/6p.png); } + +.b_legacy_wizard_step_p7 { + background-image: url(../openolat/images/wizard/7p.png); } + +.b_legacy_wizard_step_p8 { + background-image: url(../openolat/images/wizard/8p.png); } + +.b_legacy_wizard_step_p9 { + background-image: url(../openolat/images/wizard/9p.png); } + +/* +* ================================================= +* +* PORTAL, PORTLETS, TOOLBOXES Rules for the OpenOLAT theme +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Dez. 2011 +* +* also read themes.README! +* +* +* ================================================= +*/ +/** ----------------- PORTAL ----------------- **/ +div.o_home_portaleditlink { + position: absolute; + top: 0; + right: 0; } + +.o_home_main h4 { + text-align: center; } + +div.o_home_rsslink { + clear: both; + float: right; + display: inline; + margin: 10px 0; } + +#o_macartney_open { + width: 20px; + bottom: 0; + left: 0; + height: 16px; + background: white url(../openolat/images/magnifier-zoom.png) no-repeat 4px 0; } + +#o_macartney_large { + position: fixed; + top: 10%; + left: 10%; + width: 80%; + z-index: 10; + border: 1px solid black; + background: white; + padding: 5px; } + +#o_macartney_large img { + width: 100%; } + +#o_macartney_close { + position: absolute; + width: 16px; + top: 0; + right: 0; + height: 16px; + border-left: 1px solid #000; + border-bottom: 1px solid #000; + background: white url(../openolat/images/close.png); } + +/** ----------------- PORTLETS & BOXES ----------------- **/ +.b_portlet { + position: relative; + font-size: 95%; + margin: 10px; + min-height: 13em; } + .b_portlet .b_portlet_showall { + font-size: 95%; + position: absolute; + right: 0; + top: 0; } + .b_portlet .b_portlet_header { + border-bottom: 1px solid #ff6666; + white-space: nowrap; + overflow-y: hidden !important; + overflow-x: hidden !important; } + .b_portlet .b_portlet_content { + position: relative; + padding: 1em 0 0 0; } + +/* portlets / portal in edit mode */ +div.b_portlet.b_portlet_edit { + background: #FFE793; + border: 1px solid #FF9E3E; + padding: 2px; } + div.b_portlet.b_portlet_edit .b_portlet_header { + height: 23px; } + +/* portlet toolbox (portal edit mode) */ +div.b_portlet_toolbox { + position: absolute; + top: 0; + right: 0; + padding: 2px; + height: 20px; + overflow-y: hidden !important; + overflow-x: hidden !important; + /* fix problem with brasato component wrapper */ + /* the toolbox buttons */ } + div.b_portlet_toolbox a, div.b_portlet_toolbox span.b_disabled { + background-repeat: no-repeat; + background-position: 1px 1px; + float: right; + width: 18px; + height: 18px; + overflow: hidden; } + div.b_portlet_toolbox div { + display: inline; } + div.b_portlet_toolbox > a, div.b_portlet_toolbox > span { + border: 1px solid #888; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -o-border-radius: 3px; + background: #eee; + background-repeat: no-repeat; + background-position: center; } + div.b_portlet_toolbox a.b_portlet_edit_left { + background-image: url(../openolat/images/arrow_left_big.png); } + div.b_portlet_toolbox a.b_portlet_edit_right { + background-image: url(../openolat/images/arrow_right_big.png); } + div.b_portlet_toolbox a.b_portlet_edit_down { + background-image: url(../openolat/images/arrow_down_big.png); } + div.b_portlet_toolbox a.b_portlet_edit_up { + background-image: url(../openolat/images/arrow_up_big.png); } + div.b_portlet_toolbox a.b_portlet_edit_delete { + background-image: url(../openolat/images/cross-script.png); } + div.b_portlet_toolbox a.b_portlet_edit_sort_auto { + background-image: url(../openolat/images/table_sort.png); } + div.b_portlet_toolbox a.b_portlet_edit_sort_manual { + background-image: url(../openolat/images/table_gear.png); } + div.b_portlet_toolbox span.b_portlet_edit_left_disabled { + background-image: url(../openolat/images/arrow_left_big.png); + opacity: 0.2; } + div.b_portlet_toolbox span.b_portlet_edit_right_disabled { + background-image: url(../openolat/images/arrow_right_big.png); + opacity: 0.2; } + div.b_portlet_toolbox span.b_portlet_edit_down_disabled { + background-image: url(../openolat/images/arrow_down_big.png); + opacity: 0.2; } + div.b_portlet_toolbox span.b_portlet_edit_up_disabled { + background-image: url(../openolat/images/arrow_up_big.png); + opacity: 0.2; } + div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled { + background-image: url(../openolat/images/table_sort.png); + opacity: 0.2; } + div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled { + background-image: url(../openolat/images/table_gear.png); + opacity: 0.2; } + +.b_toolboxes { + font-size: 95%; + padding: 6px; } + .b_toolboxes .b_toolbox { + margin-bottom: 20px; + /* the toolbox head */ + /* toolbox content */ } + .b_toolboxes .b_toolbox .b_toolbox_head_wrapper { + border-bottom: 1px solid #ff6666; + background: inherit; } + .b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head { + vertical-align: top; } + .b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head strong { + font-weight: bold; } + .b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head_icon { + background: transparent no-repeat 3px 50%; + padding-left: 19px; + line-height: 1.2em; + color: black; } + .b_toolboxes .b_toolbox .b_toolbox_content ul { + padding: 0 0 0 6px; + margin: 0; + list-style: none; } + .b_toolboxes .b_toolbox .b_toolbox_content li { + padding: 0; + margin: 0; + line-height: 1.5em; + white-space: nowrap; + /* special */ + /* disabled toolbox items */ } + .b_toolboxes .b_toolbox .b_toolbox_content li a { + color: #667; + background-repeat: no-repeat; + background-position: 0 50%; + padding-left: 20px; + display: block; } + .b_toolboxes .b_toolbox .b_toolbox_content li a:focus, .b_toolboxes .b_toolbox .b_toolbox_content li a:hover, .b_toolboxes .b_toolbox .b_toolbox_content li a:active { + color: #504D4E; + text-decoration: underline; } + .b_toolboxes .b_toolbox .b_toolbox_content li div.b_note, .b_toolboxes .b_toolbox .b_toolbox_content li div.b_important, .b_toolboxes .b_toolbox .b_toolbox_content li div.b_warning { + padding: 0 0 0 20px; + margin: 0; + border-bottom: 0; } + .b_toolboxes .b_toolbox .b_toolbox_content li a.b_toolbox_toggle { + padding-left: 0; + display: inline; } + .b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_toggle_wrapper { + float: right; + font-size: 90%; } + .b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_link.b_disabled, .b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_disabled { + color: #999; + background: no-repeat 0 50% url(../images/brasato/bullet_white.png); + padding-left: 18px; + display: block; } + +/* +* ================================================= +* +* TABBED PANE and SEGMENTED VIEW Rules for the OpenOLAT theme +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Dez. 2011 +* +* also read themes.README! +* +* +* ================================================= +*/ +/** ----------------- TABS / TABBED PANE ----------------- **/ +div.b_tabbedpane_wrapper { + /* tabbed pane content area */ } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs { + float: left; + display: inline-block; + margin-bottom: 1em; + /* a tabbed pane with only one tab */ } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul { + line-height: 1em; + list-style: none; + margin: 0; + padding: 0; + white-space: nowrap; + /* active tabs */ + /* disbled tabs */ + /* special style for first tab */ + /* special style for last tab */ + /* special style for tab at position 3 */ } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li { + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -o-border-radius: 2px; + white-space: nowrap; + cursor: pointer; + margin: 0 0.5em 0.5em 0; + padding: 0; + color: #444; + background: transparent; + display: inline-block; + line-height: 2.2em; + vertical-align: middle; + text-align: left; + border: 1px solid rgba(0, 0, 0, 0.1); + background: #f5f5f5; + background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1)); + background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 ); + -moz-transition: all 0.22s ""; + -webkit-transition: all 0.22s ""; + -o-transition: all 0.22s ""; + transition: all 0.22s ""; + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + -o-border-radius: 0; + margin: 0; + float: left; + display: inline; + position: relative; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul strong { + background: transparent; + color: #667; + display: block; + font-weight: normal; + padding: 1px 6px 1px 5px; + text-decoration: none; + text-transform: none; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul a, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul strong { + width: auto; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:focus, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:hover, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:active { + moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -ms-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:focus, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:hover, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:active { + color: #000; + text-decoration: none; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active { + moz-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + -ms-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + -o-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + background: #eee; + border-color: #ccc; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active a, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active strong { + color: #000; + font-weight: bold; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled { + background: white !important; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled a, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled strong { + color: #8994A9; + background: transparent !important; + font-weight: normal; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled:hover { + moz-box-shadow: 0 0 0 white; + -ms-box-shadow: 0 0 0 white; + -o-box-shadow: 0 0 0 white; + -webkit-box-shadow: 0 0 0 white; + box-shadow: 0 0 0 white; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_first { + -webkit-border-top-left-radius: 3px; + -webkit-border-top-right-radius: 0px; + -webkit-border-bottom-right-radius: 0px; + -webkit-border-bottom-left-radius: 3px; + -moz-border-radius-topleft: 3px; + -moz-border-radius-topright: 0px; + -moz-border-radius-bottomright: 0px; + -moz-border-radius-bottomleft: 3px; + border-top-left-radius: 3px; + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 3px; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_last { + -webkit-border-top-left-radius: 0px; + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-bottom-left-radius: 0px; + -moz-border-radius-topleft: 0px; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; + -moz-border-radius-bottomleft: 0px; + border-top-left-radius: 0px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 0px; } + div.b_tabbedpane_wrapper div.b_tabbedpane_tabs li.b_first.b_last { + border: none; + background: none; + box-shadow: none; } + div.b_tabbedpane_wrapper div.b_tabbedpane_content { + clear: both; + padding: 5px 15px; + background: transparent; + border: 1px solid #d4d4d4; } + div.b_tabbedpane_wrapper div.b_tabbedpane_content div.b_tabbedpane_content_inner { + position: relative; + min-height: 30em; } + +/** ----------------- SEGMENTED VIEW ----------------- **/ +div.b_segments_container { + min-height: 25px; + padding-top: 8px; + position: relative; + background: url(../openolat/images/divider.png) center top no-repeat; } + div.b_segments_container div.b_segments { + clear: both; + position: absolute; + left: 50%; } + div.b_segments_container div.b_segments a:hover { + text-decoration: none; } + div.b_segments_container div.b_segments ul { + position: relative; + left: -50%; + list-style-type: none; + margin: 0; } + div.b_segments_container div.b_segments ul li { + /* we want button-style */ + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -o-border-radius: 2px; + white-space: nowrap; + cursor: pointer; + margin: 0 0.5em 0.5em 0; + padding: 0; + color: #444; + background: transparent; + display: inline-block; + line-height: 2.2em; + vertical-align: middle; + text-align: left; + border: 1px solid rgba(0, 0, 0, 0.1); + background: #f5f5f5; + background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1)); + background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 ); + -moz-transition: all 0.22s ""; + -webkit-transition: all 0.22s ""; + -o-transition: all 0.22s ""; + transition: all 0.22s ""; + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + -o-border-radius: 0; + margin: 0; + float: left; + display: inline; + position: relative; } + div.b_segments_container div.b_segments ul li a { + background: transparent; + color: #667; + display: block; + font-weight: normal; + padding: 1px 6px 1px 5px; + text-decoration: none; + text-transform: none; } + div.b_segments_container div.b_segments ul li a:hover, div.b_segments_container div.b_segments ul li a:active, div.b_segments_container div.b_segments ul li a:focus { + text-decoration: none; } + div.b_segments_container div.b_segments ul li:hover { + moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -ms-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); } + div.b_segments_container div.b_segments ul li.b_segment_selected { + moz-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + -ms-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + -o-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); + background: #eee; + border-color: #ccc; } + div.b_segments_container div.b_segments ul li.b_segment_selected a, div.b_segments_container div.b_segments ul li.b_segment_selected strong { + color: #000; + font-weight: bold; } + div.b_segments_container div.b_segments ul li.b_segment_first { + -webkit-border-top-left-radius: 12px; + -webkit-border-top-right-radius: 0px; + -webkit-border-bottom-right-radius: 0px; + -webkit-border-bottom-left-radius: 12px; + -moz-border-radius-topleft: 12px; + -moz-border-radius-topright: 0px; + -moz-border-radius-bottomright: 0px; + -moz-border-radius-bottomleft: 12px; + border-top-left-radius: 12px; + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 12px; } + div.b_segments_container div.b_segments ul li.b_segment_last { + -webkit-border-top-left-radius: 0px; + -webkit-border-top-right-radius: 12px; + -webkit-border-bottom-right-radius: 12px; + -webkit-border-bottom-left-radius: 0px; + -moz-border-radius-topleft: 0px; + -moz-border-radius-topright: 12px; + -moz-border-radius-bottomright: 12px; + -moz-border-radius-bottomleft: 0px; + border-top-left-radius: 0px; + border-top-right-radius: 12px; + border-bottom-right-radius: 12px; + border-bottom-left-radius: 0px; } + div.b_segments_container div.b_segment_content { + margin-top: 50px; + clear: both; + padding: 5px 15px; + background: transparent; + border: 1px solid #d4d4d4; } + +/** ----------------- BUTTONS ----------------- **/ +.b_button { + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -o-border-radius: 2px; + white-space: nowrap; + cursor: pointer; + margin: 0 0.5em 0.5em 0; + padding: 0; + color: #444; + background: transparent; + display: inline-block; + line-height: 2.2em; + vertical-align: middle; + text-align: left; + border: 1px solid rgba(0, 0, 0, 0.1); + background: #f5f5f5; + background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1)); + background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 ); + -moz-transition: all 0.22s ""; + -webkit-transition: all 0.22s ""; + -o-transition: all 0.22s ""; + transition: all 0.22s ""; + /* focused buttons */ } + .b_button, .b_button span { + color: #444; + font-size: 100%; + display: inline-block; + padding: 0 0.8em; + width: auto; + line-height: 1.9em; + text-align: center; } + .b_button:focus, .b_button:hover { + text-decoration: none; + border: 1px solid #C6C6C6; + moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -ms-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); } + .b_button:focus { + border-color: red; } + .b_button:active { + moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + -ms-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + -o-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + border-color: red; } + +/* dirty button (form with unsaved values ) */ +.b_button_dirty { + background: white; + background: -moz-linear-gradient(top, white 0%, #fff7e0 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0)); + background: -webkit-linear-gradient(top, white 0%, #fff7e0 100%); + background: -o-linear-gradient(top, white 0%, #fff7e0 100%); + background: -ms-linear-gradient(top, white 0%, #fff7e0 100%); + background: linear-gradient(top, white 0%, #fff7e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='white', endColorstr='#fff7e0',GradientType=0 ); + border-color: #ff9900; } + .b_button_dirty:focus, .b_button_dirty:hover { + text-decoration: none; + border: 1px solid #ffc20e; + background: white; + background: -moz-linear-gradient(top, white 0%, #fff7e0 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0)); + background: -webkit-linear-gradient(top, white 0%, #fff7e0 100%); + background: -o-linear-gradient(top, white 0%, #fff7e0 100%); + background: -ms-linear-gradient(top, white 0%, #fff7e0 100%); + background: linear-gradient(top, white 0%, #fff7e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='white', endColorstr='#fff7e0',GradientType=0 ); } + +/* disabled buttons */ +.b_disabled.b_button { + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -o-border-radius: 2px; + white-space: nowrap; + cursor: pointer; + margin: 0 0.5em 0.5em 0; + padding: 0; + color: #444; + background: transparent; + display: inline-block; + line-height: 2.2em; + vertical-align: middle; + text-align: left; + border: 1px solid rgba(0, 0, 0, 0.1); + background: #f5f5f5; + background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1)); + background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 ); + -moz-transition: all 0.22s ""; + -webkit-transition: all 0.22s ""; + -o-transition: all 0.22s ""; + transition: all 0.22s ""; + border: 1px solid #ACAAAA; + background: #fff; } + .b_disabled.b_button, .b_disabled.b_button span { + color: #444; + font-size: 100%; + display: inline-block; + padding: 0 0.8em; + width: auto; + line-height: 1.9em; + text-align: center; } + .b_disabled.b_button:focus, .b_disabled.b_button:hover { + moz-box-shadow: 0 0 0 transparent; + -ms-box-shadow: 0 0 0 transparent; + -o-box-shadow: 0 0 0 transparent; + -webkit-box-shadow: 0 0 0 transparent; + box-shadow: 0 0 0 transparent; } + +/* multiple buttons groups below a form */ +div.b_button_group { + text-align: center; + margin: 2em 0 1em 0; } + +div.b_button_group div { + display: inline; } + +.b_xsmall, sup, sub { + font-size: 80%; } + +.b_small, small { + font-size: 90%; } + +/* TOGGLE Buttons */ +a.b_toggle { + white-space: nowrap; + margin: 0 0.5em 0.2em 0; + cursor: default; + color: #2C2B2B; + border: 1px solid #aaa; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + display: inline-block; + line-height: 1.5em; + text-align: center; + background: url(../openolat/images/toggle_off.png) top left repeat-x; } + a.b_toggle span { + padding: 0 0.8em; } + a.b_toggle:hover { + background: #ddd; + text-decoration: none; } + a.b_toggle.b_on:hover { + background: #747474; } + a.b_toggle.b_on, a.b_toggle:active, a.b_toggle.b_on:active { + color: white; + border: none; + padding: 1px; + moz-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5); + -ms-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5); + -o-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5); + box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5); + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); } + a.b_toggle:focus, a.b_toggle.b_on:focus { + text-decoration: none; } + a.b_toggle:active, a.b_toggle.b_on:active { + background: url(../openolat/images/toggle_active.png) top left repeat-x; } + a.b_toggle.b_on { + background: url(../openolat/images/toggle_on.png) top left repeat-x; } + +span.b_toggle.b_disabled { + white-space: nowrap; + margin: 0 0.5em 0.2em 0; + padding: 0 0.8em; + color: #667; + border: 1px solid #DDD; + border-radius: 10px; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + -o-border-radius: 10px; + display: inline-block; + line-height: 1.5em; + text-align: center; + background: url(../openolat/images/toggle_dis.png) top left repeat-x; } + +/* TOGGLE SLIDERS */ +a.b_toggle_slide { + background: url(../openolat/images/handle.png) -63px 0px no-repeat; + height: 25px; + width: 85px; + white-space: nowrap; + margin: 0 0.2em 0.2em 0.2em; + color: #2C2B2B; + border: 1px solid #aaa; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; + display: inline-block; + text-align: center; + vertical-align: middle; + position: relative; + /* TOGGLE SLIDERS SMALL */ } + a.b_toggle_slide span { + position: absolute; + top: -25px; + left: 0; } + a.b_toggle_slide:hover, a.b_toggle_slide:focus, a.b_toggle_slide:active, a.b_toggle_slide.b_on:hover, a.b_toggle_slide.b_on:focus, a.b_toggle_slide.b_on:active { + border: 1px solid #868686; + text-decoration: none; } + a.b_toggle_slide.b_on { + background-position: -16px 0px; } + a.b_toggle_slide.b_disabled { + background: url(../openolat/images/handle_dis.png) -63px 0px no-repeat; + height: 25px; + width: 85px; + white-space: nowrap; + margin: 0 0.5em 0.2em 0; + color: #2C2B2B; + border: 1px solid #aaa; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; + display: inline-block; + text-align: center; + vertical-align: middle; } + a.b_toggle_slide.b_small { + background: url(../openolat/images/handle_small.png) -41px 0px no-repeat; + height: 16px; + width: 55px; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -o-border-radius: 2px; } + a.b_toggle_slide span { + position: absolute; + top: -16px; } + a.b_toggle_slide.b_small.b_on { + background-position: -9px 0px; } + +span.b_toggle_slide.b_disabled { + background: url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat; + height: 16px; + width: 55px; + white-space: nowrap; + margin: 0 0.5em 0.2em 0; + color: #2C2B2B; + border: 1px solid #aaa; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -o-border-radius: 3px; + display: inline-block; + text-align: center; + vertical-align: middle; } + +span.b_toggle_slide_legend { + font-size: 90%; } + +/* BACK BUTTON / LINK **/ +.b_link_back { + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -o-border-radius: 2px; + white-space: nowrap; + cursor: pointer; + margin: 0 0.5em 0.5em 0; + padding: 0; + color: #444; + background: transparent; + display: inline-block; + line-height: 2.2em; + vertical-align: middle; + text-align: left; + border: 1px solid rgba(0, 0, 0, 0.1); + background: #f5f5f5; + background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1)); + background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 ); + -moz-transition: all 0.22s ""; + -webkit-transition: all 0.22s ""; + -o-transition: all 0.22s ""; + transition: all 0.22s ""; + /* focused buttons */ } + .b_link_back > span { + padding: 0px 8px 0px 25px; + background: transparent url("../openolat/images/arrow_left_big.png") no-repeat 4px center; } + .b_link_back:focus, .b_link_back:hover { + text-decoration: none; + border: 1px solid #C6C6C6; + moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -ms-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); } + .b_link_back:focus { + border-color: red; } + .b_link_back:active { + moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + -ms-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + -o-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); + border-color: red; } + +/** ----------------- FORMS + LOGIN ----------------- **/ +div.o_login_form li { + list-style: none; } + +div.o_login div.o_login_form fieldset legend { + display: none; } + +div.b_form div.b_form_desc { + padding-bottom: 1em; + font-style: italic; } + +/* FORM: old school form and flexi form! */ +/* general form elements */ +input, select, textarea { + border: 1px solid #ACAAAA; + background: #F6F6F6; + line-height: 1.3em; + margin: 0; } + +textarea { + font-family: inherit; + width: 100%; } + +/* FF changes font to monospace otherwhise */ +input:focus, select:focus, textarea:focus { + background: #fff; + border: 1px solid #504D4E; } + +input.b_checkbox, input.b_radio { + height: 1em; + width: 1em; + border: 0; + margin: 0 2px 0 0; } + +label.b_checkbox_label, label.b_radio_label { + padding-left: 0.5em; } + +.b_inline_editable { + padding: 1px 20px 1px 0; + vertical-align: middle; + min-height: 16px; } + +.b_inline_editable:hover { + background-position: 100% 50%; + background-repeat: no-repeat; + background-image: url(../images/brasato/page_edit_tiny.png); } + +span.b_inline_editable:hover { + cursor: text !important; } + +fieldset { + padding: 1em; + padding-top: 1.5em; + border: none; + border-top: 1px solid #ff6666; } + fieldset legend { + padding: 0 5px; + font-size: 120%; + font-weight: bold; } + +div.b_form { + /* form element wrapper: label and element */ + /* form button groups */ + /* make buttons aligned left within element */ } + div.b_form div.b_form_desc { + padding-bottom: 1em; + font-style: italic; } + div.b_form div.b_form_general_error { + padding: 10px 10px 10px 50px; + margin-bottom: 20px; + text-align: left; + background: url(../images/brasato/icon_error.png) no-repeat 10px 10px; + min-height: 32px; + border: 1px solid #990000; + color: #990000; + font-style: italic; } + div.b_form div.b_form_spacer { + margin: 10px 0; } + div.b_form hr.b_form_spacer { + margin: 10px 0; + border-bottom: 1px solid #eee; + padding: 0; } + div.b_form hr.b_form_spacer.b_form_horizontal { + display: inline-block; + width: 2em; } + div.b_form hr.b_form_spacer.b_form_spacer_noline { + margin: 10px 0; + border-bottom: 0; + padding: 0; } + div.b_form div.b_form_element_wrapper { + vertical-align: middle; + margin: 0.5em 0; + /** errors **/ } + div.b_form div.b_form_element_wrapper.b_form_horizontal { + vertical-align: middle; + margin: 0.5em 1em 0.5em 0; + float: left; + display: inline; } + div.b_form div.b_form_element_wrapper.b_form_vertical { + vertical-align: middle; + margin: 0.5em 0; + float: none; + display: block; } + div.b_form div.b_form_element_wrapper div.b_form_element_label { + width: 20%; + float: left; + display: inline; } + div.b_form div.b_form_element_wrapper div.b_form_element_label label { + float: left; + display: inline; + line-height: 1.3em; } + div.b_form div.b_form_element_wrapper div.b_form_element_label span.b_form_mandatory { + background: url(../openolat/images/star-small.png) no-repeat; + padding-left: 16px; + height: 16px; } + div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_horizontal { + width: auto; + float: left; + display: inline; } + div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical { + width: auto; + float: none; + display: block; } + div.b_form div.b_form_element_wrapper div.b_form_element { + margin-left: 25%; + padding: 0 2px 0 12px; + /* keep 2px space for 100% + border of textarea */ } + div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal { + margin-left: 0; + padding-left: 0; + float: left; + display: inline; } + div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button { + float: left; + display: inline; } + div.b_form div.b_form_element_wrapper div.b_form_element.b_form_vertical { + margin-left: 0; + margin-top: 0.5em; + padding-left: 0; + float: none; + display: block; + clear: both; } + div.b_form div.b_form_element_wrapper.b_form_error input, div.b_form div.b_form_element_wrapper.b_form_error select { + border: 1px solid #990000; + background: #ebcccc; } + div.b_form div.b_form_element_wrapper div.b_form_error_msg { + clear: both; + color: #990000; + font-style: italic; + display: block; } + div.b_form div.b_form_element_wrapper div.b_form_element_wrapper { + margin: 0; } + div.b_form div.b_button_group { + margin-left: 0%; + padding-left: 0px; + text-align: left; } + div.b_form.b_form_vertical div.b_button_group { + text-align: left; } + div.b_form div.b_form_element div.b_form_example { + display: inline; + font-size: 80%; + color: #504D4E; } + div.b_form div.b_form_element { + /* date and generic chooser icon*/ } + div.b_form div.b_form_element .b_form_disabled { + color: #504D4E; } + div.b_form div.b_form_element .b_form_element_disabled { + color: #9E9C9C; + background: #EEEEEE; + border: 1px solid #CDCBCB; } + div.b_form div.b_form_element span.b_form_datechooser { + background: url(../openolat/images/calendar.png) no-repeat; + padding-left: 18px; + height: 16px; + line-height: 16px; + margin-left: 2px; + padding-top: 2px; } + div.b_form div.b_form_element a.b_form_groupchooser { + background: url(../openolat/images/users.png) no-repeat; + padding-left: 18px; + height: 16px; + line-height: 16px; + margin-left: 2px; } + div.b_form div.b_form_element a.b_form_genericchooser { + background: url(../openolat/images/users.png) no-repeat; + padding-left: 18px; + height: 16px; + line-height: 16px; + margin-left: 2px; } + div.b_form div.b_form_element a.b_form_wikitext { + background-repeat: no-repeat; + padding-left: 12px; + line-height: 1.5em; + font-style: italic; } + div.b_form div.b_form_element a.b_form_wikitext, div.b_form div.b_form_element .b_wiki_icon { + background-image: url(../openolat/images/wiki/wiki_small_9px.png); } + +div.b_button_group div.b_form_element_wrapper { + vertical-align: middle; + margin: 0.5em 0; + float: none; + display: block; } +div.b_button_group div.b_form_element_wrapper div.b_form_element_label { + width: auto; + float: none; + display: block; } +div.b_button_group div.b_form_element_wrapper div.b_form_element { + margin-left: 0; } + +.b_subcolumns { + display: table; + width: 100%; + table-layout: fixed; } + +.b_c25l input, .b_c25r input { + max-width: 93%; } + +div.calendar { + z-index: 10000 !important; } + +/* form element switches: checkbox left, lable right: override styles from above */ +div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element { + margin: 0; + float: left; } + +div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label { + float: none; + width: auto; + display: block; + padding-left: 2.5em; } + +div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label label { + float: none; } + +div.b_form_subform { + padding-left: 2.5em; } + +/* selection lists */ +div.b_form_selection_vertical div.b_form_selection_element { + vertical-align: middle; + line-height: 1.3em; + position: relative; } + +div.b_form_selection_vertical div.b_form_selection_element input { + vertical-align: middle; + line-height: 1.3em; } + +div.b_form_selection_horizontal div.b_form_selection_element { + float: left; + display: inline; + padding-right: 1em; } + +div.b_form_selection_horizontal div.b_form_selection_element input { + vertical-align: middle; } + +/* toggle on / off */ +div.b_form div.b_form_element div.b_form_togglecheck { + font-size: 95%; + display: block; + vertical-align: middle; + line-height: 16px; + margin-top: 0.5em; } + +div.b_form div.b_form_element div.b_form_togglecheck input { + height: 1em; + width: 1em; } + +/* link list */ +div.o_form_wrapper fieldset { + min-width: 60em; } + +div.form_shift_left { + position: inherit; + left: -20%; } + +/* FORM RICHTEXT ELEMENT */ +div.mceExternalToolbar { + background: #f0f0ee !important; + overflow: auto; } + +/* CHOICE */ +table.b_choice { + padding: 0; + margin: 0; } + table.b_choice td { + padding: 0.1em; + margin: 0; } + table.b_choice td.b_togglecheck { + padding-top: 1em; } + table.b_choice td.b_togglecheck div.b_togglecheck { + display: inline; + border-top: 1px solid #eee; } + table.b_choice td.b_togglecheck input { + margin: 0 7px 0 2px; } + +/* FILE CHOOSER : real file chooser is transparent on layer 2 to hide ugly browser button, below the visible fake file chooser on layer 1 */ +div.b_fileinput { + position: relative; + /* same as mall icon left */ } + div.b_fileinput div.b_fileinput_fakechooser { + position: absolute; + top: 0px; + left: 0px; + z-index: 1; + display: inline; + white-space: nowrap; } + div.b_fileinput div.b_fileinput_fakechooser a { + margin-left: 5px; } + div.b_fileinput span.b_fileinput_maxsize { + padding: 1px 0 1px 1em; + font-style: italic; + min-height: 16px; + vertical-align: middle; } + div.b_fileinput input.b_fileinput_realchooser { + position: relative; + top: 0; + left: 0; + z-index: 2; + -moz-opacity: 0; + opacity: 0; + filter: alpha(opacity=0); } + div.b_fileinput div.b_button_group { + text-align: left; + padding-left: 0; + margin-left: 0; } + +.b_fileinput_icon { + background-image: url(../openolat/images/drive.png); } + +/* PROGRESSBAR */ +div.b_progress div.b_progress_bar { + height: 12px; + border: 1px solid #bfbfbf; + background: #ffcccc; } + +div.b_progress div.b_progress_bar div { + height: 12px; + background: #ff6666; + background: -moz-linear-gradient(top, #ff6666 0%, red 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff6666), color-stop(100%, red)); + background: -webkit-linear-gradient(top, #ff6666 0%, red 100%); + background: -o-linear-gradient(top, #ff6666 0%, red 100%); + background: -ms-linear-gradient(top, #ff6666 0%, red 100%); + background: linear-gradient(top, #ff6666 0%, red 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6666', endColorstr='red',GradientType=0 ); } + +/* MARK */ +div.b_mark { + width: 20px; + height: 20px; + /* form within mark : no padding , no margin */ } + div.b_mark div.b_form_element_wrapper { + margin: 0; } + div.b_mark div.b_form_element_wrapper div.b_form_element { + margin: 0; + padding: 0; } + div.b_mark a.b_mark_set { + background: url(../openolat/images/flag.png) center right no-repeat; + display: block; + width: 20px; + height: 20px; } + div.b_mark a.b_mark_not_set { + background: url(../openolat/images/flag.png) center right no-repeat; + display: block; + width: 20px; + height: 20px; + opacity: 0.4; + filter: alpha(opacity=40); } + div.b_mark a.b_mark_set span, div.b_mark a.b_mark_not_set span { + display: block; + width: 19px; + height: 19px; } + +/** ----------------- TABLES ----------------- **/ +/* normal default table (inherited from YAML) */ +table { + border-collapse: collapse; + margin-bottom: 0.5em; + border-top: 0px solid white; + border-bottom: 0px solid white; } + table caption { + font-variant: small-caps; } + table.b_full { + width: 99.5%; } + table.fixed { + table-layout: fixed; } + table th, table td { + padding: 0.3em; } + table thead th { + color: inherit; + border-bottom: 1px solid #ccc; } + table tbody { + /* olat odd rows */ } + table tbody tr.b_table_odd td { + background: #eee; } + +/* tables from OpenOLAT tablecontroller are wrapped in b_table_wrapper */ +div.b_table_wrapper { + /* table add-ons */ + /* bottom-margin to fix IE6 overflow issue */ } + div.b_table_wrapper table { + width: 99.5%; + margin-left: 1px; } + div.b_table_wrapper table tbody tr:hover td { + background: #ffcccc; } + div.b_table_wrapper div.b_table_filter { + float: left; + display: inline; + font-size: 95%; + margin: 7px 10px 2px 0; } + div.b_table_wrapper div.b_table_filter label { + font-style: italic; + margin: 5px 0 2px 0; } + div.b_table_wrapper div.b_table_filter select { + border: 1px solid #ACAAAA; } + div.b_table_wrapper div.b_clearfix div.b_floatbox { + margin: 5px 0 0 0; } + div.b_table_wrapper div.b_table_count { + font-size: 95%; + float: left; + line-height: 16px; + vertical-align: bottom; + margin: 3px; + font-size: 95%; } + div.b_table_wrapper a.b_table_prefs, div.b_table_wrapper a.b_table_download { + float: right; + display: block; + background-repeat: no-repeat; + background-position: top left; + width: 16px; + height: 16px; + margin: 3px; } + div.b_table_wrapper a.b_table_prefs { + background-image: url(../openolat/images/table_gear.png); } + div.b_table_wrapper a.b_table_download { + background-image: url(../openolat/images/table_download.png); } + div.b_table_wrapper div.b_table_buttons { + text-align: center; + margin: 1.5em 0 1em 0; } + +/* table paging */ +div.b_table_page { + font-size: 95%; + text-align: center; } + div.b_table_page a { + margin: 0; + padding: 2px; } + div.b_table_page a.b_table_page_active { + font-weight: bold; + color: #000; } + div.b_table_page a.b_table_backward { + background: url(../openolat/images/arrow_left.png) no-repeat center left; + padding-left: 16px; } + div.b_table_page a.b_table_forward { + background: url(../openolat/images/arrow_right.png) no-repeat center right; + padding-right: 16px; } + div.b_table_page a.b_table_first_page { + background: url(../openolat/images/home.png) no-repeat center left; + padding-left: 18px; } + +div.b_table_page_all { + font-size: 95%; + text-align: center; } + +/** -------------------- DEVELOPMENT TOOL / DEBUG ---------------- **/ +a.b_dev { + position: absolute; + left: 0; + top: 0; + z-index: 4000; + background: red url("../openolat/images/bug.png") no-repeat; + width: 16px; + height: 16px; + border: 1px solid #000; } + +#b_devcon_main { + background-color: #ccddff; + position: absolute; + z-index: 4000; + top: 10px; + left: 5%; + width: 90%; + text-align: left; + border: 1px solid #000; } + +#b_devcon_handle { + cursor: move; + background: blue url(../openolat/images/bug.png) no-repeat 4px 50%; + line-height: 2em; + padding-left: 24px; + color: white; } + +a#b_devcon_handle_collapse { + cursor: pointer; + background: url("../openolat/images/toggle-small.png") no-repeat; + width: 15px; + height: 15px; + float: right; + margin: 3px; } + +a#b_devcon_handle_expand { + cursor: pointer; + background: url("../openolat/images/toggle-small-expand.png") no-repeat; + width: 15px; + height: 15px; + float: right; + margin: 3px; } + +a.b_devcon_handle_close { + cursor: pointer; + background: url(../openolat/images/close.png) no-repeat; + width: 15px; + height: 15px; + float: right; + margin: 3px; } + +#b_devcon_content { + font-size: 90%; + padding: 5px; + border-top: 0px solid #000; + background: transparent; } + #b_devcon_content ul { + float: left; + margin: 0; + padding: 0; + list-style: none; + white-space: nowrap; } + #b_devcon_content li { + margin: 0; + padding: 0 10px 0 0; + float: left; } + #b_devcon_content fieldset { + border-top: 1px solid #ccc; + margin: 0; + padding: 8px; } + +#b_devcon_mode { + width: 1em; + height: 1em; + float: left; + border: 1px solid #000; + margin-right: 5px; } + +/* bgcolor defined programatically */ +#b_js_log textarea#o_debug_cons { + width: 99%; + height: 15em; + font-family: monospace; + font-size: 110%; + margin: 5px 0 5px 0; } + +iframe.o_debug_json { + position: fixed; + width: 90%; + margin-left: 5%; + bottom: 4px; + height: 300px; + background: white; + border: 2px solid #ccd8e7; + z-index: 90000; } + +/* BRIEFCASE */ +div.b_briefcase div.b_briefcase_foldercomp { + margin-top: 0.5em; + border-top: 1px solid #bbb; } + +div.b_briefcase_foldercomp div.b_briefcase_createactions { + margin: 0.5em 0; } + +div.b_briefcase_foldercomp div.b_briefcase_createactions ul { + list-style: none; + margin: 0; + padding: 0; + white-space: nowrap; + font-size: 95%; } + +div.b_briefcase_foldercomp div.b_briefcase_createactions ul li { + float: right; + display: inline; + margin: 0 0 0 1em; + padding: 0 0 0 3px; + position: relative; } + +div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a { + background-position: 0 50%; + background-repeat: no-repeat; + padding: 2px 0 2px 20px; } + +div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload { + background-image: url(../openolat/images/docs/document_upload.png); } + +div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder { + background-image: url(../openolat/images/folder_new.png); } + +div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile { + background-image: url(../openolat/images/docs/document_add.png); } + +div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles { + background-image: url(../openolat/images/docs/document_remove.png); } + +div.b_briefcase_foldercomp div.b_briefcase_breadcrumb { + clear: both; + padding: 1px 0 1px 20px; + margin: 0.5em 0 0 0; + border-bottom: 1px solid #bbb; + background: url(../openolat/images/folder_open.png) no-repeat 0 50%; } + +div.b_briefcase_foldercomp div.b_briefcase_empty { + clear: both; + margin-top: 0.5em; + font-style: italic; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable { + clear: both; + border-collapse: collapse; + margin-bottom: 0.5em; + border-bottom: 1px solid #4F576A; + background: #fff; + width: 99.9%; } + +/* 99.9% width fix for FF border overflow issue*/ +div.b_briefcase_foldercomp table.b_briefcase_filetable thead { + color: #000; + background: #E0E2E8; + border-bottom: 1px solid #8F99AD; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable thead a, div.b_briefcase_foldercomp table.b_briefcase_filetable thead span { + color: #4F576A; + font-weight: bold; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:hover, +div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:focus { + color: #000000; + text-decoration: none; + background-color: transparent; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable tbody tr.b_table_odd { + background: #F3F4F5; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable tbody tr:hover, div.b_briefcase_foldercomp table.b_briefcase_filetable tbody tr:focus { + background: #E0E2E8; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable th, div.b_briefcase_foldercomp table.b_briefcase_filetable td { + white-space: nowrap; + text-align: right; + padding-right: 1em; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_last_child, div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child { + padding-right: 0; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_first_child, div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_first_child { + width: 60%; + text-align: left; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable td input.b_checkbox { + margin: 0 4px 0 0; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable td a:hover, div.b_briefcase_foldercomp table.b_briefcase_filetable td a:focus { + background-color: transparent; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child { + padding-left: 0; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions { + border: 0; + padding: 0; + margin: 0; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions td { + border: 0; + padding: 0 0 0 3px; + margin: 0; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions tr { + border: 0; + padding: 0; + margin: 0; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon { + background-image: url(../openolat/images/docs/document--pencil.png); } + +div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon { + background-image: url(../openolat/images/docs/document_metadata_edit.png); } + +div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon { + background-image: url(../openolat/images/docs/document_metadata_edit.png); + opacity: 0.2; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon { + background-image: url(../images/brasato/versions.png); } + +div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon { + background-image: url(../images/brasato/versions_dis.png); + opacity: 0.2; } + +div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon { + background-image: url(../images/brasato/locked.png); } + +div.b_briefcase_preview { + background-color: white; + width: 200px; + height: 200px; + border: 1px solid #8EAACE; + margin-top: 2px; } + +div.b_briefcase div.b_briefcase_searchcomp { + float: left; + display: inline; + margin: 0.5em 0; + width: 14em; } + +div.b_briefcase div.b_briefcase_searchcomp input { + width: 10em; } + +div.b_briefcase div.b_briefcase_searchcomp div.b_form_element_wrapper.b_form_horizontal { + margin: 0; } + +div.b_briefcase div.b_briefcase_commandbuttons { + margin: 1em 0; } + +div.b_briefcase div.b_briefcase_webdav { + margin: 0.5em 0; } + +div.b_briefcase div.b_briefcase_quota { + clear: both; + margin-top: 1em; + padding-top: 1em; + border-top: 1px solid #000; } + +div.b_briefcase_meta { + size: 0.8em; } + +div.b_briefcase_meta p { + font-style: italic; + margin: 0; + padding-top: 2px; } + +div.b_send_documents ol.textbox-outer { + margin-left: 0; + border: 1px solid #ACAAAA; + background: #F6F6F6; + line-height: 1.3em; } + +div.b_send_documents ol li { + margin-left: 0; } + +div.b_send_documents textarea { + overflow: auto; + resize: none; } + +/* +* ================================================= +* +* wiki styles for OpenOLAT 8 +* +* @author strentini, sergio.trentini@frentix.com, www.frentix.com +* @date Nov. 2011 +* +* +* ================================================= +*/ +@media all { + /* wrapper container for the wiki tabbed pane */ + div.o_wiki_wrapper { + clear: both; + /* wiki edit helper buttons */ } + div.o_wiki_wrapper div.o_wikimod_btn { + position: relative; } + div.o_wiki_wrapper div.o_wikimod_btn a { + margin-bottom: 9px; + background-repeat: no-repeat; + background-position: center center; + width: 20px; + height: 19px; + float: left; + display: inline; + padding-left: 2px; + border: 1px solid #ccc; + background-color: #eee; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; + margin-right: 2px; } + div.o_wiki_wrapper div.o_wikimod_btn a:hover { + border: 1px solid red; } + div.o_wiki_wrapper div.o_wikimod_btn div.b_contexthelp_wrapper a.b_contexthelp { + position: absolute; + top: 0; + right: 0; } + div.o_wiki_wrapper a.o_wikimod_btn_bold { + background-image: url(../openolat/images/wiki/edit-bold.png); } + div.o_wiki_wrapper a.o_wikimod_btn_italic { + background-image: url(../openolat/images/wiki/edit-italic.png); } + div.o_wiki_wrapper a.o_wikimod_btn_link { + background: url(../openolat/images/wiki/chain.png); } + div.o_wiki_wrapper a.o_wikimod_btn_extlink { + background: url(../openolat/images/wiki/chain--arrow.png); } + div.o_wiki_wrapper a.o_wikimod_btn_headline { + background: url(../openolat/images/wiki/edit-heading.png); } + div.o_wiki_wrapper a.o_wikimod_btn_image { + background: url(../openolat/images/wiki/image-medium.png); } + div.o_wiki_wrapper a.o_wikimod_btn_media { + background: url(../openolat/images/music-beam.png); } + div.o_wiki_wrapper a.o_wikimod_btn_math { + background: url(../openolat/images/wiki/edit-math.png); } + div.o_wiki_wrapper a.o_wikimod_btn_nowiki { + background: url(../openolat/images/wiki/edit-nowiki.png); } + div.o_wiki_wrapper a.o_wikimod_btn_hr { + background: url(../openolat/images/wiki/edit-hr.png); } + div.o_wiki_wrapper a.o_wikimod_btn_list { + background: url(../openolat/images/wiki/edit-list.png); } + div.o_wiki_wrapper a.o_wikimod_btn_numlist { + background: url(../openolat/images/wiki/edit-list-order.png); } + + /* portfolio */ + div.o_wiki_wrapper .b_eportfolio_add, div.o_wiki_wrapper .b_eportfolio_add_again { + position: absolute; + top: 28px; + right: 3px; + z-index: 99; } + + /* override default styles to have smaller title and header on wiki pages */ + div.o_wiki_wrapper h1 { + font-size: 1.0em; } + + div.o_wiki_wrapper h2 { + font-size: 1.0em; } + + div.o_wiki_wrapper h3 { + font-size: 1.0em; } + + /* wiki chooser for file and links */ + div.o_wikimod_linkchooser { + clear: both; + float: left; + display: inline; } + + div.o_wikimod_filechooser { + margin: 0 2em; + float: left; + display: inline; } + + /* wiki left side navigation */ + div.o_wikimod_nav { + font-size: 90%; + padding-top: 1.5em; } + + div.o_wikimod_nav legend { + font-size: 95%; } + + div.o_wikimod_nav fieldset { + padding: 0.5em; } + + div.o_wikimod_nav input { + width: 99%; } + + div.o_wikimod_nav ul { + margin: 0; + padding: 0; } + + div.o_wikimod_nav div.b_button_group { + margin: 0.5em 0; + text-align: left; } + + div.o_wikimod_nav div.b_form div.b_form_element_wrapper.b_form_horizontal { + margin: 0; } + + div.o_wikimod_nav .b_form_element_wrapper .b_form_element { + padding: 0; } + + div.o_wikimod_nav div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button { + padding: 0.5em 0; } + + /* wiki edit form */ + div.o_wikimod_editform_wrapper { + clear: both; + padding: 0.5em 0 0 0; } + + div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element_label { + display: none; } + + div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element { + clear: both; + margin-left: 0; + padding: 0 5px 0 0; } + + div.o_wikimod_editform_wrapper div.b_form div.b_button_group { + margin-left: 0; + text-align: center; } + + /* wiki run view of article */ + h1.o_wikimod_heading, h3.o_wikimod_heading { + margin: 0 0 1em 0; + padding: .5em 0 .17em 0; + border-bottom: 1px solid #BFBFBF; } + + #o_wikimod_uploader { + margin: 1em 0 0 0; } + + .o_wikimod_version { + border: 1px solid #BFBFBF; + padding: 4px; + margin-top: 5px; } + + .o_wikimod_diff { + border: 1px solid #BFBFBF; + padding: 4px; + margin: 0px; } + + .o_wikimod_warn { + color: #DF9719; } + + .o_wiki_error { + background-color: #DF9719; } + + .o_wikimod_ins { + background-color: #A4DCA4; } + + .o_wikimod_old { + background-color: #FFCCCC; } + + .o_wikimod_new { + background-color: #A4DCA4; } + + .o_wikimod_del { + background-color: #FFCCCC; } + + .wiki-image { + float: right; + padding: 10px; + clear: right; } + + .wiki-file-deleted { + text-decoration: line-through; } } +/* FORUM */ +div.o_forum div.o_forum_switch { + border: 1px solid #8F99AD; + padding: 3px; + font-size: 95%; } +div.o_forum div.o_forum_message { + margin: 1em 0 1em 0; + padding: 0.5em; + border: 1px solid #777777; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -o-border-radius: 4px; + background: #eeeeee; } +div.o_forum div.o_forum_message_header_wrapper { + min-height: 24px; } + div.o_forum div.o_forum_message_header_wrapper div.o_forum_message_header { + min-height: 24px; } +div.o_forum div.o_forum_message_title { + vertical-align: middle; + padding: 2px 5px 2px 5px; + min-height: 24px; } + div.o_forum div.o_forum_message_title strong { + font-weight: bold; } +div.o_forum div.o_forum_message_new div.o_forum_message_title strong { + background: url(../openolat/images/new-text.png) no-repeat top right; + padding-right: 20px; } +div.o_forum div.o_forum_message_creator { + width: 100px; + padding: 0.5em 0px 0px 0px; + font-size: 95%; + color: #4F576A; } + div.o_forum div.o_forum_message_creator strong { + font-weight: normal; } + div.o_forum div.o_forum_message_creator img { + border: 1px solid #4F576A; } +div.o_forum div.o_forum_message_body { + padding: 0.5em; + margin-left: 100px; + background: #fff; + margin-right: 3px; } +div.o_forum div.o_forum_message_attachments { + margin: 2em 0 0.5em 0; + border-top: 1px solid #555555; + font-size: 95%; } + div.o_forum div.o_forum_message_attachments strong { + display: block; + margin: 0.5em 0; + font-weight: normal; + font-style: italic; } + div.o_forum div.o_forum_message_attachments ul { + list-style: none; + margin: 0; + padding: 0; } + div.o_forum div.o_forum_message_attachments li { + margin: 0; + padding: 0; } + div.o_forum div.o_forum_message_attachments a { + background-repeat: no-repeat; + background-position: 0 50%; + padding-left: 20px; + padding-top: 2px; + padding-bottom: 2px; } +div.o_forum div.o_forum_message_modified { + clear: both; + border-top: 1px solid #506D90; + padding: 0.5em 0 0 0; + font-size: 95%; + font-style: italic; + text-align: center; + color: #98221F; } +div.o_forum div.o_forum_message_actions { + text-align: center; + padding: 0.2em 1em; + padding-top: 0.8em; } + +span.o_forum_thread_sticky { + font-weight: bold; } + +span.o_forum_status_thread_icon { + background-image: url(../openolat/images/forum/forum.png); } + +span.o_forum_status_sticky_closed_icon { + background-image: url(../openolat/images/forum/sticky-note-pin_locked.png); } + +span.o_forum_status_sticky_icon { + background-image: url(../openolat/images/forum/sticky-note-pin.png); } + +span.o_forum_status_closed_icon { + background-image: url(../openolat/images/forum/forum_locked.png); } + +div.o_forum_peekview { + margin: 1em 0 1em 0; } + div.o_forum_peekview h5 { + font-size: 1em; + position: relative; + left: -20px; } + div.o_forum_peekview div.o_forum_peekview_message { + padding-left: 20px; + padding-bottom: 15px; } + div.o_forum_peekview div.b_quote_wrapper { + display: none; } + +.o_forum_message_icon { + background-image: url(../openolat/images/forum/balloon-white-left.png); } + +div.o_forum_toolbar { + float: left; + display: inline; + width: 75%; } + +div#o_forum_fulltextsearch { + float: right; + display: inline; } + div#o_forum_fulltextsearch input { + width: 10em; } + div#o_forum_fulltextsearch div.b_form_element_wrapper.b_form_horizontal { + margin: 0; } + +/* ePortfolio */ +div.b_struct_edit_btn { + float: right; + display: inline; } + +div.o_ep_struct_editor div.b_subcr { + min-height: 35em; + background: white; + padding-right: 1em; + overflow-x: auto; } + +.b_artefact { + margin: 5px; + border: 1px solid #ddd; + padding: 1em; + border-radius: 5px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + -o-border-radius: 5px; + moz-box-shadow: 0 1px 2px lightGrey; + -ms-box-shadow: 0 1px 2px lightGrey; + -o-box-shadow: 0 1px 2px lightGrey; + -webkit-box-shadow: 0 1px 2px lightGrey; + box-shadow: 0 1px 2px lightGrey; + background: #ebebeb url(../openolat/images/portfolio/artefaktbg.png) top left repeat-x; } + +.b_artefact div.b_actions { + margin-top: 2em; } + +.b_artefact div.b_desc { + font-style: italic; + margin: 1em 0; } + +.b_ep_artAttribLink { + background-image: url(../openolat/images/table_gear.png); } + +div.b_artefact_closed { + font-size: 25px; + float: right; + background: url(../images/brasato/locked.png) top right no-repeat; } + +div.b_eportfolio_preview_c100l .b_artefact { + margin: 3px; } + +div.b_eportfolio_preview_c33l .b_artefact { + font-size: 85%; + margin: 3px; } + +.b_ep_nolink { + color: #000000; } + +.b_ep_nolink:hover { + color: #000000; + text-decoration: none; } + +.b_ep_multiartefacts div.b_ep_add_message_with_arrow { + position: relative; + top: -50px; } + +.b_ep_multiartefacts div.b_artefact_count { + margin: 1em 0 1em 0; } + +a.b_ep_options { + background: url(../openolat/images/gear.png) top left no-repeat; + width: 16px; + height: 16px; + display: block; } + +.b_ep_liveblog_icon { + background-image: url(../openolat/images/portfolio/ep_liveblog_icon.png); } + +div.b_portfolio_toc ul { + margin: 0; } + +div.b_portfolio_toc li { + list-style-type: none; } + +div.b_portfolio_toc li.level1 { + font-size: 1.2em; + margin: 1.2em 0 0.2em 0; + border-bottom: 1px solid #ddd; } + +div.b_portfolio_toc li.level2 { + padding-left: 20px; + font-size: 1.1em; + border-bottom: 1px dotted #ddd; } + +div.b_portfolio_toc li.level3 { + padding-left: 40px; } + +div.b_portfolio_toc li a { + font-size: 0.8em; + text-decoration: none; } + +div.b_portfolio_toc .link { + float: right; + margin-right: 0px; } + +div.b_portfolio_toc .commentlink { + float: right; + margin-right: 10%; } + +div.b_portfolio_toc .type_artefact { + font-style: italic; } + +.b_portfolio_toc .type_map, .b_portfolio_toc .type_page, .b_portfolio_toc .type_struct, .b_portfolio_toc .type_artefact { + background-position: center left; + background-repeat: no-repeat; + padding-left: 20px; } + +a.b_eportfolio_add { + background: url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat; + display: block; + width: 16px; + height: 16px; } + +td a.b_eportfolio_add { + float: right; + padding-right: 2px; } + +a.b_eportfolio_add_again, span.b_eportfolio_add_again { + background: url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat; + display: block; + width: 16px; + height: 16px; } + +.o_efficiencystatement a.b_eportfolio_add_again { + float: right; } + +a.b_eportfolio_link { + background: url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat; + display: block; + width: 16px; + height: 16px; } + +ul.b_eportfolio_maps { + margin: 0; + padding: 0; } + +ul.b_eportfolio_maps li { + display: block; + float: left; + position: relative; + width: 195px; + height: 320px; + padding: 60px 60px 40px 65px; + margin: 0.5em; + background: url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat; + -moz-border-radius: 4px 14px 14px 4px; + -webkit-border-radius: 4px 10px 10px 4px; + -o-border-radius: 4px 14px 14px 4px; + border-radius: 4px 14px 14px 4px; + -webkit-box-shadow: 0 1px 3px lightGray; + -moz-box-shadow: 0 1px 3px lightGray; + -o-box-shadow: 0 1px 3px lightGray; + box-shadow: 0 1px 3px lightGray; } + +ul.b_eportfolio_maps li .b_map_info { + position: absolute; + bottom: 40px; + width: inherit; + font-size: 0.9em; } + +li.default .b_map_info p { + color: #bbb; } + +li.comic .b_map_info p { + color: #88a5c4; } + +li.leather .b_map_info p { + color: #C2A074; } + +ul.b_eportfolio_maps li .b_map_info a.b_open_icon { + font-size: 1.2em; + position: absolute; + bottom: 170px; + right: -10px; } + +ul.b_eportfolio_maps li.leather { + background: url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat; + border: none; } + +ul.b_eportfolio_maps li.leather a { + color: #fad9a4; } + +ul.b_eportfolio_maps li.comic { + background: url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat; + border: none; } + +ul.b_eportfolio_maps li.template.default { + background-image: url(../openolat/images/portfolio/eportfolio_map_default_template.png); } + +ul.b_eportfolio_maps li.template.comic { + background-image: url(../openolat/images/portfolio/eportfolio_map_comic_template.png); } + +ul.b_eportfolio_maps li.template.leather { + background-image: url(../openolat/images/portfolio/eportfolio_map_leather_template.png); } + +.b_map_page { + text-align: center; + clear: left; } + +.b_map_page_all { + text-align: center; } + +.b_map_page > span { + padding-right: 3px; } + +.b_map_page a.b_map_page_forward { + background: url(../images/brasato/resultset_next.png) no-repeat center right; + padding-right: 16px; } + +.b_eportfolio_map { + background: white; + padding: 1.5em; + min-height: 30em; } + +.b_eportfolio_map .b_ep_relative { + position: relative; } + +.b_eportfolio_toolbar div { + display: inline; } + +.b_eportfolio_toolbar { + text-align: right; + width: 100%; + border-bottom: 1px solid #acaaaa; + padding: 1px 2px 4px 2px; + margin-bottom: 6px; } + +.b_eportfolio_map a.b_eportfolio_add_link, .b_eportfolio_map a.b_eportfolio_del_link { + float: right; + display: inline; + background-repeat: no-repeat; + margin-left: 0.5em; + width: 16px; + height: 16px; + text-decoration: none; } + +.b_eportfolio_toolbar a.b_eportfolio_add_link, .b_eportfolio_map a.b_eportfolio_del_link { + float: none; + display: inline-block; + background-repeat: no-repeat; + margin-left: 0; + margin-right: 0.5em; + width: 16px; + height: 16px; + text-decoration: none; } + +.b_eportfolio_map div.b_eportfolio_add_link { + float: left; + display: inline; + margin-top: 2px; } + +.o_ep_toc_editor .b_eportfolio_add_link { + float: left; } + +.b_eportfolio_map .b_eportfolio_add_link:hover { + text-decoration: none; } + +.b_eportfolio_map .b_eportfolio_comment_link { + float: right; + display: inline; + margin-right: 5px; } + +.b_ep_tag_cloud { + padding: 1em 0 1em 0; + border-bottom: 1px solid #ccc; } + +.default div.b_ep_actualpage { + width: 100%; + margin-top: 0; + clear: both; } + +.default div.b_pagination { + float: none; + position: static; + width: 100%; } + +.default div.b_pagination ul { + margin: 0; } + +.default div.b_pagination li { + float: left; + display: inline; + width: auto; + margin: 2px 2px 2px 0; + padding: 0; + background: #FAFAFA; + -webkit-border-radius: 7px 7px 0 0; + -moz-border-radius: 7px 7px 0 0; + -o-border-radius: 7px 7px 0 0; + border-radius: 7px 7px 0 0; } + +.default div.b_pagination li span, .default div.b_pagination li a, .default div.b_pagination li { + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; } + +.default div.b_pagination li.b_disabled { + padding-bottom: 2px; + margin-bottom: 0; + background: #f4f4f4; } + +.default div.b_pagination li .b_disabled { + color: black; + font-weight: normal; + padding: 5px 8px; } + +.default div.b_pagination li a { + padding: 1em; + padding: 5px 8px; } + +.default div.b_eportfolio_page, .default div.b_portfolio_toc, .default div.b_eportfolio_edit { + background-image: none; } + +.comic { + font-family: 'Comic Sans MS', 'Comic Sans', fantasy; } + +.b_eportfolio_map.comic { + background: #a2c3e8 none; + padding: 30px; + -webkit-border-top-right-radius: 10px; + -moz-border-radius-topright: 10px; + border-top-right-radius: 10px; } + +.comic div.b_pagination { + position: absolute; + right: 0; + width: 16%; + max-height: 100%; + overflow-x: hidden; + overflow-y: auto; + z-index: 100; } + +.comic .b_ep_relative > div:last-child { + position: relative; } + +.comic div.b_ep_actualpage { + width: 85%; + margin-top: 1em; } + +.comic div.b_pagination ul { + margin-top: 30px; + margin-left: 0px; + z-index: 1; } + +.comic div.b_pagination li { + width: 87%; + background: url(../openolat/images/portfolio/postit.png) center right; + padding: 0; + margin-bottom: 1em; + margin-left: 8%; + list-style-type: none; } + +.comic div.b_pagination li span.b_disabled, .comic div.b_pagination li a span { + display: block; + padding: 20px 15px 20px 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; } + +.comic div.b_pagination li span, .comic div.b_pagination li a, .comic div.b_pagination li { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; } + +.comic div.b_pagination li.b_disabled { + z-index: 101; + margin-left: 0; + width: 100%; } + +.comic div.b_pagination li .b_disabled { + color: black; + font-weight: bold; } + +.comic div.b_pagination li.b_toc { + background-image: url(../openolat/images/portfolio/postit_pink.png); } + +.b_eportfolio_page, .b_portfolio_toc, .b_eportfolio_edit { + min-height: 40em; + background: #f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat; + padding: 1em; + -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2); + -o-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2); + box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2); } + +.b_eportfolio_page .b_eportfolio_structure > h5 { + border-bottom: 1px solid #ddd; + margin-top: 1.2em; } + +.b_eportfolio_edit { + margin-top: 1.5em; } + +.leather { + font-family: Palatino, Georgia, serif; } + +.b_eportfolio_map.leather { + background: url(../openolat/images/portfolio/light-leather-tile.jpg); } + +.leather div.b_ep_actualpage { + width: 100%; + margin-top: 0; + clear: both; } + +.leather .b_map_header h4, .leather .b_map_header p, .leather .b_map_header a.b_eportfolio_add_link, .leather .b_map_header a.b_eportfolio_comment_link { + color: white; } + +.leather div.b_pagination { + float: none; + position: static; + width: 100%; } + +.leather div.b_pagination ul { + margin: 0; } + +.leather div.b_pagination li { + float: left; + display: inline; + width: auto; + margin: 0 2px 0 0; + padding: 0; + background: #ddd; + -webkit-border-radius: 7px 7px 0 0; + -moz-border-radius: 7px 7px 0 0; + -o-border-radius: 7px 7px 0 0; + border-radius: 7px 7px 0 0; } + +.leather div.b_pagination li span, .leather div.b_pagination li a, .leather div.b_pagination li { + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; } + +.leather div.b_pagination li.b_disabled { + padding: 0; + background: #f4f4f4; } + +.leather div.b_pagination li .b_disabled { + color: black; + font-weight: normal; + padding: 5px 8px; } + +.leather div.b_pagination li a { + padding: 1em; + padding: 5px 8px; } + +.leather div.b_eportfolio_page, .leather div.b_portfolio_toc, .leather div.b_eportfolio_edit { + background-image: none; } + +.b_eportfolio.b_artefacts hr.b_ep_filter_spacer { + height: 10px; + background: url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat; + border: none; + border-top: 1px solid #ccc; + margin: 2em 0 1em; } + +.b_eportfolio.b_artefacts .b_ep_content { + background: white; + padding: 0 1em 1em 1em; + margin-top: 1.5em; } + +.b_eportfolio.b_artefacts .b_ep_content .b_ep_filter { + padding: 0; + width: 80%; } + +.b_ep_filter { + float: left; } + +.b_ep_viewmode { + float: right; + width: 15%; } + +.b_ep_add_artefact { + float: right; } + +.b_ep_content div.b_ep_viewmode div.b_form_element_label { + width: auto; } + +.b_eportfolio.b_artefacts div.b_segments_container { + top: -20px; + margin-bottom: -20px; } + +.b_ep_tagbrowser { + width: 30%; + margin-right: 0px; } + +.b_ep_tagbrowser_view { + width: 68%; + margin-left: 0px; } + +.b_ep_collection_icon { + background-image: url(../images/brasato/eportfolio/ep_collection.png) !important; } + +.b_ep_map_icon, .b_portfolio_toc .type_map { + background-image: url(../openolat/images/portfolio/briefcase.png) !important; } + +.b_ep_page_icon, .b_portfolio_toc .type_page { + background-image: url(../openolat/images/portfolio/ep_page.png) !important; } + +.b_ep_page_icon.b_eportfolio_add_link { + background-image: url(../openolat/images/portfolio/ep_page_add.png) !important; } + +.b_ep_struct_icon, .b_portfolio_toc .type_struct { + background-image: url(../openolat/images/portfolio/ep_struct.png) !important; } + +.b_ep_struct_icon.b_eportfolio_add_link { + background-image: url(../openolat/images/portfolio/ep_struct_add.png) !important; } + +.type_artefact { + background-image: url(../openolat/images/le_resources/portfolio.png) !important; } + +div.b_eportfolio_collect_restriction { + margin-top: 5px; } + +div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_el { + float: left; + margin-right: 5px; } + +div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link { + float: left; + margin-right: 5px; } + +div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a { + padding-left: 0px; + text-decoration: none; } + +div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a:hover { + text-decoration: none; } + +div.b_eportfolio_restriction_wrapper a.b_togglebox_opened { + z-index: 10; + display: block; + width: 9px; + height: 9px; + padding: 0; + margin-left: 12px; } + +div.b_eportfolio_restriction_wrapper a.b_togglebox_closed { + display: block; + width: 9px; + height: 9px; + padding: 0; + margin-left: 12px; } + +div.b_eportfolio_restriction_wrapper p { + padding: 0 0 0 15px; + margin: 0; } + +div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content { + padding: 3px 3px 3px 3px; + margin: 0; + border: 1px solid red; + background-image: none; + background-color: transparent; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; } + +div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content { + border: 1px solid #FF9900 !important; + background: #fff5cc url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 2px !important; } + +div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content { + border: 1px solid #F0F0F0 !important; + background: #fcfcfc url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 2px !important; } + +div.b_eportfolio_restriction_error div.b_togglebox_closed { + background: transparent url(../openolat/images/decorator/deco_warn.png) no-repeat top left !important; } + +div.b_eportfolio_restriction_passed div.b_togglebox_closed { + background: transparent url(../openolat/images/decorator/deco_ok.png) no-repeat top left !important; } + +div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide { + display: none; } + +.b_eportfolio_deadline_callout { + width: 300px; } + +.b_ep_multiartefacts .b_c50l { + clear: both; } + +.b_eportfolio_fulltextsearch { + float: left; } + +.b_eportfolio_share_policy_wrapper { + margin: 5px; + border: 1px solid #ddd; + padding: 1em; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); + background: #ebebeb url(../images/brasato/eportfolio/artefaktbg.png) top left repeat-x; } + +.b_eportfolio_share_policy_wrapper .b_float_right { + text-align: right; } + +.b_eportfolio_share_policy_wrapper a.bit-input { + text-decoration: none; } + +.b_eportfolio_share_policy div input, .b_eportfolio_share_policy div span, .b_eportfolio_share_policy div select { + float: left; + margin-right: 5px; + padding-right: 5px; } + +.b_eportfolio_share_policy div span.b_form_datechooser { + background: url(../openolat/images/calendar.png) no-repeat; + padding-left: 18px; + height: 16px; + line-height: 16px; + margin-left: 2px; } + +.b_eportfolio_share_policy .b_ep_share_date span { + float: left; } + +.b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy { + padding-left: 20px; + background: url(../openolat/images/user.png) top left no-repeat; } + +.b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy { + background-image: url(../openolat/images/users.png); } + +.b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy { + background-image: url(../openolat/images/share.png); } + +.b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy { + background-image: url(../openolat/images/users.png); } + +div.b_ep_inline div input, div.b_ep_inline div span, div.b_ep_inline div select { + float: left; + margin-right: 5px; + padding-right: 5px; } + +/* ims cp */ +div.o_module_cp_wrapper a.b_content_download { + background: url("../openolat/images/drive-download.png") no-repeat top left; + padding-left: 20px; + margin: 3px; + display: block; + min-height: 16px; } +div.o_module_cp_wrapper div#o_local_fulltextsearch { + position: absolute; + top: 0; + right: 0; + z-index: 10; } +div.o_module_cp_wrapper div#o_local_fulltextsearch div.b_form_element_wrapper.b_form_horizontal { + margin: 0; } +div.o_module_cp_wrapper div.o_cp_navigation { + float: right; + display: inline; + padding: 3px 0 3px 3px; + background: #ebebeb; + border: 1px solid #ddd; + white-space: nowrap; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -o-border-radius: 3px; + moz-box-shadow: 0 1px 2px lightGrey; + -ms-box-shadow: 0 1px 2px lightGrey; + -o-box-shadow: 0 1px 2px lightGrey; + -webkit-box-shadow: 0 1px 2px lightGrey; + box-shadow: 0 1px 2px lightGrey; } +div.o_module_cp_wrapper div span a { + margin: 0 2px; } +div.o_module_cp_wrapper div span.b_disabled { + display: none; } +div.o_module_cp_wrapper div span a.o_cp_previous_icon { + background-image: url("../openolat/images/arrow_left_big.png"); + text-decoration: none; } +div.o_module_cp_wrapper div span a.o_cp_previous_icon span { + display: none; } +div.o_module_cp_wrapper div span a.o_cp_next_icon { + background-image: url("../openolat/images/arrow_right_big.png"); } +div.o_module_cp_wrapper div span a.o_cp_next_icon span { + display: none; } +div.o_module_cp_wrapper div span a.o_cp_print_icon { + background-image: url("../openolat/images/printer.png"); } +div.o_module_cp_wrapper div span a.o_cp_print_icon span { + display: none; } +div.o_module_cp_wrapper div.o_cp_navigation div, div.o_module_cp_wrapper div.o_cp_navigation form { + display: inline; } +div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix { + display: inline; + clear: none; } +div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix:after { + display: inline; + height: 0; + clear: none; + visibility: hidden; } + +/* IMS CP Editor */ +#o_cpeditor_menu div.o_cpeditor_menu_tree { + padding: 10px 0 0 0; } + +#b_col1 div.b_menu_toolbar a, #b_col3 div.b_menu_toolbar a { + width: 16px; + height: 16px; + margin: 3px; + float: right; + display: inline; + background-repeat: no-repeat; } + +a.o_cpeditor_import { + background-image: url("../openolat/images/docs/document_upload.png"); } + +a.o_cpeditor_new { + background-image: url("../openolat/images/docs/document_add.png"); } + +a.o_cpeditor_copy { + background-image: url("../openolat/images/docs/document_copy.png"); } + +a.o_cpeditor_delete { + background-image: url("../openolat/images/docs/document_remove.png"); } + +a.o_cpeditor_edit { + background-image: url(../openolat/images/docs/document_metadata_edit.png); } + +a.o_cpeditor_preview { + background-image: url(../openolat/images/docs/document_preview.png); } + +#o_cpeditor_content div.o_cpeditor_message { + padding: 20px; } + +/* QTI legacy styles */ +#o_qti_run div.b_button_group { + text-align: left; } + +#o_qti_run_title { + text-align: right; } + +#o_qti_run_title strong { + float: left; + display: inline; } + +#o_qti_run.o_qti_survey #o_qti_run_title strong { + background: url(../openolat/images/le_resources/survey.png) no-repeat left 50%; + padding-left: 20px; } + +#o_qti_run.o_qti_test #o_qti_run_title strong { + background: url(../openolat/images/le_resources/test.png) no-repeat left 50%; + padding-left: 20px; + padding-top: 2px; + padding-bottom: 2px; } + +#o_qti_scoreinfo { + float: left; + display: inline; + padding: .3em; + border: 1px solid silver; + margin-right: 1em; } + +#o_qti_run_score { + clear: both; + margin: 1em 0; + padding: 0 0 1.5em 0; + font-size: 90%; } + +#o_qti_run_scoreinfo { + float: left; + display: inline; } + +#o_qti_run_scoreprogress { + float: left; + display: inline; + margin-left: 1em; } + +#o_qti_questioninfo { + float: left; + display: inline; + padding: .3em; + border: 1px solid silver; } + +#o_qti_run_questioninfo { + float: left; + display: inline; + margin-left: 1em; } + +#o_qti_run_questionprogress { + float: left; + display: inline; + margin-left: 1em; } + +#o_qti_run_status { + clear: both; } + +#o_qti_run_main { + clear: both; + border-top: 1px solid #504D4E; + margin: 0.5em 0; + padding: 1em 0; } + +#o_qti_run_menu_inner h4 { + font-size: 100%; } + +#o_qti_run_menu_inner ul { + padding: 0; + margin: 0; + list-style: none; } + +#o_qti_run_menu_inner li { + clear: both; + padding: 0; + margin: 0; + white-space: normal; } + +#o_qti_run_menu_inner li.o_qti_menu_section { + padding: 1em 0; } + +#o_qti_run_menu_inner li div.o_qti_menu_item, #o_qti_run_menu li div.o_qti_menu_section { + float: left; + display: inline; + margin-right: 10px; } + +#o_qti_results td { + padding: 0; } + +/* fixes problem with truncated testresults, see OLAT-3416 */ +#b_main.o_editor_qti_correct { + background-image: url(../openolat/images/qti/correct_bg.png); + background-position: top left; } + +#b_main.o_editor_qti { + background-image: url(../images/olat/editor/edit_bg.png); + background-position: top left; } + +#o_qti_hints, #o_qti_solutions { + margin: 1em 0; } + +#o_qti_hints a { + background: url(../images/olat/lightbulb.png) no-repeat left 50%; + cursor: help; + padding-left: 20px; } + +#o_qti_hints a:focus, #o_qti_hints a:hover { + background-image: url(../images/olat/lightbulb_hover.png); } + +#o_qti_solutions a { + background: url(../openolat/images/magnifier-zoom.png) no-repeat left 50%; + cursor: help; + padding-left: 20px; } + +.qti_response_level_feedback_label { + margin-top: 1em; + font-style: italic; } + +.qti_edit_layout { + position: relative; + padding-right: 30px; + margin-bottom: 0.6em; } + +.qti_edit_layout .edit_link { + position: absolute; + top: 10px; + right: 0px; } + +/* QTI item styles */ +div.o_qti_item { + margin-bottom: 2em; + margin-top: 2em; + line-height: 2em; } + +div.o_qti_item input.b_radio, div.o_qti_item input.b_checkbox { + margin-left: 1em; } + +div.o_qti_item textarea { + width: 99%; } + +/* prevent scrollbars */ +img.o_qti_item_matimage { + vertical-align: middle; } + +div.o_qti_item_choice { + display: table; + margin: 1em 0; } + +div.o_qti_item_choice_option { + display: table; + padding: .5em; + border: 1px solid transparent; } + +div.o_qti_item_choice_option_flow { + display: table-cell; + padding: .5em; + border: 1px solid transparent; } + +div.o_qti_item_choice_option:hover { + border: 1px solid silver; } + +div.o_qti_item_choice_option_flow:hover { + border: 1px solid silver; } + +div.o_qti_item_choice_option_input { + display: table-cell; + vertical-align: middle; + padding-right: .5em; } + +div.o_qti_item_choice_option_input input { + vertical-align: middle; } + +div.o_qti_item_choice_option_value { + display: table-cell; } + +div.o_qti_item_choice_option_value span { + line-height: 1.5em; + margin-right: 1em; } + +div.o_qti_item_choice_option_autoenum { + display: table-cell; + line-height: 1.5em; + width: 1em; + overflow: hidden; + vertical-align: middle; + color: silver; + border: 0; + padding: 0; + margin: 0; } + +#o_qti_menu a { + text-decoration: none; } + +.o_qti_menu_section { + padding: .3em; } + +.o_qti_menu_section_clickable { + padding: .3em; + border: 1px solid transparent; + display: inline-block; } + +.o_qti_menu_section_clickable:hover { + padding: .3em; + border: 1px solid silver; + display: inline-block; } + +.o_qti_menu_section_active { + padding: .3em; + border: 1px dashed silver; + display: inline-block; } + +.o_qti_menu_item { + padding: .3em; + border: 1px solid transparent; + display: inline-block; } + +.o_qti_menu_item_active { + padding: .3em; + border: 1px dashed silver; + display: inline-block; } + +.o_qti_menu_item_active:hover { + border: 1px solid silver; } + +.o_qti_menu_item_inactive { + padding: .3em; + border: 1px solid transparent; } + +.o_qti_menu_item:hover { + border: 1px solid silver; } + +.o_qti_menu_item_closed { + padding: .3em; + border: 1px solid transparent; } + +.o_qti_menu_item_attempts_marked, .o_qti_menu_item_attempts { + color: silver; + padding: .2em .4em; + border: 1px solid transparent; + background: url(../openolat/images/flag.png) center right no-repeat; + display: block; + width: 20px; + height: 12px; } + +.o_qti_menu_item_attempts { + opacity: 0.4; + filter: alpha(opacity=40); } + +.o_qti_menu_item_attempts:hover, .o_qti_menu_item_attempts_marked:hover { + color: silver; + border: 1px solid silver; + cursor: pointer; } + +#o_qti_item_note { + padding: 0; + margin: 0; + border: 0; + color: silver; + font-family: inherit; + font-size: 1em; + background: inherit; + overflow: hidden; } + +.o_qti_item_note_box { + border: 1px dashed silver; + padding: .1em; + margin: 0; + padding-left: .5em; } + +div.o_qti_item_note_box_title { + color: silver; } + +div.o_qti_item_itemfeedback, div.o_qti_item_assessfeedback, div.o_qti_item_o_qti_item_sectionfeedback { + margin: 1em 0; + background: url(../openolat/images/lightning.png) no-repeat left 50%; + padding-left: 20px; } + +div.o_qti_item_objectives { + margin: 1em 0; + background: url(../images/brasato/information.png) no-repeat left 50%; + padding-left: 20px; + line-height: 2em; } + +/* qti menu items */ +.o_qti_timelimit_icon { + background-image: url(../openolat/images/qti/time.png); } + +.o_qti_attemptslimit_icon { + background-image: url(../openolat/images/qti/tries.png); } + +.o_qti_closed_icon { + background-image: url(../openolat/images/qti/closed.png); } + +.o_mi_qtialientitem { + background-image: url(../openolat/images/docs/document_plain.png); } + +.o_mi_qtisc { + background-image: url(../openolat/images/qti/scItem.png); } + +.o_mi_qtimc { + background-image: url(../openolat/images/qti/mcItem.png); } + +.o_mi_qtikprim { + background-image: url(../openolat/images/qti/kprimItem.png); } + +.o_mi_qtifib { + background-image: url(../openolat/images/qti/fibItem.png); } + +.o_mi_qtiessay { + background-image: url(../openolat/images/qti/essayItem.png); } + +.o_mi_qtisection { + background-image: url(../openolat/images/qti/section.png); } + +.o_mi_iqtest { + background-image: url(../openolat/images/le_resources/test.png); } + +.o_mi_iqsurv { + background-image: url(../openolat/images/le_resources/survey.png); } + +/* TRANSLATION TOOL */ +div.b_translation_start div.b_translation_start_body, div.b_translation_edit div.b_translation_edit_body { + margin-top: 0.5em; + padding-top: 0.5em; + border-top: 1px solid #ACAAAA; } + +div.b_translation_list div.b_translation_list_package { + margin-bottom: 0.5em; + padding: 1em 0 0.5em 0; + border-bottom: 1px solid #ACAAAA; } + +div.b_translation_list div.b_translation_list_package div.b_translation_package_icon { + margin-bottom: 0.5em; + border-bottom: 1px solid #ACAAAA; } + +div.b_translation_edit div.b_button_group { + text-align: center; + margin: 1em 0 0 0; } + +div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_bar { + float: left; + display: inline; } + +div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_label { + float: left; + display: inline; + padding: 0 0 0 1em; + font-size: 90%; + font-style: italic; } + +div.b_translation_edit div.b_translation_edit_body textarea { + width: 99%; } + +div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_annotation { + margin-top: 1em; } + +div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_compare { + margin-top: 1em; + padding-top: 0.5em; + border-top: 1px solid #ACAAAA; } + +div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_target { + margin-top: 1em; + padding-top: 0.5em; + border-top: 1px solid #ACAAAA; } + +div.b_translation_edit div.b_form_element textarea.b_form_element_disabled { + color: #000; + background: #EEEEEE; + border: 1px solid #CDCBCB; } + +div.b_translation_edit div.b_translation_edit_annotation h5 { + font-weight: normal; + font-size: 100%; + font-style: italic; } + +div.b_translation_edit div.b_translation_edit_annotation textarea { + font-style: italic; } + +div.b_translation_edit div.b_translation_refKey { + background-image: url(../openolat/images/magnifier-zoom.png); + vertical-align: middle; + background-color: #eee; + border: 1px solid #ACAAAA; + margin-right: 1%; } + +div.b_translation_edit div.b_translation_refKey code { + line-height: 1em; + vertical-align: middle; } + +div.b_translation_edit div.b_translation_refKey span { + line-height: 1em; + font-style: italic; } + +div.b_translation_config span.b_translation_status, ul.b_translation_status span.b_translation_status { + position: absolute; + right: 1em; } + +ul.b_translation_status { + column-count: 2; + -moz-column-count: 2; + list-style: none; } + +ul.b_translation_status li { + position: relative; } + +.b_translation_package_icon { + background-image: url(../openolat/images/folder_open.png) !important; } + +.b_translation_item_icon { + background-image: url(../openolat/images/docs/document-node.png) !important; } + +.b_translation_search_icon { + background-image: url(../openolat/images/magnifier-zoom.png) !important; } + +/* inline translation tool */ +span.b_translation_i18nitem { + position: relative !important; } + +span.b_translation_i18nitem a.b_translation_i18nitem_launcher { + position: absolute !important; + z-index: 100 !important; + width: 16px !important; + height: 16px !important; + top: 0 !important; + left: 5px !important; + background: #eeeeee url(../openolat/images/docs/document_metadata_edit.png) no-repeat !important; + border: 1px solid #6e6e6e !important; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -o-border-radius: 3px; + padding: 0 !important; } + +/* lang selector: make sure you match the country flag, not always the same as the lang code */ +/* SELECTION TREE (when you insert a BuildingBlock into a course) */ +div.b_selectiontree { + font-size: 95%; } + div.b_selectiontree div.b_selectiontree_item { + clear: both; + position: relative; + top: 0; + left: 0; + vertical-align: middle; + height: 16px; + width: auto; } + div.b_selectiontree div.b_selectiontree_item div { + width: 16px; + height: 16px; + float: left; + display: inline; + background-repeat: no-repeat; } + div.b_selectiontree div.b_selectiontree_item div.b_selectiontree_content { + float: left; + display: inline; + margin-left: 0.5em; + width: auto; + white-space: nowrap; } + div.b_selectiontree div.b_selectiontree_content { + width: auto; } + div.b_selectiontree div.b_selectiontree_content div { + width: auto; } + div.b_selectiontree div.b_selectiontree_content input { + width: 1em; + height: 1em; + padding: 0; + margin: 0 0.5em; + vertical-align: middle; } + div.b_selectiontree div.b_selectiontree_content input.b_radio { + margin: 0; } + div.b_selectiontree .b_selectiontree_line { + background-image: url(../openolat/images/tree/dots.gif); } + div.b_selectiontree .b_selectiontree_space { + background-image: url(../openolat/images/tree/dots_spacer.gif); } + div.b_selectiontree .b_selectiontree_junction { + background-image: url(../openolat/images/tree/dots_nt.gif); } + div.b_selectiontree .b_selectiontree_end { + background-image: url(../openolat/images/tree/dots_nl.gif); } diff --git a/src/main/webapp/static/themes/openolatexample/layout.scss b/src/main/webapp/static/themes/openolatexample/layout.scss new file mode 100644 index 0000000000000000000000000000000000000000..928e117a534f9cda592f2f693f3118224314b49f --- /dev/null +++ b/src/main/webapp/static/themes/openolatexample/layout.scss @@ -0,0 +1,41 @@ +@charset "UTF-8"; + + +@import "license"; + +@import url(../../yaml/core/slim_base.css); + +/* --------------- */ +@import "mixins"; +@import "definitions"; + + +/* --------------- */ +@import "basemod"; +@import "dd"; +@import "icons"; +@import "content"; + +/* ------- print -------- */ +@import "p_basemod"; +@import "p_content"; + +/* ------- mobile -------- */ +@import "m_basemod"; + + +/* -------- modules -------- */ +@import "dialogs"; +@import "portlets_boxes"; +@import "tabpane"; +@import "formsandbuttons"; +@import "tables"; +@import "develdebug"; +@import "briefcase"; +@import "wiki"; +@import "forum"; +@import "eportfolio"; +@import "imscp"; +@import "qti"; +@import "translationtool"; +@import "course"; \ No newline at end of file