GitLab steht Mittwoch, den 08. Juli, zwischen 09:00 und 13:00 Uhr aufgrund von Wartungsarbeiten nicht zur Verfügung.

Initial import of arsnova-legacy-js

This project holds an WAR overlay for the legacy ARSnova 1.x
based on Sencha and PHP.
parents
.project
.classpath
.settings/*
target/*
<project name="ARSnova" default="run">
<property name="lib.dir" value="lib" />
<property name="sencha.dir" value="${lib.dir}/sencha1.1.1" />
<target name="min:js">
<chmod file="${sencha.dir}/jsbuilder/jsdb/linux/jsdb" perm="+x" />
<exec executable="sh" dir="${sencha.dir}/jsbuilder" failonerror="true">
<arg value="JSBuilder.sh" />
<arg value="-p ../ARSnovaCombined.jsb3" />
<arg value="-d ../" />
<arg value="-v" />
</exec>
</target>
<target name="min:css">
<java jar="${sencha.dir}/jsbuilder/ycompressor/ycompressor.jar" fork="true" failonerror="true" output="resources/css/arsnova_min.css">
<arg value="resources/css/arsnova_new.css" />
</java>
</target>
</project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.thm.arsnova</groupId>
<artifactId>arsnova-legacy-js</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
</project>
\ No newline at end of file
Instruktionen für ARSnova
1. CouchDB installieren.
2. In der Apache-Konfiguration einen ProxyPass einrichten:
ProxyPass /couchdb http://localhost:5984
3. Die Datenbank inkl. aller Views für ARSnova anlegen lassen:
http://localhost/arsnova/couchdb_views/update.php
4. ARSnova über localhost/arsnova/developer.html aufrufen
5. Für die Produktion (ars.thm.de macht dies automatisch):
- arsnova_min.css (minifiziert) erzeugen.
- arsnovaCombined.js erzeugen. Beachte hierzu: lib/sencha1.1.1/ARSnovaCombinedHowTo
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>
arsnova-legacy-js
</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
\ No newline at end of file
This diff is collapsed.
/*--------------------------------------------------------------------------+
This file is part of ARSnova.
app/controllers/archive.js
- Beschreibung: Archive-Controller
- Version: 1.0, 01/05/12
- Autor(en): Christian Thomas Weber <christian.t.weber@gmail.com>
+---------------------------------------------------------------------------+
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or any later version.
+---------------------------------------------------------------------------+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+--------------------------------------------------------------------------*/
Ext.regController("archive", {
index: function(options){
ARSnova.mainTabPanel.tabPanel.setActiveItem(ARSnova.mainTabPanel.tabPanel.archiveTabPanel, {
type: 'slide',
});
},
showArchive: function(options){
var aTP = ARSnova.mainTabPanel.tabPanel.archiveTabPanel;
aTP.questionPanel.courseId = options.courseId;
aTP.setActiveItem(aTP.questionPanel, {
type: 'slide',
});
},
});
\ No newline at end of file
/*--------------------------------------------------------------------------+
This file is part of ARSnova.
app/controllers/auth.js
- Beschreibung: Auth-Controller
- Version: 1.0, 01/05/12
- Autor(en): Christian Thomas Weber <christian.t.weber@gmail.com>
+---------------------------------------------------------------------------+
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or any later version.
+---------------------------------------------------------------------------+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+--------------------------------------------------------------------------*/
Ext.regController("auth", {
qr: function(options) {
ARSnova.loggedIn = true;
if (localStorage.getItem('login') === null) {
localStorage.setItem('login', ARSnova.models.Auth.generateGuestName());
}
ARSnova.userRole = ARSnova.USER_ROLE_STUDENT;
localStorage.setItem('role', ARSnova.userRole);
ARSnova.loginMode = ARSnova.LOGIN_GUEST;
localStorage.setItem('loginMode', ARSnova.loginMode);
ARSnova.afterLogin();
window.location = window.location.pathname + "#";
Ext.dispatch({controller:'sessions', action:'login', keyword: options.sessionid});
},
roleSelect: function(options){
ARSnova.userRole = options.mode;
localStorage.setItem('role', options.mode);
ARSnova.setWindowTitle();
ARSnova.mainTabPanel.tabPanel.setActiveItem(ARSnova.mainTabPanel.tabPanel.loginPanel, 'slide');
},
login: function(options){
ARSnova.loginMode = options.mode;
localStorage.setItem('loginMode', options.mode);
switch(options.mode){
case ARSnova.LOGIN_GUEST:
if (localStorage.getItem('login') === null) {
localStorage.setItem('login', ARSnova.models.Auth.generateGuestName());
}
break;
case ARSnova.LOGIN_THM:
var url = window.location.href
var developerURL = url.indexOf("developer.html");
if(developerURL == -1)
return window.location = window.location.href + "app/webservices/doCasLogin.php";
else
return window.location = url.substring(0, developerURL) + "app/webservices/doCasLogin.php";
break;
case ARSnova.LOGIN_TWITTER:
Ext.Msg.alert("Hinweis", "Der Zugang über ein Twitter-Konto ist momentan gesperrt.<br>Bitte verwenden Sie den Gast-Zugang");
Ext.Msg.doComponentLayout();
return;
break;
case ARSnova.LOGIN_FACEBOOK:
Ext.Msg.alert("Hinweis", "Der Zugang über ein Facebook-Konto ist momentan gesperrt.<br>Bitte verwenden Sie den Gast-Zugang");
Ext.Msg.doComponentLayout();
return;
break;
case ARSnova.LOGIN_GOOGLE:
Ext.Msg.alert("Hinweis", "Der Zugang über ein Google-Konto ist momentan gesperrt.<br>Bitte verwenden Sie den Gast-Zugang");
Ext.Msg.doComponentLayout();
return;
break;
case ARSnova.LOGIN_OPENID:
Ext.Msg.alert("Hinweis", "OpenID ist noch nicht freigeschaltet.");
Ext.Msg.doComponentLayout();
return;
break;
default:
Ext.Msg.alert("Hinweis", options.mode + " wurde nicht gefunden.");
Ext.Msg.doComponentLayout();
return;
break;
}
ARSnova.afterLogin();
},
checkCasLogin: function(params){
ARSnova.loggedIn = true;
localStorage.setItem('login', params.username);
window.location = window.location.pathname + "#";
ARSnova.checkPreviousLogin();
},