Initial commit
BIN
PsalmboekParser/hsv - Copy.db
Normal file
BIN
PsalmboekParser/hsv.db
Normal file
40
PsalmboekParser/info.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
gen 24
|
||||
lev 13
|
||||
num 7, 26
|
||||
deut 28
|
||||
1 kon 8
|
||||
ezra alles
|
||||
ps 119
|
||||
jer 51
|
||||
ez 16
|
||||
dan 11 - class m is ook een vers
|
||||
hab 3 - class d is ook een vers
|
||||
mat 26, 27
|
||||
mar 14
|
||||
luk 1, 9, 22
|
||||
joh 6
|
||||
hand 7
|
||||
film 1
|
||||
|
||||
DELETE FROM VERS WHERE BOEK_ID = 0 AND HOOFDSTUK = 24
|
||||
DELETE FROM VERS WHERE BOEK_ID = 2 AND HOOFDSTUK = 13
|
||||
DELETE FROM VERS WHERE BOEK_ID = 3 AND HOOFDSTUK = 7
|
||||
DELETE FROM VERS WHERE BOEK_ID = 3 AND HOOFDSTUK = 26
|
||||
DELETE FROM VERS WHERE BOEK_ID = 4 AND HOOFDSTUK = 28
|
||||
DELETE FROM VERS WHERE BOEK_ID = 10 AND HOOFDSTUK = 8
|
||||
DELETE FROM VERS WHERE BOEK_ID = 14
|
||||
DELETE FROM VERS WHERE BOEK_ID = 18 AND HOOFDSTUK = 119
|
||||
DELETE FROM VERS WHERE BOEK_ID = 23 AND HOOFDSTUK = 51
|
||||
DELETE FROM VERS WHERE BOEK_ID = 25 AND HOOFDSTUK = 16
|
||||
DELETE FROM VERS WHERE BOEK_ID = 26 AND HOOFDSTUK = 11
|
||||
DELETE FROM VERS WHERE BOEK_ID = 34 AND HOOFDSTUK = 3
|
||||
DELETE FROM VERS WHERE BOEK_ID = 39 AND HOOFDSTUK = 26
|
||||
DELETE FROM VERS WHERE BOEK_ID = 39 AND HOOFDSTUK = 27
|
||||
DELETE FROM VERS WHERE BOEK_ID = 40 AND HOOFDSTUK = 14
|
||||
DELETE FROM VERS WHERE BOEK_ID = 41 AND HOOFDSTUK = 1
|
||||
DELETE FROM VERS WHERE BOEK_ID = 41 AND HOOFDSTUK = 9
|
||||
DELETE FROM VERS WHERE BOEK_ID = 41 AND HOOFDSTUK = 22
|
||||
DELETE FROM VERS WHERE BOEK_ID = 42 AND HOOFDSTUK = 6
|
||||
DELETE FROM VERS WHERE BOEK_ID = 43 AND HOOFDSTUK = 7
|
||||
DELETE FROM VERS WHERE BOEK_ID = 56 AND HOOFDSTUK = 1
|
||||
|
||||
BIN
PsalmboekParser/parser.jar
Normal file
32
PsalmboekParser/pom.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<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>org.tenvoorde</groupId>
|
||||
<artifactId>BiblijaParser</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<build>
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.1</version>
|
||||
<configuration>
|
||||
<source>1.7</source>
|
||||
<target>1.7</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<!-- jsoup HTML parser library @ http://jsoup.org/ -->
|
||||
<groupId>org.jsoup</groupId>
|
||||
<artifactId>jsoup</artifactId>
|
||||
<version>1.7.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xerial</groupId>
|
||||
<artifactId>sqlite-jdbc</artifactId>
|
||||
<version>3.7.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -0,0 +1,28 @@
|
||||
package org.tenvoorde.psalmboekparser.domain;
|
||||
|
||||
public class Psalmvers {
|
||||
|
||||
private String biblijaName;
|
||||
private int chapters;
|
||||
private String name;
|
||||
|
||||
public Psalmvers(String biblijaName, int chapters, String name) {
|
||||
super();
|
||||
this.biblijaName = biblijaName;
|
||||
this.chapters = chapters;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getBiblijaName() {
|
||||
return biblijaName;
|
||||
}
|
||||
|
||||
public int getChapters() {
|
||||
return chapters;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
}
|
||||
33
Psalmenweb-nieuw/.gitignore
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
HELP.md
|
||||
target/
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
!**/src/main/**/target/
|
||||
!**/src/test/**/target/
|
||||
|
||||
### STS ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
build/
|
||||
!**/src/main/**/build/
|
||||
!**/src/test/**/build/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
117
Psalmenweb-nieuw/.mvn/wrapper/MavenWrapperDownloader.java
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
/*
|
||||
* Copyright 2007-present the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
import java.nio.channels.*;
|
||||
import java.util.Properties;
|
||||
|
||||
public class MavenWrapperDownloader {
|
||||
|
||||
private static final String WRAPPER_VERSION = "0.5.6";
|
||||
/**
|
||||
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
|
||||
*/
|
||||
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
|
||||
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
|
||||
|
||||
/**
|
||||
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
|
||||
* use instead of the default one.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
|
||||
".mvn/wrapper/maven-wrapper.properties";
|
||||
|
||||
/**
|
||||
* Path where the maven-wrapper.jar will be saved to.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_JAR_PATH =
|
||||
".mvn/wrapper/maven-wrapper.jar";
|
||||
|
||||
/**
|
||||
* Name of the property which should be used to override the default download url for the wrapper.
|
||||
*/
|
||||
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
|
||||
|
||||
public static void main(String args[]) {
|
||||
System.out.println("- Downloader started");
|
||||
File baseDirectory = new File(args[0]);
|
||||
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
|
||||
|
||||
// If the maven-wrapper.properties exists, read it and check if it contains a custom
|
||||
// wrapperUrl parameter.
|
||||
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
|
||||
String url = DEFAULT_DOWNLOAD_URL;
|
||||
if(mavenWrapperPropertyFile.exists()) {
|
||||
FileInputStream mavenWrapperPropertyFileInputStream = null;
|
||||
try {
|
||||
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
|
||||
Properties mavenWrapperProperties = new Properties();
|
||||
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
|
||||
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
|
||||
} catch (IOException e) {
|
||||
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
|
||||
} finally {
|
||||
try {
|
||||
if(mavenWrapperPropertyFileInputStream != null) {
|
||||
mavenWrapperPropertyFileInputStream.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// Ignore ...
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading from: " + url);
|
||||
|
||||
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
|
||||
if(!outputFile.getParentFile().exists()) {
|
||||
if(!outputFile.getParentFile().mkdirs()) {
|
||||
System.out.println(
|
||||
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
|
||||
try {
|
||||
downloadFileFromURL(url, outputFile);
|
||||
System.out.println("Done");
|
||||
System.exit(0);
|
||||
} catch (Throwable e) {
|
||||
System.out.println("- Error downloading");
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
|
||||
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
|
||||
String username = System.getenv("MVNW_USERNAME");
|
||||
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
|
||||
Authenticator.setDefault(new Authenticator() {
|
||||
@Override
|
||||
protected PasswordAuthentication getPasswordAuthentication() {
|
||||
return new PasswordAuthentication(username, password);
|
||||
}
|
||||
});
|
||||
}
|
||||
URL website = new URL(urlString);
|
||||
ReadableByteChannel rbc;
|
||||
rbc = Channels.newChannel(website.openStream());
|
||||
FileOutputStream fos = new FileOutputStream(destination);
|
||||
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
|
||||
fos.close();
|
||||
rbc.close();
|
||||
}
|
||||
|
||||
}
|
||||
BIN
Psalmenweb-nieuw/.mvn/wrapper/maven-wrapper.jar
vendored
Normal file
2
Psalmenweb-nieuw/.mvn/wrapper/maven-wrapper.properties
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
|
||||
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
|
||||
124
Psalmenweb-nieuw/pom.xml
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.3.4.RELEASE</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<groupId>org.tenvoorde</groupId>
|
||||
<artifactId>psalmenweb</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<packaging>war</packaging>
|
||||
<name>psalmenweb</name>
|
||||
|
||||
<properties>
|
||||
<java.version>11</java.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-tomcat</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat.embed</groupId>
|
||||
<artifactId>tomcat-embed-jasper</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>jstl</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>2.3.3.RELEASE</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.cargo</groupId>
|
||||
<artifactId>cargo-maven2-plugin</artifactId>
|
||||
<version>1.8.1</version>
|
||||
<configuration>
|
||||
<container>
|
||||
<containerId>tomcat9x</containerId>
|
||||
<type>remote</type>
|
||||
</container>
|
||||
<configuration>
|
||||
<type>runtime</type>
|
||||
<properties>
|
||||
<cargo.remote.username>maven</cargo.remote.username>
|
||||
<cargo.remote.password>tomcat</cargo.remote.password>
|
||||
<cargo.remote.uri>http://tenvoorde.org:8080/manager/text</cargo.remote.uri>
|
||||
</properties>
|
||||
</configuration>
|
||||
<deployables>
|
||||
<deployable>
|
||||
<groupId>org.tenvoorde</groupId>
|
||||
<artifactId>psalmenweb</artifactId>
|
||||
<type>war</type>
|
||||
</deployable>
|
||||
</deployables>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.tenvoorde.psalmenweb;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication
|
||||
public class PsalmenwebApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(PsalmenwebApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.tenvoorde.psalmenweb;
|
||||
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
|
||||
public class ServletInitializer extends SpringBootServletInitializer {
|
||||
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
||||
return application.sources(PsalmenwebApplication.class);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,146 @@
|
||||
package org.tenvoorde.psalmenweb.controllers;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.tenvoorde.psalmenweb.dao.BijbelBoekDao;
|
||||
import org.tenvoorde.psalmenweb.dao.BijbelversDao;
|
||||
import org.tenvoorde.psalmenweb.dao.VertalingDao;
|
||||
import org.tenvoorde.psalmenweb.domain.BijbelBoek;
|
||||
import org.tenvoorde.psalmenweb.domain.Bijbelvers;
|
||||
|
||||
import javax.servlet.ServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
@Controller
|
||||
public class BijbelController {
|
||||
|
||||
// private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
|
||||
|
||||
@Autowired
|
||||
private BijbelversDao bijbelversDao;
|
||||
|
||||
@Autowired
|
||||
private VertalingDao vertalingDao;
|
||||
|
||||
@Autowired
|
||||
private BijbelBoekDao bijbelBoekDao;
|
||||
|
||||
@RequestMapping(value = "/bijbel", method = RequestMethod.GET)
|
||||
public String bijbel(
|
||||
@RequestParam(value="t", required = true) Integer vertaling,
|
||||
@RequestParam(value="b", required = true) Integer boek,
|
||||
@RequestParam(value="h", required = true) Integer hoofdstuk,
|
||||
Model model, ServletRequest req) {
|
||||
|
||||
// if (vertaling == null) {
|
||||
// vertaling = 1;
|
||||
// }
|
||||
// if (boek == null) {
|
||||
// boek = 0;
|
||||
// }
|
||||
// if (hoofdstuk == null) {
|
||||
// hoofdstuk = 1;
|
||||
// }
|
||||
|
||||
// model.addAttribute("vertaling", bijbelDAO.getVertaling(vertaling));
|
||||
model.addAttribute("vertaling", vertalingDao.findById(vertaling).get());
|
||||
model.addAttribute("boek", bijbelBoekDao.findById(boek).get());
|
||||
model.addAttribute("hoofdstuk", hoofdstuk);
|
||||
model.addAttribute("linkvorige", linkVorigHoofdstuk(vertaling, boek, hoofdstuk));
|
||||
model.addAttribute("linkvolgende", linkVolgendHoofdstuk(vertaling, boek, hoofdstuk));
|
||||
model.addAttribute("linkvertaling", genereerLinkNaarHoofdstuk((vertaling == 1 ? 2 : 1), boek, hoofdstuk));
|
||||
|
||||
List<Bijbelvers> verzen = bijbelversDao.getHoofdstuk(vertaling, boek, hoofdstuk);
|
||||
model.addAttribute("verzen", verzen);
|
||||
return "bijbel";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/bijbelindex", method = RequestMethod.GET)
|
||||
public String bijbelIndex(
|
||||
@RequestParam(value="t", required = true) Integer vertaling,
|
||||
Model model, ServletRequest req) {
|
||||
|
||||
model.addAttribute("letters", new String[] {
|
||||
"1", "2", "3", "A", "D", "E", "F", "G", "H", "J",
|
||||
"K", "L", "M", "N", "O", "P", "R", "S", "T", "Z"
|
||||
});
|
||||
model.addAttribute("vertaling", vertalingDao.findById(vertaling).get());
|
||||
return "bijbelindex";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/bijbelindexboeken", method = RequestMethod.GET)
|
||||
public String bijbelIndexBoeken(
|
||||
@RequestParam(value="start", required = true) String startsWith,
|
||||
@RequestParam(value="t", required = true) Integer vertaling,
|
||||
Model model, ServletRequest req) {
|
||||
|
||||
List<BijbelBoek> boeken = bijbelBoekDao.findAllByAfkortingStartsWith(startsWith);
|
||||
|
||||
if (boeken.size() == 1) {
|
||||
// return "redirect:http://psalmenonline.nl/bijbelindexchapter?boek=" + boeken.get(0).getId() + "&t=" + vertaling;
|
||||
return "redirect:bijbelindexchapter?boek=" + boeken.get(0).getId() + "&t=" + vertaling;
|
||||
}
|
||||
|
||||
model.addAttribute("boeken", boeken);
|
||||
model.addAttribute("vertaling", vertalingDao.findById(vertaling).get());
|
||||
return "bijbelindexboeken";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/bijbelindexchapter", method = RequestMethod.GET)
|
||||
public String bijbelIndexHoofdstuk(
|
||||
@RequestParam(value="boek", required = true) Integer boek,
|
||||
@RequestParam(value="t", required = true) Integer vertaling,
|
||||
Model model, ServletRequest req) {
|
||||
|
||||
BijbelBoek bijbelboek = bijbelBoekDao.findById(boek).get();
|
||||
|
||||
if (bijbelboek.getHoofdstukken() == 1) {
|
||||
// return "redirect:http://psalmenonline.nl/bijbel?t=" + vertaling + "&b=" + boek + "&h=1";
|
||||
return "redirect:bijbel?t=" + vertaling + "&b=" + boek + "&h=1";
|
||||
}
|
||||
|
||||
model.addAttribute("boek", bijbelboek);
|
||||
model.addAttribute("vertaling", vertalingDao.findById(vertaling).get());
|
||||
return "bijbelindexchapter";
|
||||
}
|
||||
|
||||
|
||||
private String linkVorigHoofdstuk(Integer vertaling, Integer boek, int hoofdstuk) {
|
||||
if (hoofdstuk > 1) {
|
||||
hoofdstuk--;
|
||||
} else {
|
||||
if (boek == 0) {
|
||||
return "#";
|
||||
} else {
|
||||
boek--;
|
||||
hoofdstuk = bijbelBoekDao.findById(boek).get().getHoofdstukken();
|
||||
}
|
||||
}
|
||||
|
||||
return genereerLinkNaarHoofdstuk(vertaling, boek, hoofdstuk);
|
||||
}
|
||||
|
||||
private String linkVolgendHoofdstuk(Integer vertaling, Integer boek, int hoofdstuk) {
|
||||
if (hoofdstuk < bijbelBoekDao.findById(boek).get().getHoofdstukken()) {
|
||||
hoofdstuk++;
|
||||
} else {
|
||||
if (boek == 65) {
|
||||
return "#";
|
||||
} else {
|
||||
boek++;
|
||||
hoofdstuk = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return genereerLinkNaarHoofdstuk(vertaling, boek, hoofdstuk);
|
||||
}
|
||||
|
||||
private String genereerLinkNaarHoofdstuk(Integer vertaling, Integer boek, int hoofdstuk) {
|
||||
return "bijbel?t=" + vertaling + "&b=" + boek + "&h=" + hoofdstuk;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package org.tenvoorde.psalmenweb.controllers;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.tenvoorde.psalmenweb.dao.CatechismusDao;
|
||||
import org.tenvoorde.psalmenweb.domain.CatechismusVraag;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
@Controller
|
||||
public class CatechismusController {
|
||||
|
||||
//private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
|
||||
|
||||
@Autowired
|
||||
private CatechismusDao catechismusDao;
|
||||
|
||||
@RequestMapping(value = "/hc", method = RequestMethod.GET)
|
||||
public String catechismus(@RequestParam(value="z", required = false) Integer hc, Locale locale, Model model) {
|
||||
|
||||
//new CatechismusParser().parser(catechismusDao, logger);
|
||||
//if (true) return "";
|
||||
if (hc == null) {
|
||||
hc = 1;
|
||||
}
|
||||
model.addAttribute("hc", hc);
|
||||
|
||||
List<CatechismusVraag> zondag = catechismusDao.findAllByZondag(hc);
|
||||
|
||||
model.addAttribute("zondag", zondag);
|
||||
|
||||
return "hc";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/hcindex", method = RequestMethod.GET)
|
||||
public String hcIndex() {
|
||||
return "hcindex";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package org.tenvoorde.psalmenweb.controllers;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
|
||||
@Controller
|
||||
public class HomeController {
|
||||
|
||||
@RequestMapping(value = "/", method = RequestMethod.GET)
|
||||
public String index() {
|
||||
return "index";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/info", method = RequestMethod.GET)
|
||||
public String info() {
|
||||
return "info";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package org.tenvoorde.psalmenweb.controllers;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.tenvoorde.psalmenweb.dao.PsalmDao;
|
||||
import org.tenvoorde.psalmenweb.domain.Psalmregel;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
@Controller
|
||||
public class PsalmenController {
|
||||
|
||||
// private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
|
||||
|
||||
@Autowired
|
||||
private PsalmDao psalmDao;
|
||||
|
||||
@RequestMapping(value = "/psalm", method = RequestMethod.GET)
|
||||
public String psalm(@RequestParam(value="p", required = false) Integer psalm, @RequestParam(value="v", required = false) Integer vers, Locale locale, Model model) {
|
||||
// try {
|
||||
// //new PsalmboekParser().parser(dao, logger);
|
||||
// } catch (Exception e) {
|
||||
// }
|
||||
if (psalm == null) {
|
||||
psalm = 1;
|
||||
}
|
||||
model.addAttribute("psalm", psalm);
|
||||
model.addAttribute("vers", vers);
|
||||
|
||||
List<Psalmregel> psalmRegels = psalmDao.findAllByPsalm(psalm);
|
||||
|
||||
model.addAttribute("psalmRegels", psalmRegels);
|
||||
|
||||
return "psalm";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/psalmindex", method = RequestMethod.GET)
|
||||
public String psalmIndex() {
|
||||
return "psalmindex";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/psalmcheck", method = RequestMethod.GET)
|
||||
public @ResponseBody Boolean checkPsalmVerseExists(
|
||||
@RequestParam(value="p", required = true) Integer psalm,
|
||||
@RequestParam(value="v", required = true) Integer vers) {
|
||||
|
||||
if (vers > psalmDao.getNumberOfVerses(psalm)) {
|
||||
return Boolean.FALSE;
|
||||
} else {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.tenvoorde.psalmenweb.dao;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.tenvoorde.psalmenweb.domain.BijbelBoek;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface BijbelBoekDao extends JpaRepository<BijbelBoek, Integer> {
|
||||
|
||||
// @Query("select b from BijbelBoek b where b.afkorting like ':start%'")
|
||||
// public List<BijbelBoek> getBoekenStartsWith(@Param("start") String start);
|
||||
|
||||
List<BijbelBoek> findAllByAfkortingStartsWith(String start);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.tenvoorde.psalmenweb.dao;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.Repository;
|
||||
import org.tenvoorde.psalmenweb.domain.Bijbelvers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface BijbelversDao extends JpaRepository<Bijbelvers, Integer> {
|
||||
@Query("select v from Bijbelvers v where v.vertaling = :vertaling and v.boek = :boek and v.hoofdstuk = :hoofdstuk order by v.vers")
|
||||
List<Bijbelvers> getHoofdstuk(Integer vertaling, Integer boek, Integer hoofdstuk);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.tenvoorde.psalmenweb.dao;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.data.repository.Repository;
|
||||
import org.tenvoorde.psalmenweb.domain.CatechismusVraag;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface CatechismusDao extends Repository<CatechismusVraag, Integer> {
|
||||
|
||||
List<CatechismusVraag> findAllByZondag(Integer hc);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.tenvoorde.psalmenweb.dao;
|
||||
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.tenvoorde.psalmenweb.domain.Psalmregel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface PsalmDao extends CrudRepository<Psalmregel, Integer> {
|
||||
List<Psalmregel> findAllByPsalm(Integer psalm);
|
||||
|
||||
@Query("select count(distinct p.vers) from Psalmregel p where p.psalm = :psalm")
|
||||
Integer getNumberOfVerses(Integer psalm);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package org.tenvoorde.psalmenweb.dao;
|
||||
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.tenvoorde.psalmenweb.domain.Bijbelvers;
|
||||
import org.tenvoorde.psalmenweb.domain.Vertaling;
|
||||
|
||||
public interface VertalingDao extends CrudRepository<Vertaling, Integer> {
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@Getter @Setter @ToString
|
||||
@Entity
|
||||
@Table(name = "BOEK", schema="psalmenweb")
|
||||
public class BijbelBoek {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "ID")
|
||||
private int id;
|
||||
|
||||
private String boek;
|
||||
|
||||
private String afkorting;
|
||||
|
||||
private int hoofdstukken;
|
||||
|
||||
public BijbelBoek(int id, String boek, String afkorting, int hoofdstukken) {
|
||||
super();
|
||||
this.id = id;
|
||||
this.boek = boek;
|
||||
this.afkorting = afkorting;
|
||||
this.hoofdstukken = hoofdstukken;
|
||||
}
|
||||
|
||||
public BijbelBoek() {
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter @Setter @ToString
|
||||
@Entity
|
||||
@Table(name = "VERS", schema = "psalmenweb")
|
||||
public class Bijbelvers implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4765101556890177766L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "ID")
|
||||
private int id;
|
||||
|
||||
@Column(name = "VERTALING_ID")
|
||||
private Integer vertaling;
|
||||
|
||||
@Column(name = "BOEK_ID")
|
||||
private Integer boek;
|
||||
|
||||
@Column(name = "HOOFDSTUK")
|
||||
private Integer hoofdstuk;
|
||||
|
||||
@Column(name = "VERS")
|
||||
private Integer vers;
|
||||
|
||||
@Column(name = "TEKST", columnDefinition = "TEXT")
|
||||
private String tekst;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter @Setter @ToString
|
||||
@Entity
|
||||
@Table(name = "CATECHISMUS", schema = "psalmenweb")
|
||||
public class CatechismusVraag implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4234966319088621876L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "ID")
|
||||
private int id;
|
||||
|
||||
@Column(name = "ZONDAG")
|
||||
private Integer zondag;
|
||||
|
||||
@Column(name = "VRAAG")
|
||||
private Integer vraag;
|
||||
|
||||
@Column(name = "TEKST_VRAAG", columnDefinition = "TEXT")
|
||||
private String tekstVraag;
|
||||
|
||||
@Column(name = "TEKST_ANTWOORD", columnDefinition = "TEXT")
|
||||
private String tekstAntwoord;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter @Setter @ToString
|
||||
@Entity
|
||||
@Table(name = "PSALMREGEL", schema="psalmenweb")
|
||||
public class Psalmregel implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4765101556890177766L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "ID")
|
||||
private int id;
|
||||
|
||||
@Column(name = "PSALM")
|
||||
private Integer psalm;
|
||||
|
||||
@Column(name = "VERS")
|
||||
private Integer vers;
|
||||
|
||||
@Column(name = "REGEL")
|
||||
private Integer regel;
|
||||
|
||||
@Column(name = "TEKST", columnDefinition = "TEXT")
|
||||
private String tekst;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@Entity
|
||||
@Table(name = "VERTALING", schema = "psalmenweb")
|
||||
public class Vertaling {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "ID")
|
||||
private int id;
|
||||
|
||||
@Column(name = "VERTALING")
|
||||
private String vertaling;
|
||||
|
||||
@Column(name = "AFKORTING")
|
||||
private String afkorting;
|
||||
|
||||
public Vertaling() {
|
||||
super();
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getVertaling() {
|
||||
return vertaling;
|
||||
}
|
||||
|
||||
public void setVertaling(String vertaling) {
|
||||
this.vertaling = vertaling;
|
||||
}
|
||||
|
||||
public String getAfkorting() {
|
||||
return afkorting;
|
||||
}
|
||||
|
||||
public void setAfkorting(String afkorting) {
|
||||
this.afkorting = afkorting;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
11
Psalmenweb-nieuw/src/main/resources/application.properties
Normal file
@@ -0,0 +1,11 @@
|
||||
spring.jpa.hibernate.ddl-auto=validate
|
||||
spring.datasource.url=jdbc:mysql://37.97.221.166:3306/psalmenweb?serverTimezone=UTC
|
||||
spring.datasource.username=psalmenonline
|
||||
spring.datasource.password=zMhMipovKFgc1m8n
|
||||
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl
|
||||
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
|
||||
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
|
||||
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
|
||||
|
||||
spring.mvc.view.prefix=/WEB-INF/views/
|
||||
spring.mvc.view.suffix=.jsp
|
||||
125
Psalmenweb-nieuw/src/main/webapp/WEB-INF/views/bijbel.jsp
Normal file
@@ -0,0 +1,125 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>${boek.boek} <c:if test="${boek.hoofdstukken > 1}">${hoofdstuk} </c:if>(${vertaling.afkorting})</title>
|
||||
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
|
||||
|
||||
<link rel="stylesheet"
|
||||
href="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/themes/Psalmenweb.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/psalmenweb.css" />
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script>
|
||||
<script src="resources/js/prefs.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" data-theme="a">
|
||||
<div data-role="header" data-position="fixed" id="psalmhoofd">
|
||||
<div class="psalmheader">${boek.boek} <c:if test="${boek.hoofdstukken > 1}">${hoofdstuk} </c:if>(${vertaling.afkorting})</div>
|
||||
<a data-inline="true" data-icon="custom" data-iconpos="notext" id="bw" data-ajax="false" class="ui-btn-right" style="margin-right:350px;"></a>
|
||||
<a href="hcindex" data-inline="true" data-icon="custom" data-iconpos="notext" id="hc" data-ajax="false" class="ui-btn-right" style="margin-right:250px;"></a>
|
||||
<c:choose>
|
||||
<c:when test="${vertaling.id == 1}">
|
||||
<a href="${linkvertaling}" data-inline="true" data-icon="custom" data-iconpos="notext" id="sv" data-ajax="false" class="ui-btn-right" style="margin-right:150px;"></a>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<a href="${linkvertaling}" data-inline="true" data-icon="custom" data-iconpos="notext" id="hsv" data-ajax="false" class="ui-btn-right" style="margin-right:150px;"></a>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<a href="psalmindex" data-inline="true" data-icon="custom" data-iconpos="notext" id="note" data-ajax="false" class="ui-btn-right" style="margin-right:50px;"></a>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
<br /> <br />
|
||||
<c:forEach items="${verzen}" var="vers"
|
||||
varStatus="varstatus">
|
||||
<p class="psalmline"><span class="bijbelvers">${vers.vers}</span> ${vers.tekst}</p>
|
||||
</c:forEach>
|
||||
|
||||
<br />
|
||||
</div>
|
||||
<div data-role="footer" class="bigbuttons">
|
||||
<div data-role="navbar" data-position="fixed" class="bigbuttons" data-grid="d">
|
||||
<ul>
|
||||
<li><a href="${linkvorige}" id="left" data-icon="custom" data-ajax="false"> </a></li>
|
||||
<li><a href="#" id="minus" data-icon="custom"> </a></li>
|
||||
<li><a href="bijbelindex?t=${vertaling.id}" id="index" data-icon="custom" data-ajax="false" data-transition="pop"> </a></li>
|
||||
<li><a href="#" id="plus" data-icon="custom"> </a></li>
|
||||
<li><a href="${linkvolgende}" id="right" data-icon="custom" data-ajax="false"> </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var PREF_TEXTSIZE;
|
||||
var PREF_COLOR;
|
||||
|
||||
$(function() {
|
||||
loadPreferences();
|
||||
setPreferences();
|
||||
bindListeners();
|
||||
});
|
||||
|
||||
function changeTextSize(delta) {
|
||||
var size = parseInt($(".psalmverseheader").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".psalmverseheader").css("font-size", cssSize);
|
||||
|
||||
size = parseInt($(".psalmline").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".psalmline").css("font-size", cssSize);
|
||||
|
||||
PREF_TEXTSIZE = size + delta;
|
||||
savePreferences();
|
||||
}
|
||||
|
||||
$(document).on('pageinit', function() {
|
||||
$(document).on("click", "#minus", function(e) {
|
||||
changeTextSize(-2);
|
||||
});
|
||||
|
||||
$(document).on("click", "#plus", function(e) {
|
||||
changeTextSize(2);
|
||||
});
|
||||
|
||||
if ($("#left").attr("href") == "#") {
|
||||
$("#left span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
|
||||
if ($("#right").attr("href") == "#") {
|
||||
$("#right span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// function goToVerse(immediately) {
|
||||
// if ("${vers}" != "") {
|
||||
// var target = $("#v${vers}").get(0).offsetTop;
|
||||
//
|
||||
// if (target !== undefined) {
|
||||
// if (immediately) {
|
||||
// $.mobile.silentScroll(target);
|
||||
// } else {
|
||||
// setTimeout(function(){$.mobile.silentScroll(target);}, 100); // scroll after 1 sec
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// $(document).on('pageshow', function(){
|
||||
//goToVerse(false);
|
||||
// });
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,46 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Index (${vertaling.afkorting})</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<c:forEach items="${letters}" var="letter" varStatus="index">
|
||||
<c:if test="${(index.index % 4 == 0) && (index.index > 0)}">
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${index.index % 4 == 0}">
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
</c:if>
|
||||
<a href="bijbelindexboeken?start=${letter}&t=${vertaling.id}" data-role="button" data-theme="a" data-ajax="false">${letter}</a>
|
||||
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,46 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Index (${vertaling.afkorting})</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<c:forEach items="${boeken}" var="boek" varStatus="index">
|
||||
<c:if test="${(index.index % 4 == 0) && (index.index > 0)}">
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${index.index % 4 == 0}">
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
</c:if>
|
||||
<a href="bijbelindexchapter?boek=${boek.id}&t=${vertaling.id}" data-role="button" data-theme="a" data-ajax="false">${boek.afkorting}</a>
|
||||
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,176 @@
|
||||
<%@ page session="false"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Index (${vertaling.afkorting})</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<a id="boekhoofdstuk" style="width: 100%;" href="#" data-role="button" data-transition="fade" class="indexlabel" data-theme="a">${boek.boek} <span id="choice"></span></a>
|
||||
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k7" href="#" data-role="button" data-theme="a">7</a>
|
||||
|
||||
<a id="k8" href="#" data-role="button" data-theme="a">8</a>
|
||||
|
||||
<a id="k9" href="#" data-role="button" data-theme="a">9</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k4" href="#" data-role="button" data-theme="a">4</a>
|
||||
|
||||
<a id="k5" href="#" data-role="button" data-theme="a">5</a>
|
||||
|
||||
<a id="k6" href="#" data-role="button" data-theme="a">6</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k1" href="#" data-role="button" data-theme="a">1</a>
|
||||
|
||||
<a id="k2" href="#" data-role="button" data-theme="a">2</a>
|
||||
|
||||
<a id="k3" href="#" data-role="button" data-theme="a">3</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="kd" href="#" data-role="button" data-theme="a">◀</a>
|
||||
|
||||
<a id="k0" href="#" data-role="button" data-theme="a">0</a>
|
||||
|
||||
<a id="ke" href="#" data-role="button" data-theme="a">✔</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$(".indexknoppengroep a").click(function() {
|
||||
if ($("div.ui-loader.ui-overlay-shadow").length == 1) {
|
||||
return;
|
||||
}
|
||||
var knop = this.id.substring(1);
|
||||
switch(knop) {
|
||||
case "0":
|
||||
case "1":
|
||||
case "2":
|
||||
case "3":
|
||||
case "4":
|
||||
case "5":
|
||||
case "6":
|
||||
case "7":
|
||||
case "8":
|
||||
case "9":
|
||||
addNumber(knop);
|
||||
break;
|
||||
case "d":
|
||||
removeChar();
|
||||
break;
|
||||
case "e":
|
||||
if (! $("#boekhoofdstuk").hasClass("invalid")) {
|
||||
var choice = $("#choice").html();
|
||||
if (choice == "") {
|
||||
choice = "1";
|
||||
$("#choice").html(choice);
|
||||
}
|
||||
|
||||
window.location.href = "bijbel?t=${vertaling.id}&b=${boek.id}&h=" + choice;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function addNumber(knop) {
|
||||
var choice = $("#choice").html();
|
||||
var lengte = choice.length;
|
||||
|
||||
if (lengte == 3) {
|
||||
choice = "";
|
||||
}
|
||||
if (lengte == 0 && knop == "0") {
|
||||
return;
|
||||
}
|
||||
|
||||
choice += knop;
|
||||
|
||||
$("#choice").html(choice);
|
||||
|
||||
checkCorrectChapter();
|
||||
}
|
||||
|
||||
function removeChar() {
|
||||
var choice = $("#choice").html();
|
||||
var lengte = choice.length;
|
||||
if (lengte > 0) {
|
||||
choice = choice.substring(0, choice.length - 1);
|
||||
$("#choice").html(choice);
|
||||
}
|
||||
checkCorrectChapter();
|
||||
}
|
||||
|
||||
function checkCorrectChapter() {
|
||||
var hoofdstuk = parseInt($("#choice").html());
|
||||
if (hoofdstuk > ${boek.hoofdstukken}) {
|
||||
$("#boekhoofdstuk").addClass("invalid");
|
||||
} else {
|
||||
$("#boekhoofdstuk").removeClass("invalid");
|
||||
}
|
||||
}
|
||||
|
||||
function toastVerseDoesNotExist() {
|
||||
$("a#choice span span").addClass("invalid");
|
||||
$("<div class='ui-loader ui-overlay-shadow ui-body-e ui-corner-all'><h1>Dit vers bestaat niet.</h1></div>")
|
||||
.css({
|
||||
display: "block",
|
||||
// opacity: 0.90,
|
||||
position: "fixed",
|
||||
padding: "7px",
|
||||
"text-align": "center",
|
||||
width: "350px",
|
||||
left: ($(window).width() - 364) / 2,
|
||||
top: $(window).height() / 2})
|
||||
.appendTo($.mobile.pageContainer).delay(2000)
|
||||
.fadeOut(400, function(){
|
||||
$(this).remove();
|
||||
var choice = $("a#choice span span").html();
|
||||
choice = choice.substring(0, choice.indexOf("vers") + 5);
|
||||
$("a#choice span span").html(choice);
|
||||
$("a#choice span span").removeClass("invalid");
|
||||
});
|
||||
}
|
||||
|
||||
function checkPsalmVerseExists(psalm, vers) {
|
||||
var result;
|
||||
$.ajax({
|
||||
url: 'psalmcheck',
|
||||
async: false,
|
||||
data: {p: psalm, v: vers}, //'p=' & psalm & '&v=' & vers,
|
||||
success: function(data) {
|
||||
result = data;
|
||||
}
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
124
Psalmenweb-nieuw/src/main/webapp/WEB-INF/views/hc.jsp
Normal file
@@ -0,0 +1,124 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>Zondag ${hc}</title>
|
||||
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
|
||||
|
||||
<link rel="stylesheet"
|
||||
href="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/psalmenweb.css" />
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script>
|
||||
<script src="resources/js/prefs.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" data-theme="a">
|
||||
<div data-role="header" data-position="fixed">
|
||||
<div class="psalmheader">Zondag ${hc}</div>
|
||||
<a data-inline="true" data-icon="custom" data-iconpos="notext" id="bw" data-ajax="false" class="ui-btn-right" style="margin-right:350px;"></a>
|
||||
<a href="psalmindex" data-inline="true" data-icon="custom" data-iconpos="notext" id="note" data-ajax="false" class="ui-btn-right" style="margin-right:150px;"></a>
|
||||
<a href="bijbelindex?t=1" data-inline="true" data-icon="custom" data-iconpos="notext" id="book" data-ajax="false" class="ui-btn-right" style="margin-right:50px;"></a>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
<br /> <br />
|
||||
<c:forEach items="${zondag}" var="vraag" varStatus="varstatus">
|
||||
<div class="psalmverseheader">Vraag ${vraag.vraag}</div>
|
||||
<p class="hclinequestion">${vraag.tekstVraag}</p>
|
||||
<p class="hclineanswer">${vraag.tekstAntwoord}</p>
|
||||
<br />
|
||||
</c:forEach>
|
||||
|
||||
<br />
|
||||
</div>
|
||||
<div data-role="footer" class="bigbuttons">
|
||||
<div data-role="navbar" class="bigbuttons" data-position="fixed">
|
||||
<ul>
|
||||
<li><a href="hc?z=${hc - 1}" id="left" data-icon="custom" data-ajax="false"> </a></li>
|
||||
<li><a href="#" id="minus" data-icon="custom"> </a></li>
|
||||
<li><a href="hcindex" id="index" data-icon="custom" data-ajax="false" data-transition="pop"> </a></li>
|
||||
<li><a href="#" id="plus" data-icon="custom"> </a></li>
|
||||
<li><a href="hc?z=${hc + 1}" id="right" data-icon="custom" data-ajax="false"> </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var PREF_TEXTSIZE;
|
||||
var PREF_COLOR;
|
||||
|
||||
$(function() {
|
||||
loadPreferences();
|
||||
setPreferences();
|
||||
bindListeners();
|
||||
});
|
||||
|
||||
function changeTextSize(delta) {
|
||||
var size = parseInt($(".psalmverseheader").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".psalmverseheader").css("font-size", cssSize);
|
||||
|
||||
size = parseInt($(".hclinequestion").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".hclinequestion").css("font-size", cssSize);
|
||||
|
||||
size = parseInt($(".hclineanswer").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".hclineanswer").css("font-size", cssSize);
|
||||
|
||||
PREF_TEXTSIZE = size + delta;
|
||||
savePreferences();
|
||||
}
|
||||
|
||||
$(document).on('pageinit', function() {
|
||||
$(document).on("click", "#minus", function(e) {
|
||||
changeTextSize(-2);
|
||||
});
|
||||
|
||||
$(document).on("click", "#plus", function(e) {
|
||||
changeTextSize(2);
|
||||
});
|
||||
|
||||
if ('${hc}' == '1') {
|
||||
$("#left").attr("href", "#");
|
||||
$("#left span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
if ('${hc}' == '52') {
|
||||
$("#right").attr("href", "#");
|
||||
$("#right span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function goToVerse(immediately) {
|
||||
if ("${vers}" != "") {
|
||||
var target = $("#v${vers}").get(0).offsetTop;
|
||||
|
||||
if (target !== undefined) {
|
||||
if (immediately) {
|
||||
$.mobile.silentScroll(target);
|
||||
} else {
|
||||
setTimeout(function(){$.mobile.silentScroll(target);}, 100); // scroll after 1 sec
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on('pageshow', function(){
|
||||
goToVerse(false);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
146
Psalmenweb-nieuw/src/main/webapp/WEB-INF/views/hcindex.jsp
Normal file
@@ -0,0 +1,146 @@
|
||||
<%@ page session="false"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Index Catechismus</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<a id="hc" style="width: 100%;" href="#" data-role="button" data-transition="fade" class="indexlabel" data-theme="a">Zondag <span id="choice"></span></a>
|
||||
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k7" href="#" data-role="button" data-theme="a">7</a>
|
||||
|
||||
<a id="k8" href="#" data-role="button" data-theme="a">8</a>
|
||||
|
||||
<a id="k9" href="#" data-role="button" data-theme="a">9</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k4" href="#" data-role="button" data-theme="a">4</a>
|
||||
|
||||
<a id="k5" href="#" data-role="button" data-theme="a">5</a>
|
||||
|
||||
<a id="k6" href="#" data-role="button" data-theme="a">6</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k1" href="#" data-role="button" data-theme="a">1</a>
|
||||
|
||||
<a id="k2" href="#" data-role="button" data-theme="a">2</a>
|
||||
|
||||
<a id="k3" href="#" data-role="button" data-theme="a">3</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="kd" href="#" data-role="button" data-theme="a">↶</a>
|
||||
|
||||
<a id="k0" href="#" data-role="button" data-theme="a">0</a>
|
||||
|
||||
<a id="ke" href="#" data-role="button" data-theme="a">✔</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$(".indexknoppengroep a").click(function() {
|
||||
if ($("div.ui-loader.ui-overlay-shadow").length == 1) {
|
||||
return;
|
||||
}
|
||||
var knop = this.id.substring(1);
|
||||
switch(knop) {
|
||||
case "0":
|
||||
case "1":
|
||||
case "2":
|
||||
case "3":
|
||||
case "4":
|
||||
case "5":
|
||||
case "6":
|
||||
case "7":
|
||||
case "8":
|
||||
case "9":
|
||||
addNumber(knop);
|
||||
break;
|
||||
case "d":
|
||||
if ($("#choice").html().length == 0) {
|
||||
window.history.back();
|
||||
} else {
|
||||
removeChar();
|
||||
}
|
||||
|
||||
break;
|
||||
case "e":
|
||||
if (! $("#hc").hasClass("invalid")) {
|
||||
var choice = $("#choice").html();
|
||||
window.location.href = "hc?z=" + choice;
|
||||
}
|
||||
}
|
||||
if ($("#choice").html().length == 0) {
|
||||
$("a#kd span span").html("↶");
|
||||
} else {
|
||||
$("a#kd span span").html("◀");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function addNumber(knop) {
|
||||
var choice = $("#choice").html();
|
||||
var lengte = choice.length;
|
||||
|
||||
if (lengte == 2) {
|
||||
choice = "";
|
||||
}
|
||||
if (lengte == 0 && knop == "0") {
|
||||
return;
|
||||
}
|
||||
|
||||
choice += knop;
|
||||
|
||||
$("#choice").html(choice);
|
||||
|
||||
checkCorrectChoice();
|
||||
}
|
||||
|
||||
function removeChar() {
|
||||
var choice = $("#choice").html();
|
||||
var lengte = choice.length;
|
||||
if (lengte > 0) {
|
||||
choice = choice.substring(0, choice.length - 1);
|
||||
$("#choice").html(choice);
|
||||
}
|
||||
checkCorrectChoice();
|
||||
}
|
||||
|
||||
function checkCorrectChoice() {
|
||||
var hc = parseInt($("#choice").html());
|
||||
if (hc > 52) {
|
||||
$("#hc").addClass("invalid");
|
||||
} else {
|
||||
$("#hc").removeClass("invalid");
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
54
Psalmenweb-nieuw/src/main/webapp/WEB-INF/views/index.jsp
Normal file
@@ -0,0 +1,54 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Psalmen</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a href="bijbelindex?t=1" style="width: 100%;" data-role="button" data-theme="a" data-ajax="false">Bijbel (HSV)</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a href="bijbelindex?t=2" style="width: 100%;"data-role="button" data-theme="a" data-ajax="false">Bijbel (SV)</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a href="psalmindex" style="width: 100%;" data-role="button" data-theme="a" data-ajax="false">Psalmen</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a href="hcindex" style="width: 100%;" data-role="button" data-theme="a" data-ajax="false">Heidelbergse Catechismus</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a style="width: 100%; visibility: hidden;" data-role="button" data-theme="a" data-ajax="false">Psalmen</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a href="info" style="width: 100%;" data-role="button" data-theme="a" data-ajax="false">Informatie</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
43
Psalmenweb-nieuw/src/main/webapp/WEB-INF/views/info.jsp
Normal file
@@ -0,0 +1,43 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Psalmen</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<p style="font-size: 40px; line-height: 1.5; text-align: left;">
|
||||
Het doel van deze website is om de Bijbel en de psalmen toegankelijk te maken voor slecht- en minderzienden.
|
||||
De website is geoptimaliseerd voor tablets. Een internetverbinding is noodzakelijk!
|
||||
</p>
|
||||
<p style="font-size: 40px; line-height: 1.5; text-align: left;">
|
||||
Ik help u graag bij problemen of vragen. Telefoon: 06-14243000 of email: <a href="mailto:info@psalmenonline.nl">info@psalmenonline.nl</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
132
Psalmenweb-nieuw/src/main/webapp/WEB-INF/views/psalm.jsp
Normal file
@@ -0,0 +1,132 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>Psalm ${psalm}</title>
|
||||
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
|
||||
|
||||
<link rel="stylesheet"
|
||||
href="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/psalmenweb.css" />
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script>
|
||||
<script src="resources/js/prefs.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" data-theme="a">
|
||||
<div data-role="header" data-position="fixed">
|
||||
<div class="psalmheader">Psalm ${psalm}</div>
|
||||
<a data-inline="true" data-icon="custom" data-iconpos="notext" id="bw" data-ajax="false" class="ui-btn-right" style="margin-right:350px;"></a>
|
||||
<a href="hcindex" data-inline="true" data-icon="custom" data-iconpos="notext" id="hc" data-ajax="false" class="ui-btn-right" style="margin-right:150px;">a</a>
|
||||
<a href="bijbelindex?t=1" data-inline="true" data-icon="custom" data-iconpos="notext" id="book" data-ajax="false" class="ui-btn-right" style="margin-right:50px;"></a>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
<br /> <br />
|
||||
<c:forEach items="${psalmRegels}" var="psalmregel"
|
||||
varStatus="varstatus">
|
||||
<c:if
|
||||
test="${(varstatus.index == 0) || (psalmregel.vers != psalmRegels[varstatus.index - 1].vers)}">
|
||||
<a id="v${psalmregel.vers}"></a>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<c:choose>
|
||||
<c:when test="${psalmregel.vers == 0}">
|
||||
<div class="psalmverseheader">Voorzang</div>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="psalmverseheader">Vers ${psalmregel.vers}</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
<p class="psalmline">${psalmregel.tekst}</p>
|
||||
</c:forEach>
|
||||
|
||||
<br />
|
||||
</div>
|
||||
<div data-role="footer" class="bigbuttons">
|
||||
<div data-role="navbar" class="bigbuttons" data-position="fixed">
|
||||
<ul>
|
||||
<li><a href="psalm?p=${psalm - 1}" id="left" data-icon="custom" data-ajax="false"> </a></li>
|
||||
<li><a href="#" id="minus" data-icon="custom"> </a></li>
|
||||
<li><a href="psalmindex" id="index" data-icon="custom" data-ajax="false" data-transition="pop"> </a></li>
|
||||
<li><a href="#" id="plus" data-icon="custom"> </a></li>
|
||||
<li><a href="psalm?p=${psalm + 1}" id="right" data-icon="custom" data-ajax="false"> </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var PREF_TEXTSIZE;
|
||||
var PREF_COLOR;
|
||||
|
||||
$(function() {
|
||||
loadPreferences();
|
||||
setPreferences();
|
||||
bindListeners();
|
||||
});
|
||||
|
||||
function changeTextSize(delta) {
|
||||
var size = parseInt($(".psalmverseheader").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".psalmverseheader").css("font-size", cssSize);
|
||||
|
||||
size = parseInt($(".psalmline").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".psalmline").css("font-size", cssSize);
|
||||
}
|
||||
|
||||
$(function () {
|
||||
$(document).on("click", "#minus", function(e) {
|
||||
changeTextSize(-2);
|
||||
//goToVerse(true);
|
||||
});
|
||||
|
||||
$(document).on("click", "#plus", function(e) {
|
||||
changeTextSize(2);
|
||||
//goToVerse(true);
|
||||
});
|
||||
|
||||
if ('${psalm}' == '1') {
|
||||
$("#left").attr("href", "#");
|
||||
$("#left span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
if ('${psalm}' == '150') {
|
||||
$("#right").attr("href", "#");
|
||||
$("#right span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function goToVerse(immediately) {
|
||||
if ("${vers}" != "") {
|
||||
var target = $("#v${vers}").get(0).offsetTop;
|
||||
|
||||
if (target !== undefined) {
|
||||
if (immediately) {
|
||||
$.mobile.silentScroll(target);
|
||||
} else {
|
||||
setTimeout(function(){$.mobile.silentScroll(target);}, 100); // scroll after 1 sec
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on('pageshow', function(){
|
||||
goToVerse(false);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
232
Psalmenweb-nieuw/src/main/webapp/WEB-INF/views/psalmindex.jsp
Normal file
@@ -0,0 +1,232 @@
|
||||
<%@ page session="false"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Index Psalmen</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<a id="choice" style="width: 100%;" href="#" data-role="button" data-transition="fade" class="indexlabel" data-theme="a">Psalm</a>
|
||||
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k7" href="#" data-role="button" data-theme="a">7</a>
|
||||
|
||||
<a id="k8" href="#" data-role="button" data-theme="a">8</a>
|
||||
|
||||
<a id="k9" href="#" data-role="button" data-theme="a">9</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k4" href="#" data-role="button" data-theme="a">4</a>
|
||||
|
||||
<a id="k5" href="#" data-role="button" data-theme="a">5</a>
|
||||
|
||||
<a id="k6" href="#" data-role="button" data-theme="a">6</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k1" href="#" data-role="button" data-theme="a">1</a>
|
||||
|
||||
<a id="k2" href="#" data-role="button" data-theme="a">2</a>
|
||||
|
||||
<a id="k3" href="#" data-role="button" data-theme="a">3</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="kd" href="#" data-role="button" data-theme="a">↶</a>
|
||||
|
||||
<a id="k0" href="#" data-role="button" data-theme="a">0</a>
|
||||
|
||||
<a id="ke" href="#" data-role="button" data-theme="a">✔</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$(".indexknoppengroep a").click(function() {
|
||||
if ($("div.ui-loader.ui-overlay-shadow").length == 1) {
|
||||
return;
|
||||
}
|
||||
var knop = this.id.substring(1);
|
||||
switch(knop) {
|
||||
case "0":
|
||||
case "1":
|
||||
case "2":
|
||||
case "3":
|
||||
case "4":
|
||||
case "5":
|
||||
case "6":
|
||||
case "7":
|
||||
case "8":
|
||||
case "9":
|
||||
addNumber(knop);
|
||||
break;
|
||||
case "d":
|
||||
if ($("a#choice span span").html().length < 7) {
|
||||
window.history.back();
|
||||
} else {
|
||||
removeChar();
|
||||
}
|
||||
|
||||
break;
|
||||
case "e":
|
||||
if ($("a#choice span span").hasClass("invalid")) {
|
||||
break;
|
||||
}
|
||||
var choice = $("a#choice span span").html();
|
||||
if (choice.indexOf("vers") > 0) {
|
||||
var psalm = choice.substring(6, choice.indexOf("vers") - 1);
|
||||
var vers = choice.substring(choice.indexOf("vers") + 5);
|
||||
if (vers == "") {
|
||||
vers = 1;
|
||||
choice += "1";
|
||||
$("a#choice span span").html(choice);
|
||||
}
|
||||
if (! checkPsalmVerseExists(psalm, vers)) {
|
||||
toastVerseDoesNotExist();
|
||||
} else {
|
||||
window.location.href = "psalm?p=" + psalm + "&v=" + vers;
|
||||
//window.location.href = "/psalm?p=" + psalm + "&v=" + vers;
|
||||
}
|
||||
|
||||
} else {
|
||||
if (! (choice.length < 7)) {
|
||||
choice += " vers ";
|
||||
$("a#choice span span").html(choice);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
var choice = $("a#choice span span").html();
|
||||
if (choice.length < 7) {
|
||||
$("a#kd span span").html("↶");
|
||||
} else {
|
||||
$("a#kd span span").html("◀");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function addNumber(knop) {
|
||||
var choice = $("a#choice span span").html();
|
||||
var lengte = choice.length;
|
||||
|
||||
if (choice.indexOf("vers") > 0) {
|
||||
var vers = choice.substring(choice.indexOf("vers") + 5);
|
||||
var verslengte = vers.length;
|
||||
|
||||
if (verslengte < 2) {
|
||||
if (!(verslengte == 0 && knop == "0")) {
|
||||
choice += knop;
|
||||
}
|
||||
} else {
|
||||
if (!(knop == "0")) {
|
||||
choice = choice.substring(0, choice.indexOf("vers") + 5) + knop;
|
||||
}
|
||||
}
|
||||
$("a#choice span span").html(choice);
|
||||
|
||||
} else {
|
||||
if (lengte == 5) {
|
||||
choice += " ";
|
||||
lengte++;
|
||||
}
|
||||
|
||||
if (lengte < 9) {
|
||||
if (!(lengte == 6 && knop == "0")) {
|
||||
choice += knop;
|
||||
}
|
||||
} else {
|
||||
if (!(knop == "0")) {
|
||||
choice = "Psalm " + knop;
|
||||
}
|
||||
}
|
||||
|
||||
$("a#choice span span").html(choice);
|
||||
|
||||
checkCorrectPsalm();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function removeChar() {
|
||||
var choice = $("a#choice span span").html();
|
||||
var lengte = choice.length;
|
||||
if (lengte > 5) {
|
||||
choice = choice.substring(0, choice.length - 1);
|
||||
if (choice.substring(choice.length - 4) == "vers") {
|
||||
choice = choice.substring(0, choice.length - 5);
|
||||
}
|
||||
$("a#choice span span").html(choice);
|
||||
checkCorrectPsalm();
|
||||
}
|
||||
}
|
||||
|
||||
function checkCorrectPsalm() {
|
||||
var psalm = parseInt($("a#choice span span").html().substring(6));
|
||||
if (psalm < 1 || psalm > 150) {
|
||||
$("a#choice span span").addClass("invalid");
|
||||
} else {
|
||||
$("a#choice span span").removeClass("invalid");
|
||||
}
|
||||
}
|
||||
|
||||
function toastVerseDoesNotExist() {
|
||||
$("a#choice span span").addClass("invalid");
|
||||
$("<div class='ui-loader ui-overlay-shadow ui-body-e ui-corner-all'><h1>Dit vers bestaat niet.</h1></div>")
|
||||
.css({
|
||||
display: "block",
|
||||
// opacity: 0.90,
|
||||
position: "fixed",
|
||||
padding: "7px",
|
||||
"text-align": "center",
|
||||
width: "350px",
|
||||
left: ($(window).width() - 364) / 2,
|
||||
top: $(window).height() / 2})
|
||||
.appendTo($.mobile.pageContainer).delay(2000)
|
||||
.fadeOut(400, function(){
|
||||
$(this).remove();
|
||||
var choice = $("a#choice span span").html();
|
||||
choice = choice.substring(0, choice.indexOf("vers") + 5);
|
||||
$("a#choice span span").html(choice);
|
||||
$("a#choice span span").removeClass("invalid");
|
||||
});
|
||||
}
|
||||
|
||||
function checkPsalmVerseExists(psalm, vers) {
|
||||
var result;
|
||||
$.ajax({
|
||||
url: 'psalmcheck',
|
||||
async: false,
|
||||
data: {p: psalm, v: vers}, //'p=' & psalm & '&v=' & vers,
|
||||
success: function(data) {
|
||||
result = data;
|
||||
}
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
BIN
Psalmenweb-nieuw/src/main/webapp/resources/css/images/bw.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
Psalmenweb-nieuw/src/main/webapp/resources/css/images/hc.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
Psalmenweb-nieuw/src/main/webapp/resources/css/images/hsv.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
Psalmenweb-nieuw/src/main/webapp/resources/css/images/sv.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
39
Psalmenweb-nieuw/src/main/webapp/resources/css/index.html
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>jQuery Mobile: Theme Download</title>
|
||||
<link rel="stylesheet" href="themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile.structure-1.3.2.min.css" />
|
||||
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
|
||||
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div data-role="page" data-theme="a">
|
||||
<div data-role="header" data-position="inline">
|
||||
<h1>It Worked!</h1>
|
||||
</div>
|
||||
<div data-role="content" data-theme="a">
|
||||
<p>Your theme was successfully downloaded. You can use this page as a reference for how to link it up!</p>
|
||||
<pre>
|
||||
<strong><link rel="stylesheet" href="themes/Psalmenweb.min.css" /></strong>
|
||||
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile.structure-1.3.2.min.css" />
|
||||
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
|
||||
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
|
||||
</pre>
|
||||
<p>This is content color swatch "A" and a preview of a <a href="#" class="ui-link">link</a>.</p>
|
||||
<label for="slider1">Input slider:</label>
|
||||
<input type="range" name="slider1" id="slider1" value="50" min="0" max="100" data-theme="a" />
|
||||
<fieldset data-role="controlgroup" data-type="horizontal" data-role="fieldcontain">
|
||||
<legend>Cache settings:</legend>
|
||||
<input type="radio" name="radio-choice-a1" id="radio-choice-a1" value="on" checked="checked" />
|
||||
<label for="radio-choice-a1">On</label>
|
||||
<input type="radio" name="radio-choice-a1" id="radio-choice-b1" value="off" />
|
||||
<label for="radio-choice-b1">Off</label>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
173
Psalmenweb-nieuw/src/main/webapp/resources/css/psalmenweb.css
Normal file
@@ -0,0 +1,173 @@
|
||||
@CHARSET "ISO-8859-1";
|
||||
|
||||
.ui-bar-a {
|
||||
background-image: none;
|
||||
}
|
||||
.psalmheader {
|
||||
font-size: 60px;
|
||||
}
|
||||
|
||||
.psalmverseheader {
|
||||
font-size: 60px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.psalmtext {
|
||||
/* line-height: 3; */
|
||||
|
||||
}
|
||||
|
||||
.psalmline {
|
||||
font-size: 60px;
|
||||
}
|
||||
|
||||
.hclinequestion {
|
||||
font-size: 60px;
|
||||
line-height: 150%;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hclineanswer {
|
||||
font-size: 60px;
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
.indexknoppengroep {
|
||||
margin-bottom: 0.1em !important;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.indexlabel {
|
||||
margin-top: 0px !important;
|
||||
margin-bottom: 0.1em !important;
|
||||
width: 50%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.invalid {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.ui-icon {
|
||||
border-top-left-radius: 0px;
|
||||
border-top-right-radius: 0px;
|
||||
border-bottom-left-radius: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
}
|
||||
|
||||
#minus .ui-icon {
|
||||
background: rgba(0,0,0,0);
|
||||
background-image: url(images/14-minus@2x.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#plus .ui-icon {
|
||||
background: rgba(0,0,0,0);
|
||||
background-image: url(images/13-plus@2x.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#left .ui-icon {
|
||||
background: rgba(0,0,0,0);
|
||||
background-image: url(images/05-arrow-west@2x.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#right .ui-icon {
|
||||
background: rgba(0,0,0,0);
|
||||
background-image: url(images/01-arrow-east@2x.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#index .ui-icon {
|
||||
background: rgba(0,0,0,0);
|
||||
background-image: url(images/60-dialpad@2x.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#book .ui-icon {
|
||||
background: rgba(238,238,238,1);
|
||||
background-image: url(images/96-book@2x.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#note .ui-icon {
|
||||
background: rgba(238,238,238,1);
|
||||
background-image: url(images/194-note-2@2x.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#sv .ui-icon {
|
||||
background: rgba(238,238,238,1);
|
||||
background-image: url(images/sv.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
#hsv .ui-icon {
|
||||
background: rgba(238,238,238,1);
|
||||
background-image: url(images/hsv.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
#hc .ui-icon {
|
||||
background: rgba(238,238,238,1);
|
||||
background-image: url(images/hc.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
#bw .ui-icon {
|
||||
background: rgba(238,238,238,1);
|
||||
background-image: url(images/bw.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.bigbuttons .ui-btn .ui-btn-inner {
|
||||
padding-top: 40px !important;
|
||||
}
|
||||
|
||||
.bigbuttons .ui-btn .ui-icon {
|
||||
width: 60px !important;
|
||||
height: 60px !important;
|
||||
margin-left: -15px !important;
|
||||
box-shadow: none !important;
|
||||
-moz-box-shadow: none !important;
|
||||
-webkit-box-shadow: none !important;
|
||||
-webkit-border-radius: none !important;
|
||||
border-radius: none !important;
|
||||
}
|
||||
|
||||
.bigbuttons .ui-btn-inner .ui-icon {
|
||||
width: 60px !important;
|
||||
height: 60px !important;
|
||||
margin-left: -15px !important;
|
||||
box-shadow: none !important;
|
||||
-moz-box-shadow: none !important;
|
||||
-webkit-box-shadow: none !important;
|
||||
-webkit-border-radius: none !important;
|
||||
border-radius: none !important;
|
||||
}
|
||||
|
||||
#psalmhoofd button{height:50px;width:200px;}
|
||||
|
||||
.bijbelvers {
|
||||
font-weight: bold;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
.ui-header .ui-btn, .ui-header .ui-icon, .ui-header .ui-btn-inner {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
}
|
||||
.ui-header .ui-icon {
|
||||
margin: 0px;
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui-header {
|
||||
height: 71px;
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui-btn-inner {
|
||||
border-top: none;
|
||||
overflow: visible;
|
||||
text-overflow: clip;
|
||||
white-space: normal;
|
||||
}
|
||||
@@ -0,0 +1,795 @@
|
||||
/*!
|
||||
* jQuery Mobile 1.3.2
|
||||
* Git HEAD hash: 528cf0e96940644ea644096bfeb913ed920ffaef <> Date: Fri Jul 19 2013 22:17:57 UTC
|
||||
* http://jquerymobile.com
|
||||
*
|
||||
* Copyright 2010, 2013 jQuery Foundation, Inc. and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* Swatches */
|
||||
/* A
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-bar-a {
|
||||
border: 1px solid #b3b3b3 /*{a-bar-border}*/;
|
||||
background: #eeeeee /*{a-bar-background-color}*/;
|
||||
color: #3e3e3e /*{a-bar-color}*/;
|
||||
font-weight: bold;
|
||||
text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #ffffff /*{a-bar-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #f0f0f0 /*{a-bar-background-start}*/), to( #dddddd /*{a-bar-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #f0f0f0 /*{a-bar-background-start}*/, #dddddd /*{a-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #f0f0f0 /*{a-bar-background-start}*/, #dddddd /*{a-bar-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #f0f0f0 /*{a-bar-background-start}*/, #dddddd /*{a-bar-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #f0f0f0 /*{a-bar-background-start}*/, #dddddd /*{a-bar-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #f0f0f0 /*{a-bar-background-start}*/, #dddddd /*{a-bar-background-end}*/);
|
||||
}
|
||||
.ui-bar-a .ui-link-inherit {
|
||||
color: #3e3e3e /*{a-bar-color}*/;
|
||||
}
|
||||
.ui-bar-a a.ui-link {
|
||||
color: #7cc4e7 /*{a-bar-link-color}*/;
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-bar-a a.ui-link:visited {
|
||||
color: #2489ce /*{a-bar-link-visited}*/;
|
||||
}
|
||||
.ui-bar-a a.ui-link:hover {
|
||||
color: #2489ce /*{a-bar-link-hover}*/;
|
||||
}
|
||||
.ui-bar-a a.ui-link:active {
|
||||
color: #2489ce /*{a-bar-link-active}*/;
|
||||
}
|
||||
.ui-bar-a,
|
||||
.ui-bar-a input,
|
||||
.ui-bar-a select,
|
||||
.ui-bar-a textarea,
|
||||
.ui-bar-a button {
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
}
|
||||
.ui-body-a,
|
||||
.ui-overlay-a {
|
||||
border: 1px solid #545454 /*{a-body-border}*/;
|
||||
color: #ffffff /*{a-body-color}*/;
|
||||
text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #444444 /*{a-body-shadow-color}*/;
|
||||
background: #F00000 /*{a-body-background-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #000000 /*{a-body-background-start}*/), to( #000000 /*{a-body-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #000000 /*{a-body-background-start}*/, #000000 /*{a-body-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #000000 /*{a-body-background-start}*/, #000000 /*{a-body-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #000000 /*{a-body-background-start}*/, #000000 /*{a-body-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #000000 /*{a-body-background-start}*/, #000000 /*{a-body-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #000000 /*{a-body-background-start}*/, #000000 /*{a-body-background-end}*/);
|
||||
}
|
||||
.ui-overlay-a {
|
||||
background-image: none;
|
||||
border-width: 0;
|
||||
}
|
||||
.ui-body-a,
|
||||
.ui-body-a input,
|
||||
.ui-body-a select,
|
||||
.ui-body-a textarea,
|
||||
.ui-body-a button {
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
}
|
||||
.ui-body-a .ui-link-inherit {
|
||||
color: #ffffff /*{a-body-color}*/;
|
||||
}
|
||||
.ui-body-a .ui-link {
|
||||
color: #2489ce /*{a-body-link-color}*/;
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-body-a .ui-link:visited {
|
||||
color: #2489ce /*{a-body-link-visited}*/;
|
||||
}
|
||||
.ui-body-a .ui-link:hover {
|
||||
color: #2489ce /*{a-body-link-hover}*/;
|
||||
}
|
||||
.ui-body-a .ui-link:active {
|
||||
color: #2489ce /*{a-body-link-active}*/;
|
||||
}
|
||||
.ui-btn-up-a {
|
||||
border: 1px solid #1f1f1f /*{a-bup-border}*/;
|
||||
background: #1f1f1f /*{a-bup-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #ffffff /*{a-bup-color}*/;
|
||||
text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #444444 /*{a-bup-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #222222 /*{a-bup-background-start}*/), to( #1b1b1b /*{a-bup-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #222222 /*{a-bup-background-start}*/, #1b1b1b /*{a-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #222222 /*{a-bup-background-start}*/, #1b1b1b /*{a-bup-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #222222 /*{a-bup-background-start}*/, #1b1b1b /*{a-bup-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #222222 /*{a-bup-background-start}*/, #1b1b1b /*{a-bup-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #222222 /*{a-bup-background-start}*/, #1b1b1b /*{a-bup-background-end}*/);
|
||||
}
|
||||
.ui-btn-up-a:visited,
|
||||
.ui-btn-up-a a.ui-link-inherit {
|
||||
color: #ffffff /*{a-bup-color}*/;
|
||||
}
|
||||
.ui-btn-hover-a {
|
||||
border: 1px solid #232323 /*{a-bhover-border}*/;
|
||||
background: #232323 /*{a-bhover-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #ffffff /*{a-bhover-color}*/;
|
||||
text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #444444 /*{a-bhover-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #262626 /*{a-bhover-background-start}*/), to( #1f1f1f /*{a-bhover-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #262626 /*{a-bhover-background-start}*/, #1f1f1f /*{a-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #262626 /*{a-bhover-background-start}*/, #1f1f1f /*{a-bhover-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #262626 /*{a-bhover-background-start}*/, #1f1f1f /*{a-bhover-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #262626 /*{a-bhover-background-start}*/, #1f1f1f /*{a-bhover-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #262626 /*{a-bhover-background-start}*/, #1f1f1f /*{a-bhover-background-end}*/);
|
||||
}
|
||||
.ui-btn-hover-a:visited,
|
||||
.ui-btn-hover-a:hover,
|
||||
.ui-btn-hover-a a.ui-link-inherit {
|
||||
color: #ffffff /*{a-bhover-color}*/;
|
||||
}
|
||||
.ui-btn-down-a {
|
||||
border: 1px solid #232323 /*{a-bdown-border}*/;
|
||||
background: #232323 /*{a-bdown-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #ffffff /*{a-bdown-color}*/;
|
||||
text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #444444 /*{a-bdown-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #1f1f1f /*{a-bdown-background-start}*/), to( #262626 /*{a-bdown-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #1f1f1f /*{a-bdown-background-start}*/, #262626 /*{a-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #1f1f1f /*{a-bdown-background-start}*/, #262626 /*{a-bdown-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #1f1f1f /*{a-bdown-background-start}*/, #262626 /*{a-bdown-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #1f1f1f /*{a-bdown-background-start}*/, #262626 /*{a-bdown-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #1f1f1f /*{a-bdown-background-start}*/, #262626 /*{a-bdown-background-end}*/);
|
||||
}
|
||||
.ui-btn-down-a:visited,
|
||||
.ui-btn-down-a:hover,
|
||||
.ui-btn-down-a a.ui-link-inherit {
|
||||
color: #ffffff /*{a-bdown-color}*/;
|
||||
}
|
||||
.ui-btn-up-a,
|
||||
.ui-btn-hover-a,
|
||||
.ui-btn-down-a {
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
text-decoration: none;
|
||||
}
|
||||
/* B
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-bar-b {
|
||||
border: 1px solid #b3b3b3 /*{b-bar-border}*/;
|
||||
background: #eeeeee /*{b-bar-background-color}*/;
|
||||
color: #3e3e3e /*{b-bar-color}*/;
|
||||
font-weight: bold;
|
||||
text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #ffffff /*{b-bar-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #f0f0f0 /*{b-bar-background-start}*/), to( #dddddd /*{b-bar-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #f0f0f0 /*{b-bar-background-start}*/, #dddddd /*{b-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #f0f0f0 /*{b-bar-background-start}*/, #dddddd /*{b-bar-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #f0f0f0 /*{b-bar-background-start}*/, #dddddd /*{b-bar-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #f0f0f0 /*{b-bar-background-start}*/, #dddddd /*{b-bar-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #f0f0f0 /*{b-bar-background-start}*/, #dddddd /*{b-bar-background-end}*/);
|
||||
}
|
||||
.ui-bar-b .ui-link-inherit {
|
||||
color: #3e3e3e /*{b-bar-color}*/;
|
||||
}
|
||||
.ui-bar-b a.ui-link {
|
||||
color: #7cc4e7 /*{b-bar-link-color}*/;
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-bar-b a.ui-link:visited {
|
||||
color: #2489ce /*{b-bar-link-visited}*/;
|
||||
}
|
||||
.ui-bar-b a.ui-link:hover {
|
||||
color: #2489ce /*{b-bar-link-hover}*/;
|
||||
}
|
||||
.ui-bar-b a.ui-link:active {
|
||||
color: #2489ce /*{b-bar-link-active}*/;
|
||||
}
|
||||
.ui-bar-b,
|
||||
.ui-bar-b input,
|
||||
.ui-bar-b select,
|
||||
.ui-bar-b textarea,
|
||||
.ui-bar-b button {
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
}
|
||||
.ui-body-b,
|
||||
.ui-overlay-b {
|
||||
border: 1px solid #aaaaaa /*{b-body-border}*/;
|
||||
color: #333333 /*{b-body-color}*/;
|
||||
text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #ffffff /*{b-body-shadow-color}*/;
|
||||
background: #f9f9f9 /*{b-body-background-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #f9f9f9 /*{b-body-background-start}*/), to( #eeeeee /*{b-body-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #f9f9f9 /*{b-body-background-start}*/, #eeeeee /*{b-body-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #f9f9f9 /*{b-body-background-start}*/, #eeeeee /*{b-body-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #f9f9f9 /*{b-body-background-start}*/, #eeeeee /*{b-body-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #f9f9f9 /*{b-body-background-start}*/, #eeeeee /*{b-body-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #f9f9f9 /*{b-body-background-start}*/, #eeeeee /*{b-body-background-end}*/);
|
||||
}
|
||||
.ui-overlay-b {
|
||||
background-image: none;
|
||||
border-width: 0;
|
||||
}
|
||||
.ui-body-b,
|
||||
.ui-body-b input,
|
||||
.ui-body-b select,
|
||||
.ui-body-b textarea,
|
||||
.ui-body-b button {
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
}
|
||||
.ui-body-b .ui-link-inherit {
|
||||
color: #333333 /*{b-body-color}*/;
|
||||
}
|
||||
.ui-body-b .ui-link {
|
||||
color: #2489ce /*{b-body-link-color}*/;
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-body-b .ui-link:visited {
|
||||
color: #2489ce /*{b-body-link-visited}*/;
|
||||
}
|
||||
.ui-body-b .ui-link:hover {
|
||||
color: #2489ce /*{b-body-link-hover}*/;
|
||||
}
|
||||
.ui-body-b .ui-link:active {
|
||||
color: #2489ce /*{b-body-link-active}*/;
|
||||
}
|
||||
.ui-btn-up-b {
|
||||
border: 1px solid #cccccc /*{b-bup-border}*/;
|
||||
background: #eeeeee /*{b-bup-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #2f3e46 /*{b-bup-color}*/;
|
||||
text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #ffffff /*{b-bup-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #ffffff /*{b-bup-background-start}*/), to( #f1f1f1 /*{b-bup-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #ffffff /*{b-bup-background-start}*/, #f1f1f1 /*{b-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #ffffff /*{b-bup-background-start}*/, #f1f1f1 /*{b-bup-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #ffffff /*{b-bup-background-start}*/, #f1f1f1 /*{b-bup-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #ffffff /*{b-bup-background-start}*/, #f1f1f1 /*{b-bup-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #ffffff /*{b-bup-background-start}*/, #f1f1f1 /*{b-bup-background-end}*/);
|
||||
}
|
||||
.ui-btn-up-b:visited,
|
||||
.ui-btn-up-b a.ui-link-inherit {
|
||||
color: #2f3e46 /*{b-bup-color}*/;
|
||||
}
|
||||
.ui-btn-hover-b {
|
||||
border: 1px solid #bbbbbb /*{b-bhover-border}*/;
|
||||
background: #dfdfdf /*{b-bhover-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #2f3e46 /*{b-bhover-color}*/;
|
||||
text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #ffffff /*{b-bhover-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #f6f6f6 /*{b-bhover-background-start}*/), to( #e0e0e0 /*{b-bhover-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #f6f6f6 /*{b-bhover-background-start}*/, #e0e0e0 /*{b-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #f6f6f6 /*{b-bhover-background-start}*/, #e0e0e0 /*{b-bhover-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #f6f6f6 /*{b-bhover-background-start}*/, #e0e0e0 /*{b-bhover-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #f6f6f6 /*{b-bhover-background-start}*/, #e0e0e0 /*{b-bhover-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #f6f6f6 /*{b-bhover-background-start}*/, #e0e0e0 /*{b-bhover-background-end}*/);
|
||||
}
|
||||
.ui-btn-hover-b:visited,
|
||||
.ui-btn-hover-b:hover,
|
||||
.ui-btn-hover-b a.ui-link-inherit {
|
||||
color: #2f3e46 /*{b-bhover-color}*/;
|
||||
}
|
||||
.ui-btn-down-b {
|
||||
border: 1px solid #bbbbbb /*{b-bdown-border}*/;
|
||||
background: #d6d6d6 /*{b-bdown-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #2f3e46 /*{b-bdown-color}*/;
|
||||
text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #ffffff /*{b-bdown-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #d0d0d0 /*{b-bdown-background-start}*/), to( #dfdfdf /*{b-bdown-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #d0d0d0 /*{b-bdown-background-start}*/, #dfdfdf /*{b-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #d0d0d0 /*{b-bdown-background-start}*/, #dfdfdf /*{b-bdown-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #d0d0d0 /*{b-bdown-background-start}*/, #dfdfdf /*{b-bdown-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #d0d0d0 /*{b-bdown-background-start}*/, #dfdfdf /*{b-bdown-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #d0d0d0 /*{b-bdown-background-start}*/, #dfdfdf /*{b-bdown-background-end}*/);
|
||||
}
|
||||
.ui-btn-down-b:visited,
|
||||
.ui-btn-down-b:hover,
|
||||
.ui-btn-down-b a.ui-link-inherit {
|
||||
color: #2f3e46 /*{b-bdown-color}*/;
|
||||
}
|
||||
.ui-btn-up-b,
|
||||
.ui-btn-hover-b,
|
||||
.ui-btn-down-b {
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
/* C
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-bar-c {
|
||||
border: 1px solid #b3b3b3 /*{c-bar-border}*/;
|
||||
background: #eeeeee /*{c-bar-background-color}*/;
|
||||
color: #3e3e3e /*{c-bar-color}*/;
|
||||
font-weight: bold;
|
||||
text-shadow: 0 /*{c-bar-shadow-x}*/ 1px /*{c-bar-shadow-y}*/ 0 /*{c-bar-shadow-radius}*/ #ffffff /*{c-bar-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #f0f0f0 /*{c-bar-background-start}*/), to( #dddddd /*{c-bar-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #dddddd /*{c-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #dddddd /*{c-bar-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #dddddd /*{c-bar-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #dddddd /*{c-bar-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #dddddd /*{c-bar-background-end}*/);
|
||||
}
|
||||
.ui-bar-c .ui-link-inherit {
|
||||
color: #3e3e3e /*{c-bar-color}*/;
|
||||
}
|
||||
.ui-bar-c a.ui-link {
|
||||
color: #7cc4e7 /*{c-bar-link-color}*/;
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-bar-c a.ui-link:visited {
|
||||
color: #2489ce /*{c-bar-link-visited}*/;
|
||||
}
|
||||
.ui-bar-c a.ui-link:hover {
|
||||
color: #2489ce /*{c-bar-link-hover}*/;
|
||||
}
|
||||
.ui-bar-c a.ui-link:active {
|
||||
color: #2489ce /*{c-bar-link-active}*/;
|
||||
}
|
||||
.ui-bar-c,
|
||||
.ui-bar-c input,
|
||||
.ui-bar-c select,
|
||||
.ui-bar-c textarea,
|
||||
.ui-bar-c button {
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
}
|
||||
.ui-body-c,
|
||||
.ui-overlay-c {
|
||||
border: 1px solid #aaaaaa /*{c-body-border}*/;
|
||||
color: #333333 /*{c-body-color}*/;
|
||||
text-shadow: 0 /*{c-body-shadow-x}*/ 1px /*{c-body-shadow-y}*/ 0 /*{c-body-shadow-radius}*/ #ffffff /*{c-body-shadow-color}*/;
|
||||
background: #f9f9f9 /*{c-body-background-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #f9f9f9 /*{c-body-background-start}*/), to( #eeeeee /*{c-body-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eeeeee /*{c-body-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eeeeee /*{c-body-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eeeeee /*{c-body-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eeeeee /*{c-body-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eeeeee /*{c-body-background-end}*/);
|
||||
}
|
||||
.ui-overlay-c {
|
||||
background-image: none;
|
||||
border-width: 0;
|
||||
}
|
||||
.ui-body-c,
|
||||
.ui-body-c input,
|
||||
.ui-body-c select,
|
||||
.ui-body-c textarea,
|
||||
.ui-body-c button {
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
}
|
||||
.ui-body-c .ui-link-inherit {
|
||||
color: #333333 /*{c-body-color}*/;
|
||||
}
|
||||
.ui-body-c .ui-link {
|
||||
color: #2489ce /*{c-body-link-color}*/;
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-body-c .ui-link:visited {
|
||||
color: #2489ce /*{c-body-link-visited}*/;
|
||||
}
|
||||
.ui-body-c .ui-link:hover {
|
||||
color: #2489ce /*{c-body-link-hover}*/;
|
||||
}
|
||||
.ui-body-c .ui-link:active {
|
||||
color: #2489ce /*{c-body-link-active}*/;
|
||||
}
|
||||
.ui-btn-up-c {
|
||||
border: 1px solid #cccccc /*{c-bup-border}*/;
|
||||
background: #eeeeee /*{c-bup-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #2f3e46 /*{c-bup-color}*/;
|
||||
text-shadow: 0 /*{c-bup-shadow-x}*/ 1px /*{c-bup-shadow-y}*/ 0 /*{c-bup-shadow-radius}*/ #ffffff /*{c-bup-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #ffffff /*{c-bup-background-start}*/), to( #f1f1f1 /*{c-bup-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/);
|
||||
}
|
||||
.ui-btn-up-c:visited,
|
||||
.ui-btn-up-c a.ui-link-inherit {
|
||||
color: #2f3e46 /*{c-bup-color}*/;
|
||||
}
|
||||
.ui-btn-hover-c {
|
||||
border: 1px solid #bbbbbb /*{c-bhover-border}*/;
|
||||
background: #dfdfdf /*{c-bhover-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #2f3e46 /*{c-bhover-color}*/;
|
||||
text-shadow: 0 /*{c-bhover-shadow-x}*/ 1px /*{c-bhover-shadow-y}*/ 0 /*{c-bhover-shadow-radius}*/ #ffffff /*{c-bhover-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #f6f6f6 /*{c-bhover-background-start}*/), to( #e0e0e0 /*{c-bhover-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/);
|
||||
}
|
||||
.ui-btn-hover-c:visited,
|
||||
.ui-btn-hover-c:hover,
|
||||
.ui-btn-hover-c a.ui-link-inherit {
|
||||
color: #2f3e46 /*{c-bhover-color}*/;
|
||||
}
|
||||
.ui-btn-down-c {
|
||||
border: 1px solid #bbbbbb /*{c-bdown-border}*/;
|
||||
background: #d6d6d6 /*{c-bdown-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #2f3e46 /*{c-bdown-color}*/;
|
||||
text-shadow: 0 /*{c-bdown-shadow-x}*/ 1px /*{c-bdown-shadow-y}*/ 0 /*{c-bdown-shadow-radius}*/ #ffffff /*{c-bdown-shadow-color}*/;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #d0d0d0 /*{c-bdown-background-start}*/), to( #dfdfdf /*{c-bdown-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/);
|
||||
}
|
||||
.ui-btn-down-c:visited,
|
||||
.ui-btn-down-c:hover,
|
||||
.ui-btn-down-c a.ui-link-inherit {
|
||||
color: #2f3e46 /*{c-bdown-color}*/;
|
||||
}
|
||||
.ui-btn-up-c,
|
||||
.ui-btn-hover-c,
|
||||
.ui-btn-down-c {
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
/* Structure */
|
||||
/* links within "buttons"
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
a.ui-link-inherit {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
/* Active class used as the "on" state across all themes
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-btn-active {
|
||||
border: 1px solid #2373a5 /*{global-active-border}*/;
|
||||
background: #387bbe /*{global-active-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #ffffff /*{global-active-color}*/;
|
||||
cursor: pointer;
|
||||
text-shadow: 0 /*{global-active-shadow-x}*/ 1px /*{global-active-shadow-y}*/ 0 /*{global-active-shadow-radius}*/ #3373a5 /*{global-active-shadow-color}*/;
|
||||
text-decoration: none;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #5393c5 /*{global-active-background-start}*/), to( #6facd5 /*{global-active-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/);
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
}
|
||||
.ui-btn-active:visited,
|
||||
.ui-btn-active:hover,
|
||||
.ui-btn-active a.ui-link-inherit {
|
||||
color: #ffffff /*{global-active-color}*/;
|
||||
}
|
||||
/* button inner top highlight
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-btn-inner {
|
||||
border-top: 1px solid #fff;
|
||||
border-color: rgba(255,255,255,.3);
|
||||
}
|
||||
/* corner rounding classes
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-corner-all {
|
||||
-webkit-border-radius: .6em /*{global-radii-blocks}*/;
|
||||
border-radius: .6em /*{global-radii-blocks}*/;
|
||||
}
|
||||
/* Form field separator
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-br {
|
||||
border-color: rgb(130,130,130);
|
||||
border-color: rgba(130,130,130,.3);
|
||||
border-style: solid;
|
||||
}
|
||||
/* Interaction cues
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-disabled {
|
||||
filter: Alpha(Opacity=30);
|
||||
opacity: .3;
|
||||
zoom: 1;
|
||||
}
|
||||
.ui-disabled,
|
||||
.ui-disabled a {
|
||||
cursor: default !important;
|
||||
pointer-events: none;
|
||||
}
|
||||
/* Icons
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-icon,
|
||||
.ui-icon-searchfield:after {
|
||||
background: #666666 /*{global-icon-color}*/;
|
||||
background: rgba(0,0,0,.4) /*{global-icon-disc}*/;
|
||||
background-image: url(images/icons-18-white.png) /*{global-icon-set}*/;
|
||||
background-repeat: no-repeat;
|
||||
-webkit-border-radius: 9px;
|
||||
border-radius: 9px;
|
||||
}
|
||||
/* Alt icon color
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-icon-alt .ui-icon,
|
||||
.ui-icon-alt .ui-icon-searchfield:after {
|
||||
background-color: #fff;
|
||||
background-color: rgba(255,255,255,.3);
|
||||
background-image: url(images/icons-18-black.png);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
/* No disc
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-icon-nodisc .ui-icon,
|
||||
.ui-icon-nodisc .ui-icon-searchfield:after,
|
||||
.ui-icon-nodisc .ui-icon-alt .ui-icon,
|
||||
.ui-icon-nodisc .ui-icon-alt .ui-icon-searchfield:after {
|
||||
background-color: transparent;
|
||||
}
|
||||
/* Icon sprite
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
/* plus minus */
|
||||
.ui-icon-plus {
|
||||
background-position: -1px -1px;
|
||||
}
|
||||
.ui-icon-minus {
|
||||
background-position: -37px -1px;
|
||||
}
|
||||
/* delete/close */
|
||||
.ui-icon-delete {
|
||||
background-position: -73px -1px;
|
||||
}
|
||||
/* arrows */
|
||||
.ui-icon-arrow-r {
|
||||
background-position: -108px -1px;
|
||||
}
|
||||
.ui-icon-arrow-l {
|
||||
background-position: -144px -1px;
|
||||
}
|
||||
.ui-icon-arrow-u {
|
||||
background-position: -180px -1px;
|
||||
}
|
||||
.ui-icon-arrow-d {
|
||||
background-position: -216px -1px;
|
||||
}
|
||||
/* misc */
|
||||
.ui-icon-check {
|
||||
background-position: -252px -1px;
|
||||
}
|
||||
.ui-icon-gear {
|
||||
background-position: -288px -1px;
|
||||
}
|
||||
.ui-icon-refresh {
|
||||
background-position: -323px -1px;
|
||||
}
|
||||
.ui-icon-forward {
|
||||
background-position: -360px -1px;
|
||||
}
|
||||
.ui-icon-back {
|
||||
background-position: -396px -1px;
|
||||
}
|
||||
.ui-icon-grid {
|
||||
background-position: -432px -1px;
|
||||
}
|
||||
.ui-icon-star {
|
||||
background-position: -467px -1px;
|
||||
}
|
||||
.ui-icon-alert {
|
||||
background-position: -503px -1px;
|
||||
}
|
||||
.ui-icon-info {
|
||||
background-position: -539px -1px;
|
||||
}
|
||||
.ui-icon-home {
|
||||
background-position: -575px -1px;
|
||||
}
|
||||
/* search */
|
||||
.ui-icon-search,
|
||||
.ui-icon-searchfield:after {
|
||||
background-position: -611px -1px;
|
||||
}
|
||||
/* checkbox radio */
|
||||
.ui-icon-checkbox-on {
|
||||
background-position: -647px -1px;
|
||||
}
|
||||
.ui-icon-checkbox-off {
|
||||
background-position: -683px -1px;
|
||||
}
|
||||
.ui-icon-radio-on {
|
||||
background-position: -718px -1px;
|
||||
}
|
||||
.ui-icon-radio-off {
|
||||
background-position: -754px -1px;
|
||||
}
|
||||
/* menu edit */
|
||||
.ui-icon-bars {
|
||||
background-position: -788px -1px;
|
||||
}
|
||||
.ui-icon-edit {
|
||||
background-position: -824px -1px;
|
||||
}
|
||||
/* HD/"retina" sprite
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.3),
|
||||
only screen and (min--moz-device-pixel-ratio: 1.3),
|
||||
only screen and (min-resolution: 200dpi) {
|
||||
|
||||
.ui-icon-plus, .ui-icon-minus, .ui-icon-delete, .ui-icon-arrow-r,
|
||||
.ui-icon-arrow-l, .ui-icon-arrow-u, .ui-icon-arrow-d, .ui-icon-check,
|
||||
.ui-icon-gear, .ui-icon-refresh, .ui-icon-forward, .ui-icon-back,
|
||||
.ui-icon-grid, .ui-icon-star, .ui-icon-alert, .ui-icon-info, .ui-icon-home, .ui-icon-bars, .ui-icon-edit,
|
||||
.ui-icon-search, .ui-icon-searchfield:after,
|
||||
.ui-icon-checkbox-off, .ui-icon-checkbox-on, .ui-icon-radio-off, .ui-icon-radio-on {
|
||||
background-image: url(images/icons-36-white.png);
|
||||
-moz-background-size: 864px 18px;
|
||||
-o-background-size: 864px 18px;
|
||||
-webkit-background-size: 864px 18px;
|
||||
background-size: 864px 18px;
|
||||
}
|
||||
.ui-icon-alt .ui-icon {
|
||||
background-image: url(images/icons-36-black.png);
|
||||
}
|
||||
.ui-icon-plus {
|
||||
background-position: 0 50%;
|
||||
}
|
||||
.ui-icon-minus {
|
||||
background-position: -36px 50%;
|
||||
}
|
||||
.ui-icon-delete {
|
||||
background-position: -72px 50%;
|
||||
}
|
||||
.ui-icon-arrow-r {
|
||||
background-position: -108px 50%;
|
||||
}
|
||||
.ui-icon-arrow-l {
|
||||
background-position: -144px 50%;
|
||||
}
|
||||
.ui-icon-arrow-u {
|
||||
background-position: -179px 50%;
|
||||
}
|
||||
.ui-icon-arrow-d {
|
||||
background-position: -215px 50%;
|
||||
}
|
||||
.ui-icon-check {
|
||||
background-position: -252px 50%;
|
||||
}
|
||||
.ui-icon-gear {
|
||||
background-position: -287px 50%;
|
||||
}
|
||||
.ui-icon-refresh {
|
||||
background-position: -323px 50%;
|
||||
}
|
||||
.ui-icon-forward {
|
||||
background-position: -360px 50%;
|
||||
}
|
||||
.ui-icon-back {
|
||||
background-position: -395px 50%;
|
||||
}
|
||||
.ui-icon-grid {
|
||||
background-position: -431px 50%;
|
||||
}
|
||||
.ui-icon-star {
|
||||
background-position: -467px 50%;
|
||||
}
|
||||
.ui-icon-alert {
|
||||
background-position: -503px 50%;
|
||||
}
|
||||
.ui-icon-info {
|
||||
background-position: -538px 50%;
|
||||
}
|
||||
.ui-icon-home {
|
||||
background-position: -575px 50%;
|
||||
}
|
||||
.ui-icon-search,
|
||||
.ui-icon-searchfield:after {
|
||||
background-position: -611px 50%;
|
||||
}
|
||||
.ui-icon-checkbox-on {
|
||||
background-position: -647px 50%;
|
||||
}
|
||||
.ui-icon-checkbox-off {
|
||||
background-position: -683px 50%;
|
||||
}
|
||||
.ui-icon-radio-on {
|
||||
background-position: -718px 50%;
|
||||
}
|
||||
.ui-icon-radio-off {
|
||||
background-position: -754px 50%;
|
||||
}
|
||||
.ui-icon-bars {
|
||||
background-position: -788px 50%;
|
||||
|
||||
}.ui-icon-edit {
|
||||
background-position: -824px 50%;
|
||||
}
|
||||
}
|
||||
/* checks,radios */
|
||||
.ui-checkbox .ui-icon,
|
||||
.ui-selectmenu-list .ui-icon {
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.ui-icon-checkbox-off,
|
||||
.ui-icon-radio-off {
|
||||
background-color: transparent;
|
||||
}
|
||||
.ui-checkbox-on .ui-icon,
|
||||
.ui-radio-on .ui-icon {
|
||||
background-color: #387bbe /*{global-active-background-color}*/; /* NOTE: this hex should match the active state color. It's repeated here for cascade */
|
||||
}
|
||||
/* loading icon */
|
||||
.ui-icon-loading {
|
||||
background: url(images/ajax-loader.gif);
|
||||
background-size: 46px 46px;
|
||||
}
|
||||
/* Button corner class
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-btn-corner-all {
|
||||
-webkit-border-radius: 1em /*{global-radii-buttons}*/;
|
||||
border-radius: 1em /*{global-radii-buttons}*/;
|
||||
}
|
||||
/* radius clip workaround for cleaning up corner trapping */
|
||||
.ui-corner-all,
|
||||
.ui-btn-corner-all {
|
||||
-webkit-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
/* Overlay / modal
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-overlay {
|
||||
background: #666;
|
||||
filter: Alpha(Opacity=50);
|
||||
opacity: .5;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.ui-overlay-shadow {
|
||||
-moz-box-shadow: 0 0 12px rgba(0,0,0,.6);
|
||||
-webkit-box-shadow: 0 0 12px rgba(0,0,0,.6);
|
||||
box-shadow: 0 0 12px rgba(0,0,0,.6);
|
||||
}
|
||||
.ui-shadow {
|
||||
-moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
|
||||
-webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
|
||||
box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/
|
||||
}
|
||||
.ui-bar-a .ui-shadow,
|
||||
.ui-bar-b .ui-shadow ,
|
||||
.ui-bar-c .ui-shadow {
|
||||
-moz-box-shadow: 0 1px 0 rgba(255,255,255,.3);
|
||||
-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3);
|
||||
box-shadow: 0 1px 0 rgba(255,255,255,.3);
|
||||
}
|
||||
.ui-shadow-inset {
|
||||
-moz-box-shadow: inset 0 1px 4px rgba(0,0,0,.2);
|
||||
-webkit-box-shadow: inset 0 1px 4px rgba(0,0,0,.2);
|
||||
box-shadow: inset 0 1px 4px rgba(0,0,0,.2);
|
||||
}
|
||||
.ui-icon-shadow {
|
||||
-moz-box-shadow: 0 1px 0 rgba(255,255,255,.4) /*{global-icon-shadow}*/;
|
||||
-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.4) /*{global-icon-shadow}*/;
|
||||
box-shadow: 0 1px 0 rgba(255,255,255,.4) /*{global-icon-shadow}*/;
|
||||
}
|
||||
/* Focus state - set here for specificity (note: these classes are added by JavaScript)
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-btn:focus, .ui-link-inherit:focus {
|
||||
outline: 0;
|
||||
}
|
||||
.ui-btn.ui-focus {
|
||||
z-index: 1;
|
||||
}
|
||||
.ui-focus,
|
||||
.ui-btn:focus {
|
||||
-moz-box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/;
|
||||
-webkit-box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/;
|
||||
box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/;
|
||||
}
|
||||
.ui-input-text.ui-focus,
|
||||
.ui-input-search.ui-focus {
|
||||
-moz-box-shadow: 0 0 12px #387bbe /*{global-active-background-color}*/;
|
||||
-webkit-box-shadow: 0 0 12px #387bbe /*{global-active-background-color}*/;
|
||||
box-shadow: 0 0 12px #387bbe /*{global-active-background-color}*/;
|
||||
}
|
||||
/* unset box shadow in browsers that don't do it right
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-mobile-nosupport-boxshadow * {
|
||||
-moz-box-shadow: none !important;
|
||||
-webkit-box-shadow: none !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
/* ...and bring back focus */
|
||||
.ui-mobile-nosupport-boxshadow .ui-focus,
|
||||
.ui-mobile-nosupport-boxshadow .ui-btn:focus,
|
||||
.ui-mobile-nosupport-boxshadow .ui-link-inherit:focus {
|
||||
outline-width: 1px;
|
||||
outline-style: auto;
|
||||
}
|
||||
12
Psalmenweb-nieuw/src/main/webapp/resources/css/themes/Psalmenweb.min.css
vendored
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
119
Psalmenweb-nieuw/src/main/webapp/resources/js/prefs.js
Normal file
@@ -0,0 +1,119 @@
|
||||
/**
|
||||
* Manages preferences.
|
||||
*
|
||||
* Preference list:
|
||||
* T = text size, integer
|
||||
* C = color, integer, 1 = white on black, 2 = black on white
|
||||
*/
|
||||
|
||||
|
||||
|
||||
function loadPreferences() {
|
||||
var prefs = docCookies.getItem("psalmenonlineprefs");
|
||||
if (prefs == null) {
|
||||
PREF_TEXTSIZE = parseInt($(".psalmverseheader").css("font-size"));
|
||||
PREF_COLOR = 1;
|
||||
return;
|
||||
}
|
||||
PREF_TEXTSIZE = prefs.split(';')[0];
|
||||
PREF_COLOR = prefs.split(';')[1];
|
||||
|
||||
}
|
||||
|
||||
function setPreferences() {
|
||||
$(".psalmverseheader").css("font-size", PREF_TEXTSIZE);
|
||||
$(".psalmline").css("font-size", PREF_TEXTSIZE);
|
||||
|
||||
if (PREF_COLOR == 2) {
|
||||
$("div[data-role=page]").removeClass("ui-body-a");
|
||||
$("div[data-role=page]").addClass("ui-body-b");
|
||||
}
|
||||
}
|
||||
|
||||
function switchColors() {
|
||||
if (PREF_COLOR == 1) {
|
||||
PREF_COLOR = 2;
|
||||
$("div[data-role=page]").removeClass("ui-body-a");
|
||||
$("div[data-role=page]").addClass("ui-body-b");
|
||||
} else {
|
||||
PREF_COLOR = 1;
|
||||
$("div[data-role=page]").removeClass("ui-body-b");
|
||||
$("div[data-role=page]").addClass("ui-body-a");
|
||||
}
|
||||
savePreferences();
|
||||
}
|
||||
|
||||
function savePreferences() {
|
||||
var prefs = PREF_TEXTSIZE + ";" + PREF_COLOR;
|
||||
docCookies.setItem("psalmenonlineprefs", prefs, Infinity);
|
||||
}
|
||||
|
||||
function bindListeners() {
|
||||
$(document).on("click", "a#bw", switchColors);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*\
|
||||
|*|
|
||||
|*| :: cookies.js ::
|
||||
|*|
|
||||
|*| A complete cookies reader/writer framework with full unicode support.
|
||||
|*|
|
||||
|*| Revision #1 - September 4, 2014
|
||||
|*|
|
||||
|*| https://developer.mozilla.org/en-US/docs/Web/API/document.cookie
|
||||
|*| https://developer.mozilla.org/User:fusionchess
|
||||
|*|
|
||||
|*| This framework is released under the GNU Public License, version 3 or later.
|
||||
|*| http://www.gnu.org/licenses/gpl-3.0-standalone.html
|
||||
|*|
|
||||
|*| Syntaxes:
|
||||
|*|
|
||||
|*| * docCookies.setItem(name, value[, end[, path[, domain[, secure]]]])
|
||||
|*| * docCookies.getItem(name)
|
||||
|*| * docCookies.removeItem(name[, path[, domain]])
|
||||
|*| * docCookies.hasItem(name)
|
||||
|*| * docCookies.keys()
|
||||
|*|
|
||||
\*/
|
||||
|
||||
var docCookies = {
|
||||
getItem: function (sKey) {
|
||||
if (!sKey) { return null; }
|
||||
return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null;
|
||||
},
|
||||
setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) {
|
||||
if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/i.test(sKey)) { return false; }
|
||||
var sExpires = "";
|
||||
if (vEnd) {
|
||||
switch (vEnd.constructor) {
|
||||
case Number:
|
||||
sExpires = vEnd === Infinity ? "; expires=Fri, 31 Dec 9999 23:59:59 GMT" : "; max-age=" + vEnd;
|
||||
break;
|
||||
case String:
|
||||
sExpires = "; expires=" + vEnd;
|
||||
break;
|
||||
case Date:
|
||||
sExpires = "; expires=" + vEnd.toUTCString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
document.cookie = encodeURIComponent(sKey) + "=" + encodeURIComponent(sValue) + sExpires + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "") + (bSecure ? "; secure" : "");
|
||||
return true;
|
||||
},
|
||||
removeItem: function (sKey, sPath, sDomain) {
|
||||
if (!this.hasItem(sKey)) { return false; }
|
||||
document.cookie = encodeURIComponent(sKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "");
|
||||
return true;
|
||||
},
|
||||
hasItem: function (sKey) {
|
||||
if (!sKey) { return false; }
|
||||
return (new RegExp("(?:^|;\\s*)" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(document.cookie);
|
||||
},
|
||||
keys: function () {
|
||||
var aKeys = document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g, "").split(/\s*(?:\=[^;]*)?;\s*/);
|
||||
for (var nLen = aKeys.length, nIdx = 0; nIdx < nLen; nIdx++) { aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); }
|
||||
return aKeys;
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.tenvoorde.psalmenweb;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class PsalmenwebApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
||||
8
Psalmenweb/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Datasource local storage ignored files
|
||||
/../../../../../../:\Development\src\psalmenweb\Psalmenweb\.idea/dataSources/
|
||||
/dataSources.local.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
1
Psalmenweb/.idea/.name
generated
Normal file
@@ -0,0 +1 @@
|
||||
psalmenweb
|
||||
17
Psalmenweb/.idea/Psalmenweb.iml
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="hibernate" name="Hibernate">
|
||||
<configuration>
|
||||
<datasource-map>
|
||||
<unit-entry name="hibernate.cfg.xml" />
|
||||
<unit-entry name="psalmenSessionFactory" />
|
||||
</datasource-map>
|
||||
<naming-strategy-map />
|
||||
<deploymentDescriptor name="hibernate.cfg.xml" url="file://$MODULE_DIR$/src/main/resources/hibernate.cfg.xml" />
|
||||
<deploymentDescriptor name="hibernate.cfg.xml" url="file://$MODULE_DIR$/target/classes/hibernate.cfg.xml" />
|
||||
<deploymentDescriptor name="hibernate.cfg.xml" url="file://$MODULE_DIR$/target/psalmenweb-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/hibernate.cfg.xml" />
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
</module>
|
||||
20
Psalmenweb/.idea/compiler.xml
generated
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="psalmenweb" />
|
||||
<module name="Psalmenweb" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
<component name="JavacSettings">
|
||||
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
|
||||
<module name="Psalmenweb" options="-Xlint:all" />
|
||||
<module name="psalmenweb" options="-Xlint:all" />
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
11
Psalmenweb/.idea/dataSources.xml
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="Bijbel" uuid="702cad85-fe8f-4a21-ace5-62a8c5eefc9d">
|
||||
<driver-ref>mysql.8</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://37.97.221.166:3306</jdbc-url>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
1313
Psalmenweb/.idea/dataSources/702cad85-fe8f-4a21-ace5-62a8c5eefc9d.xml
generated
Normal file
@@ -0,0 +1,2 @@
|
||||
#n:information_schema
|
||||
!<md> [null, 0, null, null, -2147483648, -2147483648]
|
||||
8
Psalmenweb/.idea/encodings.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/java/org/tenvoorde/psalmenweb/dao/BijbelDAO.java" charset="windows-1252" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
||||
20
Psalmenweb/.idea/jarRepositories.xml
generated
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
||||
17
Psalmenweb/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="FrameworkDetectionExcludesConfiguration">
|
||||
<file type="web" url="file://$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_9" default="false" project-jdk-name="11" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
6
Psalmenweb/.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
250
Psalmenweb/pom.xml
Normal file
@@ -0,0 +1,250 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.tenvoorde</groupId>
|
||||
<artifactId>psalmenweb</artifactId>
|
||||
<name>Psalmenweb</name>
|
||||
<packaging>war</packaging>
|
||||
<version>1.0.0-BUILD-SNAPSHOT</version>
|
||||
<properties>
|
||||
<java-version>1.6</java-version>
|
||||
<org.springframework-version>5.2.7.RELEASE</org.springframework-version>
|
||||
<org.aspectj-version>1.6.10</org.aspectj-version>
|
||||
<org.slf4j-version>1.6.6</org.slf4j-version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<!-- Spring -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
<version>${org.springframework-version}</version>
|
||||
<exclusions>
|
||||
<!-- Exclude Commons Logging in favor of SLF4j -->
|
||||
<exclusion>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-webmvc</artifactId>
|
||||
<version>${org.springframework-version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework
|
||||
</groupId>
|
||||
<artifactId>spring-orm</artifactId>
|
||||
<version>${org.springframework-version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cglib</groupId>
|
||||
<artifactId>cglib</artifactId>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
|
||||
<!-- AspectJ -->
|
||||
<dependency>
|
||||
<groupId>org.aspectj</groupId>
|
||||
<artifactId>aspectjrt</artifactId>
|
||||
<version>${org.aspectj-version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Logging -->
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>${org.slf4j-version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
<version>${org.slf4j-version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<version>${org.slf4j-version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<version>1.2.15</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>javax.mail</groupId>
|
||||
<artifactId>mail</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>javax.jms</groupId>
|
||||
<artifactId>jms</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>com.sun.jdmk</groupId>
|
||||
<artifactId>jmxtools</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>com.sun.jmx</groupId>
|
||||
<artifactId>jmxri</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- @Inject -->
|
||||
<dependency>
|
||||
<groupId>javax.inject</groupId>
|
||||
<artifactId>javax.inject</artifactId>
|
||||
<version>1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Servlet -->
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>servlet-api</artifactId>
|
||||
<version>2.5</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet.jsp</groupId>
|
||||
<artifactId>jsp-api</artifactId>
|
||||
<version>2.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax</groupId>
|
||||
<artifactId>javaee-api</artifactId>
|
||||
<version>6.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Test -->
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.7</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-core</artifactId>
|
||||
<version>5.4.21.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-tx</artifactId>
|
||||
<version>3.2.3.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-dbcp</groupId>
|
||||
<artifactId>commons-dbcp</artifactId>
|
||||
<version>1.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>8.0.22</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!-- jsoup HTML parser library @ http://jsoup.org/ -->
|
||||
<groupId>org.jsoup</groupId>
|
||||
<artifactId>jsoup</artifactId>
|
||||
<version>1.7.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-jaxrs</artifactId>
|
||||
<version>1.9.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>jstl</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<!--
|
||||
<plugin>
|
||||
<artifactId>maven-eclipse-plugin</artifactId>
|
||||
<version>2.9</version>
|
||||
<configuration>
|
||||
<additionalProjectnatures>
|
||||
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
|
||||
</additionalProjectnatures>
|
||||
<additionalBuildcommands>
|
||||
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
|
||||
</additionalBuildcommands>
|
||||
<downloadSources>true</downloadSources>
|
||||
<downloadJavadocs>true</downloadJavadocs>
|
||||
</configuration>
|
||||
</plugin>
|
||||
-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>11</source>
|
||||
<target>11</target>
|
||||
<compilerArgument>-Xlint:all</compilerArgument>
|
||||
<showWarnings>true</showWarnings>
|
||||
<showDeprecation>true</showDeprecation>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>1.2.1</version>
|
||||
<configuration>
|
||||
<mainClass>org.test.int1.Main</mainClass>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!--
|
||||
<plugin>
|
||||
<groupId>org.apache.tomcat.maven</groupId>
|
||||
<artifactId>tomcat7-maven-plugin</artifactId>
|
||||
<version>2.1</version>
|
||||
<configuration>
|
||||
<url>http://tenvoorde.org:8080/manager/text</url>
|
||||
<server>tenvoorde</server>
|
||||
<id>tenvoorde</id>
|
||||
<username>maven</username>
|
||||
<password>tomcat</password>
|
||||
</configuration>
|
||||
</plugin>
|
||||
-->
|
||||
|
||||
<plugin>
|
||||
<groupId>org.codehaus.cargo</groupId>
|
||||
<artifactId>cargo-maven2-plugin</artifactId>
|
||||
<version>1.4.19</version>
|
||||
<configuration>
|
||||
<container>
|
||||
<containerId>tomcat8x</containerId>
|
||||
<type>remote</type>
|
||||
</container>
|
||||
<configuration>
|
||||
<type>runtime</type>
|
||||
<properties>
|
||||
<cargo.remote.username>maven</cargo.remote.username>
|
||||
<cargo.remote.password>tomcat</cargo.remote.password>
|
||||
<cargo.remote.uri>http://37.97.221.166:8080/manager/text</cargo.remote.uri>
|
||||
</properties>
|
||||
</configuration>
|
||||
<deployables>
|
||||
<deployable>
|
||||
<groupId>org.tenvoorde</groupId>
|
||||
<artifactId>psalmenweb</artifactId>
|
||||
<type>war</type>
|
||||
</deployable>
|
||||
</deployables>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
12
Psalmenweb/psalmenweb.iml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="hibernate" name="Hibernate">
|
||||
<configuration>
|
||||
<datasource-map />
|
||||
<naming-strategy-map />
|
||||
<deploymentDescriptor name="hibernate.cfg.xml" url="file://$MODULE_DIR$/src/main/resources/hibernate.cfg.xml" />
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
</module>
|
||||
@@ -0,0 +1,98 @@
|
||||
package org.tenvoorde.psalmenweb;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.nodes.Document;
|
||||
import org.jsoup.nodes.Element;
|
||||
import org.jsoup.select.Elements;
|
||||
import org.slf4j.Logger;
|
||||
import org.tenvoorde.psalmenweb.dao.CatechismusDAO;
|
||||
import org.tenvoorde.psalmenweb.domain.CatechismusVraag;
|
||||
|
||||
public class CatechismusParser {
|
||||
|
||||
// @Autowired
|
||||
// private PsalmenDAO dao;
|
||||
|
||||
// public static void main(String[] args) {
|
||||
// dao = new PsalmenDAO();
|
||||
// try {
|
||||
// new PsalmboekParser().parser();
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
public void parser(CatechismusDAO dao, Logger logger) /*throws Exception*/ {
|
||||
|
||||
Document doc;
|
||||
|
||||
for (int vraag = 1; vraag <= 129; vraag++) {
|
||||
doc = retrieveVraag(vraag);
|
||||
int zondag = Integer.parseInt(doc.select("div span a").first().html().split(" ")[1]);
|
||||
//System.out.println(zondag);
|
||||
String tekstVraag = doc.select("div.post-content p i").first().html();
|
||||
String tekstAntwoord = doc.select("div.post-content p").get(1).html();
|
||||
System.out.println("Vraag " + vraag);
|
||||
System.out.println(tekstVraag);
|
||||
System.out.println(tekstAntwoord);
|
||||
CatechismusVraag cv = new CatechismusVraag();
|
||||
cv.setZondag(zondag);
|
||||
cv.setVraag(vraag);
|
||||
cv.setTekstVraag(tekstVraag);
|
||||
cv.setTekstAntwoord(tekstAntwoord);
|
||||
dao.insert(cv);
|
||||
// int versnr = 0;
|
||||
// for (Element p : firstColumn) {
|
||||
// if (isVerse(p)) {
|
||||
// String[] verzen = p.html().split("<br />");
|
||||
// int regel = 0;
|
||||
// for (String vers : verzen) {
|
||||
// if (vers.startsWith("<strong>")) {
|
||||
// versnr++;
|
||||
// System.out.println("Vers " + versnr);
|
||||
// System.out.println();
|
||||
// continue;
|
||||
// }
|
||||
// if (vers.endsWith("</span>")) {
|
||||
// vers = vers.substring(1, vers.length() - 41);
|
||||
// }
|
||||
//
|
||||
// vers = vers.trim();
|
||||
// regel++;
|
||||
// Psalmregel pr = new Psalmregel();
|
||||
// pr.setPsalm(psalm);
|
||||
// pr.setVers(versnr);
|
||||
// pr.setRegel(regel);
|
||||
// pr.setTekst(vers);
|
||||
// logger.info(pr.toString());
|
||||
// dao.insert(pr);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//if ("" == "") break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private boolean isVerse(Element e) {
|
||||
return (e.select("strong").size() > 0);
|
||||
}
|
||||
|
||||
private Document retrieveVraag(int vraag) {
|
||||
Document result = null;
|
||||
|
||||
try {
|
||||
result = Jsoup.connect("http://decatechismus.nl/vraag/" + vraag).get();
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package org.tenvoorde.psalmenweb;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.nodes.Document;
|
||||
import org.jsoup.nodes.Element;
|
||||
import org.jsoup.select.Elements;
|
||||
import org.slf4j.Logger;
|
||||
import org.tenvoorde.psalmenweb.dao.PsalmenDAO;
|
||||
import org.tenvoorde.psalmenweb.domain.Psalmregel;
|
||||
|
||||
public class PsalmboekParser {
|
||||
|
||||
// @Autowired
|
||||
// private PsalmenDAO dao;
|
||||
|
||||
// public static void main(String[] args) {
|
||||
// dao = new PsalmenDAO();
|
||||
// try {
|
||||
// new PsalmboekParser().parser();
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
|
||||
public void parser(PsalmenDAO dao, Logger logger) throws Exception {
|
||||
|
||||
Document doc;
|
||||
|
||||
for (int psalm = 1; psalm <= 150; psalm++) {
|
||||
doc = retrieveChapter(psalm);
|
||||
Elements firstColumn = doc.select("table tbody tr td table tbody tr td table tbody tr td p");
|
||||
int versnr = 0;
|
||||
for (Element p : firstColumn) {
|
||||
if (isVerse(p)) {
|
||||
String[] verzen = p.html().split("<br />");
|
||||
int regel = 0;
|
||||
for (String vers : verzen) {
|
||||
if (vers.startsWith("<strong>")) {
|
||||
versnr++;
|
||||
System.out.println("Vers " + versnr);
|
||||
System.out.println();
|
||||
continue;
|
||||
}
|
||||
if (vers.endsWith("</span>")) {
|
||||
vers = vers.substring(1, vers.length() - 41);
|
||||
}
|
||||
|
||||
vers = vers.trim();
|
||||
regel++;
|
||||
Psalmregel pr = new Psalmregel();
|
||||
pr.setPsalm(psalm);
|
||||
pr.setVers(versnr);
|
||||
pr.setRegel(regel);
|
||||
pr.setTekst(vers);
|
||||
logger.info(pr.toString());
|
||||
dao.insert(pr);
|
||||
}
|
||||
}
|
||||
}
|
||||
//if ("" == "") break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private boolean isVerse(Element e) {
|
||||
return (e.select("strong").size() > 0);
|
||||
}
|
||||
|
||||
private Document retrieveChapter(int psalm) throws IOException {
|
||||
Document result;
|
||||
result = Jsoup.connect(
|
||||
"http://www.psalmboek.nl/psalmen.php?psID=" + psalm).get();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
package org.tenvoorde.psalmenweb.controllers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.ServletRequest;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.tenvoorde.psalmenweb.dao.BijbelDAO;
|
||||
import org.tenvoorde.psalmenweb.domain.BijbelBoek;
|
||||
import org.tenvoorde.psalmenweb.domain.Bijbelvers;
|
||||
|
||||
@Controller
|
||||
public class BijbelController {
|
||||
|
||||
// private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
|
||||
|
||||
@Autowired
|
||||
private BijbelDAO bijbelDAO;
|
||||
|
||||
@RequestMapping(value = "/bijbel", method = RequestMethod.GET)
|
||||
public String bijbel(
|
||||
@RequestParam(value="t", required = true) Integer vertaling,
|
||||
@RequestParam(value="b", required = true) Integer boek,
|
||||
@RequestParam(value="h", required = true) Integer hoofdstuk,
|
||||
Model model, ServletRequest req) {
|
||||
|
||||
if (vertaling == null) {
|
||||
vertaling = 1;
|
||||
}
|
||||
if (boek == null) {
|
||||
boek = 0;
|
||||
}
|
||||
if (hoofdstuk == null) {
|
||||
hoofdstuk = 1;
|
||||
}
|
||||
|
||||
model.addAttribute("vertaling", bijbelDAO.getVertaling(vertaling));
|
||||
model.addAttribute("boek", bijbelDAO.getBoek(boek));
|
||||
model.addAttribute("hoofdstuk", hoofdstuk);
|
||||
model.addAttribute("linkvorige", linkVorigHoofdstuk(vertaling, boek, hoofdstuk));
|
||||
model.addAttribute("linkvolgende", linkVolgendHoofdstuk(vertaling, boek, hoofdstuk));
|
||||
model.addAttribute("linkvertaling", genereerLinkNaarHoofdstuk((vertaling == 1 ? 2 : 1), boek, hoofdstuk));
|
||||
|
||||
List<Bijbelvers> verzen = bijbelDAO.getHoofdstuk(vertaling, boek, hoofdstuk);
|
||||
model.addAttribute("verzen", verzen);
|
||||
return "bijbel";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/bijbelindex", method = RequestMethod.GET)
|
||||
public String bijbelIndex(
|
||||
@RequestParam(value="t", required = true) Integer vertaling,
|
||||
Model model, ServletRequest req) {
|
||||
|
||||
model.addAttribute("letters", new String[] {
|
||||
"1", "2", "3", "A", "D", "E", "F", "G", "H", "J",
|
||||
"K", "L", "M", "N", "O", "P", "R", "S", "T", "Z"
|
||||
});
|
||||
model.addAttribute("vertaling", bijbelDAO.getVertaling(vertaling));
|
||||
return "bijbelindex";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/bijbelindexboeken", method = RequestMethod.GET)
|
||||
public String bijbelIndexBoeken(
|
||||
@RequestParam(value="start", required = true) String startsWith,
|
||||
@RequestParam(value="t", required = true) Integer vertaling,
|
||||
Model model, ServletRequest req) {
|
||||
|
||||
List<BijbelBoek> boeken = bijbelDAO.getBoekenStartsWith(startsWith);
|
||||
|
||||
if (boeken.size() == 1) {
|
||||
return "redirect:http://psalmenonline.nl/bijbelindexchapter?boek=" + boeken.get(0).getId() + "&t=" + vertaling;
|
||||
}
|
||||
|
||||
model.addAttribute("boeken", boeken);
|
||||
model.addAttribute("vertaling", bijbelDAO.getVertaling(vertaling));
|
||||
return "bijbelindexboeken";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/bijbelindexchapter", method = RequestMethod.GET)
|
||||
public String bijbelIndexHoofdstuk(
|
||||
@RequestParam(value="boek", required = true) Integer boek,
|
||||
@RequestParam(value="t", required = true) Integer vertaling,
|
||||
Model model, ServletRequest req) {
|
||||
|
||||
BijbelBoek bijbelboek = bijbelDAO.getBoek(boek);
|
||||
|
||||
if (bijbelboek.getHoofdstukken() == 1) {
|
||||
return "redirect:http://psalmenonline.nl/bijbel?t=" + vertaling + "&b=" + boek + "&h=1";
|
||||
}
|
||||
|
||||
model.addAttribute("boek", bijbelboek);
|
||||
model.addAttribute("vertaling", bijbelDAO.getVertaling(vertaling));
|
||||
return "bijbelindexchapter";
|
||||
}
|
||||
|
||||
|
||||
private String linkVorigHoofdstuk(int vertaling, int boek, int hoofdstuk) {
|
||||
if (hoofdstuk > 1) {
|
||||
hoofdstuk--;
|
||||
} else {
|
||||
if (boek == 0) {
|
||||
return "#";
|
||||
} else {
|
||||
boek--;
|
||||
hoofdstuk = bijbelDAO.getAantalHoofdstukkenInBoek(boek);
|
||||
}
|
||||
}
|
||||
|
||||
return genereerLinkNaarHoofdstuk(vertaling, boek, hoofdstuk);
|
||||
}
|
||||
|
||||
private String linkVolgendHoofdstuk(int vertaling, int boek, int hoofdstuk) {
|
||||
if (hoofdstuk < bijbelDAO.getAantalHoofdstukkenInBoek(boek)) {
|
||||
hoofdstuk++;
|
||||
} else {
|
||||
if (boek == 65) {
|
||||
return "#";
|
||||
} else {
|
||||
boek++;
|
||||
hoofdstuk = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return genereerLinkNaarHoofdstuk(vertaling, boek, hoofdstuk);
|
||||
}
|
||||
|
||||
private String genereerLinkNaarHoofdstuk(int vertaling, int boek, int hoofdstuk) {
|
||||
return "bijbel?t=" + vertaling + "&b=" + boek + "&h=" + hoofdstuk;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package org.tenvoorde.psalmenweb.controllers;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.tenvoorde.psalmenweb.dao.CatechismusDAO;
|
||||
import org.tenvoorde.psalmenweb.domain.CatechismusVraag;
|
||||
|
||||
@Controller
|
||||
public class CatechismusController {
|
||||
|
||||
//private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
|
||||
|
||||
@Autowired
|
||||
private CatechismusDAO catechismusDao;
|
||||
|
||||
@RequestMapping(value = "/hc", method = RequestMethod.GET)
|
||||
public String catechismus(@RequestParam(value="z", required = false) Integer hc, Locale locale, Model model) {
|
||||
|
||||
//new CatechismusParser().parser(catechismusDao, logger);
|
||||
//if (true) return "";
|
||||
if (hc == null) {
|
||||
hc = 1;
|
||||
}
|
||||
model.addAttribute("hc", hc);
|
||||
|
||||
List<CatechismusVraag> zondag = catechismusDao.getZondag(hc);
|
||||
|
||||
model.addAttribute("zondag", zondag);
|
||||
|
||||
return "hc";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/hcindex", method = RequestMethod.GET)
|
||||
public String hcIndex() {
|
||||
return "hcindex";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package org.tenvoorde.psalmenweb.controllers;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
|
||||
@Controller
|
||||
public class HomeController {
|
||||
|
||||
@RequestMapping(value = "/", method = RequestMethod.GET)
|
||||
public String index() {
|
||||
return "index";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/info", method = RequestMethod.GET)
|
||||
public String info() {
|
||||
return "info";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package org.tenvoorde.psalmenweb.controllers;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.tenvoorde.psalmenweb.dao.PsalmenDAO;
|
||||
import org.tenvoorde.psalmenweb.domain.Psalmregel;
|
||||
|
||||
@Controller
|
||||
public class PsalmenController {
|
||||
|
||||
// private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
|
||||
|
||||
@Autowired
|
||||
private PsalmenDAO psalmenDao;
|
||||
|
||||
@RequestMapping(value = "/psalm", method = RequestMethod.GET)
|
||||
public String psalm(@RequestParam(value="p", required = false) Integer psalm, @RequestParam(value="v", required = false) Integer vers, Locale locale, Model model) {
|
||||
// try {
|
||||
// //new PsalmboekParser().parser(dao, logger);
|
||||
// } catch (Exception e) {
|
||||
// }
|
||||
if (psalm == null) {
|
||||
psalm = 1;
|
||||
}
|
||||
model.addAttribute("psalm", psalm);
|
||||
model.addAttribute("vers", vers);
|
||||
|
||||
List<Psalmregel> psalmRegels = psalmenDao.getPsalm(psalm);
|
||||
|
||||
model.addAttribute("psalmRegels", psalmRegels);
|
||||
|
||||
return "psalm";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/psalmindex", method = RequestMethod.GET)
|
||||
public String psalmIndex() {
|
||||
return "psalmindex";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/psalmcheck", method = RequestMethod.GET)
|
||||
public @ResponseBody Boolean checkPsalmVerseExists(
|
||||
@RequestParam(value="p", required = true) Integer psalm,
|
||||
@RequestParam(value="v", required = true) Integer vers) {
|
||||
|
||||
int verzen = psalmenDao.getPsalmVerseCount(psalm);
|
||||
if (vers > verzen) {
|
||||
return Boolean.FALSE;
|
||||
} else {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,147 @@
|
||||
package org.tenvoorde.psalmenweb.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.tenvoorde.psalmenweb.domain.BijbelBoek;
|
||||
import org.tenvoorde.psalmenweb.domain.Bijbelvers;
|
||||
import org.tenvoorde.psalmenweb.domain.Vertaling;
|
||||
|
||||
@Repository
|
||||
public class BijbelDAO {
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
private Session openSession() {
|
||||
return sessionFactory.getCurrentSession();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
public List<Bijbelvers> getHoofdstuk(int vertaling, int boek, int hoofdstuk) {
|
||||
String hql = "SELECT * FROM VERS v"
|
||||
+ " WHERE v.VERTALING_ID = " + vertaling
|
||||
+ " AND v.BOEK_ID = " + boek
|
||||
+ " AND v.HOOFDSTUK = " + hoofdstuk;
|
||||
|
||||
Query query = openSession().createSQLQuery(hql);
|
||||
List results = query.list();
|
||||
|
||||
List<Bijbelvers> verzen = new ArrayList<Bijbelvers>();
|
||||
|
||||
for (Object[] result : (List<Object[]>)results) {
|
||||
Bijbelvers bv = new Bijbelvers();
|
||||
bv.setVertaling((Integer) result[1]);
|
||||
bv.setBoek((Integer) result[2]);
|
||||
bv.setHoofdstuk((Integer) result[3]);
|
||||
bv.setVers((Integer) result[4]);
|
||||
|
||||
String tekst = (String) result[5];
|
||||
if (tekst.indexOf("\u8211") > 0) {
|
||||
System.out.println(boek + " " + hoofdstuk);
|
||||
}
|
||||
tekst = tekst.replace("\u8211", "-");
|
||||
bv.setTekst(tekst);
|
||||
verzen.add(bv);
|
||||
}
|
||||
return verzen;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
public List<BijbelBoek> getBoekenStartsWith(String start) {
|
||||
String hql = "SELECT * FROM BOEK b"
|
||||
+ " WHERE b.AFKORTING LIKE '" + start + "%'";
|
||||
|
||||
Query query = openSession().createSQLQuery(hql);
|
||||
List results = query.list();
|
||||
|
||||
List<BijbelBoek> boeken = new ArrayList<BijbelBoek>();
|
||||
|
||||
for (Object[] result : (List<Object[]>)results) {
|
||||
BijbelBoek b = new BijbelBoek();
|
||||
b.setId((Integer) result[0]);
|
||||
b.setBoek((String) result[1]);
|
||||
b.setAfkorting((String) result[2]);
|
||||
b.setHoofdstukken((Integer) result[3]);
|
||||
|
||||
boeken.add(b);
|
||||
}
|
||||
|
||||
return boeken;
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
@SuppressWarnings({ "rawtypes" })
|
||||
public Vertaling getVertaling(int vertaling) {
|
||||
String hql = "SELECT * FROM VERTALING v"
|
||||
+ " WHERE v.ID = " + vertaling;
|
||||
|
||||
Query query = openSession().createSQLQuery(hql);
|
||||
List results = query.list();
|
||||
Object[] r = (Object[]) results.get(0);
|
||||
|
||||
Vertaling v = new Vertaling();
|
||||
v.setId((Integer) r[0]);
|
||||
v.setVertaling((String) r[1]);
|
||||
v.setAfkorting((String) r[2]);
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@SuppressWarnings({ "rawtypes" })
|
||||
public BijbelBoek getBoek(int boek) {
|
||||
String hql = "SELECT * FROM BOEK b"
|
||||
+ " WHERE b.ID = " + boek;
|
||||
|
||||
Query query = openSession().createSQLQuery(hql);
|
||||
List results = query.list();
|
||||
Object[] r = (Object[]) results.get(0);
|
||||
|
||||
BijbelBoek b = new BijbelBoek();
|
||||
b.setId((Integer) r[0]);
|
||||
b.setBoek((String) r[1]);
|
||||
b.setAfkorting((String) r[2]);
|
||||
b.setHoofdstukken((Integer) r[3]);
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@SuppressWarnings({ "rawtypes" })
|
||||
public String getBoek(String boek) {
|
||||
String hql = "SELECT BOEK FROM BOEK b"
|
||||
+ " WHERE b.AFKORTING = '" + boek + "'";
|
||||
|
||||
Query query = openSession().createSQLQuery(hql);
|
||||
List results = query.list();
|
||||
|
||||
String result = (String) (results.get(0));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
@Transactional
|
||||
public Integer getAantalHoofdstukkenInBoek(int boek) {
|
||||
String hql = "SELECT HOOFDSTUKKEN FROM BOEK b"
|
||||
+ " WHERE b.ID = " + boek;
|
||||
|
||||
Query query = openSession().createSQLQuery(hql);
|
||||
List results = query.list();
|
||||
|
||||
Integer result = (Integer) (results.get(0));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package org.tenvoorde.psalmenweb.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.tenvoorde.psalmenweb.domain.CatechismusVraag;
|
||||
|
||||
@Repository
|
||||
public class CatechismusDAO {
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
private Session openSession() {
|
||||
return sessionFactory.getCurrentSession();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
public List<CatechismusVraag> getZondag(int hc) {
|
||||
String hql = "SELECT * FROM CATECHISMUS hc WHERE hc.ZONDAG = " + hc;
|
||||
Query query = openSession().createSQLQuery(hql);
|
||||
List results = query.list();
|
||||
|
||||
List<CatechismusVraag> zondag = new ArrayList<CatechismusVraag>();
|
||||
|
||||
for (Object[] result : (List<Object[]>)results) {
|
||||
CatechismusVraag cv = new CatechismusVraag();
|
||||
cv.setZondag((Integer) result[1]);
|
||||
cv.setVraag((Integer) result[2]);
|
||||
cv.setTekstVraag((String) result[3]);
|
||||
cv.setTekstAntwoord((String) result[4]);
|
||||
zondag.add(cv);
|
||||
}
|
||||
return zondag;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void insert(CatechismusVraag cv) {
|
||||
openSession().save(cv);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package org.tenvoorde.psalmenweb.dao;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.tenvoorde.psalmenweb.domain.Psalmregel;
|
||||
|
||||
@Repository
|
||||
public class PsalmenDAO {
|
||||
|
||||
private static int[] psalmVerseCount;
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
private Session openSession() {
|
||||
return sessionFactory.getCurrentSession();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
public List<Psalmregel> getPsalm(int psalm) {
|
||||
String hql = "SELECT * FROM PSALMREGEL p WHERE p.PSALM = " + psalm;
|
||||
Query query = openSession().createSQLQuery(hql);
|
||||
List results = query.list();
|
||||
|
||||
List<Psalmregel> psalmRegels = new ArrayList<Psalmregel>();
|
||||
|
||||
for (Object[] result : (List<Object[]>)results) {
|
||||
Psalmregel p = new Psalmregel();
|
||||
p.setPsalm((Integer) result[1]);
|
||||
p.setVers((Integer) result[2]);
|
||||
p.setRegel((Integer) result[3]);
|
||||
p.setTekst((String) result[4]);
|
||||
psalmRegels.add(p);
|
||||
}
|
||||
return psalmRegels;
|
||||
}
|
||||
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
@Transactional
|
||||
public int getPsalmVerseCount(int psalm) {
|
||||
if (PsalmenDAO.psalmVerseCount == null) {
|
||||
String hql = "SELECT COUNT(DISTINCT VERS) FROM PSALMREGEL p GROUP BY PSALM";
|
||||
Query query = openSession().createSQLQuery(hql);
|
||||
List results = query.list();
|
||||
|
||||
psalmVerseCount = new int[150];
|
||||
int psalmIndex = 0;
|
||||
for (BigInteger result : (List<BigInteger>) results) {
|
||||
psalmVerseCount[psalmIndex++] = result.intValue();
|
||||
}
|
||||
}
|
||||
|
||||
return PsalmenDAO.psalmVerseCount[psalm - 1];
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void insert(Psalmregel p) {
|
||||
openSession().save(p);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
public class BijbelBoek {
|
||||
|
||||
private int id;
|
||||
private String boek;
|
||||
private String afkorting;
|
||||
private int hoofdstukken;
|
||||
|
||||
public BijbelBoek(int id, String boek, String afkorting, int hoofdstukken) {
|
||||
super();
|
||||
this.id = id;
|
||||
this.boek = boek;
|
||||
this.afkorting = afkorting;
|
||||
this.hoofdstukken = hoofdstukken;
|
||||
}
|
||||
|
||||
public BijbelBoek() {
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getBoek() {
|
||||
return boek;
|
||||
}
|
||||
public void setBoek(String boek) {
|
||||
this.boek = boek;
|
||||
}
|
||||
public String getAfkorting() {
|
||||
return afkorting;
|
||||
}
|
||||
public void setAfkorting(String afkorting) {
|
||||
this.afkorting = afkorting;
|
||||
}
|
||||
public int getHoofdstukken() {
|
||||
return hoofdstukken;
|
||||
}
|
||||
public void setHoofdstukken(int hoofdstukken) {
|
||||
this.hoofdstukken = hoofdstukken;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
@Entity
|
||||
@Table(name = "VERS")
|
||||
public class Bijbelvers implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4765101556890177766L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "ID")
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "VERTALING_ID")
|
||||
private Integer vertaling;
|
||||
|
||||
@Column(name = "BOEK_ID")
|
||||
private Integer boek;
|
||||
|
||||
@Column(name = "HOOFDSTUK")
|
||||
private Integer hoofdstuk;
|
||||
|
||||
@Column(name = "VERS")
|
||||
private Integer vers;
|
||||
|
||||
@Column(name = "TEKST")
|
||||
private String tekst;
|
||||
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
|
||||
public Integer getVertaling() {
|
||||
return vertaling;
|
||||
}
|
||||
|
||||
|
||||
public void setVertaling(Integer vertaling) {
|
||||
this.vertaling = vertaling;
|
||||
}
|
||||
|
||||
|
||||
public Integer getBoek() {
|
||||
return boek;
|
||||
}
|
||||
|
||||
|
||||
public void setBoek(Integer boek) {
|
||||
this.boek = boek;
|
||||
}
|
||||
|
||||
|
||||
public Integer getHoofdstuk() {
|
||||
return hoofdstuk;
|
||||
}
|
||||
|
||||
|
||||
public void setHoofdstuk(Integer hoofdstuk) {
|
||||
this.hoofdstuk = hoofdstuk;
|
||||
}
|
||||
|
||||
|
||||
public Integer getVers() {
|
||||
return vers;
|
||||
}
|
||||
|
||||
|
||||
public void setVers(Integer vers) {
|
||||
this.vers = vers;
|
||||
}
|
||||
|
||||
|
||||
public String getTekst() {
|
||||
return tekst;
|
||||
}
|
||||
|
||||
|
||||
public void setTekst(String tekst) {
|
||||
this.tekst = tekst;
|
||||
}
|
||||
|
||||
|
||||
// public String toString() {
|
||||
// return
|
||||
// + " Vers " + this.vers
|
||||
// + " Regel " + this.regel
|
||||
// + " = " + this.tekst;
|
||||
// }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
@Entity
|
||||
@Table(name = "CATECHISMUS")
|
||||
public class CatechismusVraag implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4234966319088621876L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "ID")
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "ZONDAG")
|
||||
private Integer zondag;
|
||||
|
||||
@Column(name = "VRAAG")
|
||||
private Integer vraag;
|
||||
|
||||
@Column(name = "TEKST_VRAAG")
|
||||
private String tekstVraag;
|
||||
|
||||
@Column(name = "TEKST_ANTWOORD")
|
||||
private String tekstAntwoord;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Integer getZondag() {
|
||||
return zondag;
|
||||
}
|
||||
|
||||
public void setZondag(Integer zondag) {
|
||||
this.zondag = zondag;
|
||||
}
|
||||
|
||||
public Integer getVraag() {
|
||||
return vraag;
|
||||
}
|
||||
|
||||
public void setVraag(Integer vraag) {
|
||||
this.vraag = vraag;
|
||||
}
|
||||
|
||||
public String getTekstVraag() {
|
||||
return tekstVraag;
|
||||
}
|
||||
|
||||
public void setTekstVraag(String tekstVraag) {
|
||||
this.tekstVraag = tekstVraag;
|
||||
}
|
||||
|
||||
public String getTekstAntwoord() {
|
||||
return tekstAntwoord;
|
||||
}
|
||||
|
||||
public void setTekstAntwoord(String tekstAntwoord) {
|
||||
this.tekstAntwoord = tekstAntwoord;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CatechismusVraag [id=" + id + ", zondag=" + zondag + ", vraag="
|
||||
+ vraag + ", tekstVraag=" + tekstVraag + ", tekstAntwoord="
|
||||
+ tekstAntwoord + "]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
@Entity
|
||||
@Table(name = "PSALMREGEL")
|
||||
public class Psalmregel implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4765101556890177766L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "ID")
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "PSALM")
|
||||
private Integer psalm;
|
||||
|
||||
@Column(name = "VERS")
|
||||
private Integer vers;
|
||||
|
||||
@Column(name = "REGEL")
|
||||
private Integer regel;
|
||||
|
||||
@Column(name = "TEKST")
|
||||
private String tekst;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Integer getPsalm() {
|
||||
return psalm;
|
||||
}
|
||||
|
||||
public void setPsalm(Integer psalm) {
|
||||
this.psalm = psalm;
|
||||
}
|
||||
|
||||
public Integer getVers() {
|
||||
return vers;
|
||||
}
|
||||
|
||||
public void setVers(Integer vers) {
|
||||
this.vers = vers;
|
||||
}
|
||||
|
||||
public Integer getRegel() {
|
||||
return regel;
|
||||
}
|
||||
|
||||
public void setRegel(Integer regel) {
|
||||
this.regel = regel;
|
||||
}
|
||||
|
||||
public String getTekst() {
|
||||
return tekst;
|
||||
}
|
||||
|
||||
public void setTekst(String tekst) {
|
||||
this.tekst = tekst;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Psalm " + this.psalm
|
||||
+ " Vers " + this.vers
|
||||
+ " Regel " + this.regel
|
||||
+ " = " + this.tekst;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package org.tenvoorde.psalmenweb.domain;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@Entity
|
||||
@Table(name = "VERTALING", schema = "bijbel")
|
||||
public class Vertaling {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "ID")
|
||||
private int id;
|
||||
|
||||
@Column(name = "VERTALING")
|
||||
private String vertaling;
|
||||
|
||||
@Column(name = "AFKORTING")
|
||||
private String afkorting;
|
||||
|
||||
public Vertaling() {
|
||||
super();
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getVertaling() {
|
||||
return vertaling;
|
||||
}
|
||||
|
||||
public void setVertaling(String vertaling) {
|
||||
this.vertaling = vertaling;
|
||||
}
|
||||
|
||||
public String getAfkorting() {
|
||||
return afkorting;
|
||||
}
|
||||
|
||||
public void setAfkorting(String afkorting) {
|
||||
this.afkorting = afkorting;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
BIN
Psalmenweb/src/main/resources/C.psd
Normal file
15
Psalmenweb/src/main/resources/hibernate.cfg.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE hibernate-configuration PUBLIC
|
||||
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
|
||||
<hibernate-configuration>
|
||||
<session-factory>
|
||||
<property name="hibernate.bytecode.use_reflection_optimizer">false</property>
|
||||
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
|
||||
<property name="hibernate.connection.url">jdbc:mysql://37.97.221.166:3306/psalmenweb?characterEncoding=utf8&useUnicode=true</property>
|
||||
<property name="hibernate.connection.username">psalmenweb</property>
|
||||
<property name="hibernate.connection.password">OhWSsRxCOM4pXiiQ</property>
|
||||
<property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
|
||||
<property name="show_sql">true</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
41
Psalmenweb/src/main/resources/log4j.xml
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
|
||||
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
|
||||
|
||||
<!-- Appenders -->
|
||||
<appender name="console" class="org.apache.log4j.ConsoleAppender">
|
||||
<param name="Target" value="System.out" />
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<!-- Application Loggers -->
|
||||
<logger name="org.tenvoorde.psalmenweb">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<!-- 3rdparty Loggers -->
|
||||
<logger name="org.springframework.core">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.beans">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.context">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.web">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<!-- Root Logger -->
|
||||
<root>
|
||||
<priority value="warn" />
|
||||
<appender-ref ref="console" />
|
||||
</root>
|
||||
|
||||
</log4j:configuration>
|
||||
@@ -0,0 +1,11 @@
|
||||
################### JDBC Configuration ##########################
|
||||
jdbc.driverClassName=com.mysql.jdbc.Driver
|
||||
jdbc.url=jdbc:mysql://tenvoorde.org:3306/psalmenweb
|
||||
jdbc.username=psalmenonline
|
||||
jdbc.password=zMhMipovKFgc1m8n
|
||||
|
||||
################### Hibernate Configuration ##########################
|
||||
hibernate.dialect=org.hibernate.dialect.MySQLDialect
|
||||
hibernate.show_sql=true
|
||||
hibernate.hbm2ddl.auto=update
|
||||
hibernate.generate_statistics=true
|
||||
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
|
||||
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
|
||||
|
||||
<!-- DispatcherServlet Context: defines this servlet's request-processing
|
||||
infrastructure -->
|
||||
|
||||
<!-- Enables the Spring MVC @Controller programming model -->
|
||||
<annotation-driven />
|
||||
|
||||
<!-- Handles HTTP GET requests for /resources/** by efficiently serving
|
||||
up static resources in the ${webappRoot}/resources directory -->
|
||||
<resources mapping="/resources/**" location="/resources/" />
|
||||
|
||||
|
||||
|
||||
<!-- Resolves views selected for rendering by @Controllers to .jsp resources
|
||||
in the /WEB-INF/views directory -->
|
||||
<beans:bean
|
||||
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
|
||||
<beans:property name="prefix" value="/WEB-INF/views/" />
|
||||
<beans:property name="suffix" value=".jsp" />
|
||||
</beans:bean>
|
||||
|
||||
<context:component-scan base-package="org.tenvoorde.psalmenweb" />
|
||||
|
||||
<!-- JDBC Data Source. It is assumed you have MySQL running on localhost
|
||||
port 3306 with username root and blank password. Change below if it's not
|
||||
the case -->
|
||||
<beans:bean id="psalmenDataSource" class="org.apache.commons.dbcp.BasicDataSource"
|
||||
destroy-method="close">
|
||||
<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
|
||||
<beans:property name="url"
|
||||
value="jdbc:mysql://tenvoorde.org:3306/psalmenweb" />
|
||||
<beans:property name="username" value="psalmenonline" />
|
||||
<beans:property name="password" value="zMhMipovKFgc1m8n" />
|
||||
<beans:property name="validationQuery" value="SELECT 1" />
|
||||
</beans:bean>
|
||||
|
||||
<!-- Hibernate Session Factory -->
|
||||
<beans:bean id="psalmenSessionFactory"
|
||||
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
|
||||
<beans:property name="dataSource" ref="psalmenDataSource" />
|
||||
<beans:property name="annotatedClasses">
|
||||
<beans:list>
|
||||
<beans:value>org.tenvoorde.psalmenweb.domain.Psalmregel</beans:value>
|
||||
<beans:value>org.tenvoorde.psalmenweb.domain.CatechismusVraag</beans:value>
|
||||
</beans:list>
|
||||
</beans:property>
|
||||
<beans:property name="packagesToScan">
|
||||
<beans:array>
|
||||
<beans:value>org.tenvoorde.psalmenweb.dao</beans:value>
|
||||
</beans:array>
|
||||
</beans:property>
|
||||
<beans:property name="hibernateProperties">
|
||||
<beans:value>
|
||||
hibernate.dialect=org.hibernate.dialect.MySQLDialect
|
||||
</beans:value>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
|
||||
<!-- Hibernate Transaction Manager -->
|
||||
<beans:bean id="transactionManager"
|
||||
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
|
||||
<beans:property name="sessionFactory" ref="psalmenSessionFactory" />
|
||||
</beans:bean>
|
||||
|
||||
<!-- Activates annotation based transaction management -->
|
||||
<tx:annotation-driven transaction-manager="transactionManager" />
|
||||
|
||||
</beans:beans>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||
|
||||
<!-- Root Context: defines shared resources visible to all other web components -->
|
||||
|
||||
|
||||
</beans>
|
||||
125
Psalmenweb/src/main/webapp/WEB-INF/views/bijbel.jsp
Normal file
@@ -0,0 +1,125 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>${boek.boek} <c:if test="${boek.hoofdstukken > 1}">${hoofdstuk} </c:if>(${vertaling.afkorting})</title>
|
||||
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
|
||||
|
||||
<link rel="stylesheet"
|
||||
href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/themes/Psalmenweb.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/psalmenweb.css" />
|
||||
|
||||
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script>
|
||||
<script src="resources/js/prefs.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" data-theme="a">
|
||||
<div data-role="header" data-position="fixed" id="psalmhoofd">
|
||||
<div class="psalmheader">${boek.boek} <c:if test="${boek.hoofdstukken > 1}">${hoofdstuk} </c:if>(${vertaling.afkorting})</div>
|
||||
<a data-inline="true" data-icon="custom" data-iconpos="notext" id="bw" data-ajax="false" class="ui-btn-right" style="margin-right:350px;"></a>
|
||||
<a href="hcindex" data-inline="true" data-icon="custom" data-iconpos="notext" id="hc" data-ajax="false" class="ui-btn-right" style="margin-right:250px;"></a>
|
||||
<c:choose>
|
||||
<c:when test="${vertaling.id == 1}">
|
||||
<a href="${linkvertaling}" data-inline="true" data-icon="custom" data-iconpos="notext" id="sv" data-ajax="false" class="ui-btn-right" style="margin-right:150px;"></a>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<a href="${linkvertaling}" data-inline="true" data-icon="custom" data-iconpos="notext" id="hsv" data-ajax="false" class="ui-btn-right" style="margin-right:150px;"></a>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<a href="psalmindex" data-inline="true" data-icon="custom" data-iconpos="notext" id="note" data-ajax="false" class="ui-btn-right" style="margin-right:50px;"></a>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
<br /> <br />
|
||||
<c:forEach items="${verzen}" var="vers"
|
||||
varStatus="varstatus">
|
||||
<p class="psalmline"><span class="bijbelvers">${vers.vers}</span> ${vers.tekst}</p>
|
||||
</c:forEach>
|
||||
|
||||
<br />
|
||||
</div>
|
||||
<div data-role="footer" class="bigbuttons">
|
||||
<div data-role="navbar" data-position="fixed" class="bigbuttons" data-grid="d">
|
||||
<ul>
|
||||
<li><a href="${linkvorige}" id="left" data-icon="custom" data-ajax="false"> </a></li>
|
||||
<li><a href="#" id="minus" data-icon="custom"> </a></li>
|
||||
<li><a href="bijbelindex?t=${vertaling.id}" id="index" data-icon="custom" data-ajax="false" data-transition="pop"> </a></li>
|
||||
<li><a href="#" id="plus" data-icon="custom"> </a></li>
|
||||
<li><a href="${linkvolgende}" id="right" data-icon="custom" data-ajax="false"> </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var PREF_TEXTSIZE;
|
||||
var PREF_COLOR;
|
||||
|
||||
$(function() {
|
||||
loadPreferences();
|
||||
setPreferences();
|
||||
bindListeners();
|
||||
});
|
||||
|
||||
function changeTextSize(delta) {
|
||||
var size = parseInt($(".psalmverseheader").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".psalmverseheader").css("font-size", cssSize);
|
||||
|
||||
size = parseInt($(".psalmline").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".psalmline").css("font-size", cssSize);
|
||||
|
||||
PREF_TEXTSIZE = size + delta;
|
||||
savePreferences();
|
||||
}
|
||||
|
||||
$(document).on('pageinit', function() {
|
||||
$(document).on("click", "#minus", function(e) {
|
||||
changeTextSize(-2);
|
||||
});
|
||||
|
||||
$(document).on("click", "#plus", function(e) {
|
||||
changeTextSize(2);
|
||||
});
|
||||
|
||||
if ($("#left").attr("href") == "#") {
|
||||
$("#left span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
|
||||
if ($("#right").attr("href") == "#") {
|
||||
$("#right span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// function goToVerse(immediately) {
|
||||
// if ("${vers}" != "") {
|
||||
// var target = $("#v${vers}").get(0).offsetTop;
|
||||
//
|
||||
// if (target !== undefined) {
|
||||
// if (immediately) {
|
||||
// $.mobile.silentScroll(target);
|
||||
// } else {
|
||||
// setTimeout(function(){$.mobile.silentScroll(target);}, 100); // scroll after 1 sec
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// $(document).on('pageshow', function(){
|
||||
//goToVerse(false);
|
||||
// });
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
46
Psalmenweb/src/main/webapp/WEB-INF/views/bijbelindex.jsp
Normal file
@@ -0,0 +1,46 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Index (${vertaling.afkorting})</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<c:forEach items="${letters}" var="letter" varStatus="index">
|
||||
<c:if test="${(index.index % 4 == 0) && (index.index > 0)}">
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${index.index % 4 == 0}">
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
</c:if>
|
||||
<a href="bijbelindexboeken?start=${letter}&t=${vertaling.id}" data-role="button" data-theme="a" data-ajax="false">${letter}</a>
|
||||
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,46 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Index (${vertaling.afkorting})</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<c:forEach items="${boeken}" var="boek" varStatus="index">
|
||||
<c:if test="${(index.index % 4 == 0) && (index.index > 0)}">
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${index.index % 4 == 0}">
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
</c:if>
|
||||
<a href="bijbelindexchapter?boek=${boek.id}&t=${vertaling.id}" data-role="button" data-theme="a" data-ajax="false">${boek.afkorting}</a>
|
||||
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
176
Psalmenweb/src/main/webapp/WEB-INF/views/bijbelindexchapter.jsp
Normal file
@@ -0,0 +1,176 @@
|
||||
<%@ page session="false"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Index (${vertaling.afkorting})</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<a id="boekhoofdstuk" style="width: 100%;" href="#" data-role="button" data-transition="fade" class="indexlabel" data-theme="a">${boek.boek} <span id="choice"></span></a>
|
||||
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k7" href="#" data-role="button" data-theme="a">7</a>
|
||||
|
||||
<a id="k8" href="#" data-role="button" data-theme="a">8</a>
|
||||
|
||||
<a id="k9" href="#" data-role="button" data-theme="a">9</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k4" href="#" data-role="button" data-theme="a">4</a>
|
||||
|
||||
<a id="k5" href="#" data-role="button" data-theme="a">5</a>
|
||||
|
||||
<a id="k6" href="#" data-role="button" data-theme="a">6</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k1" href="#" data-role="button" data-theme="a">1</a>
|
||||
|
||||
<a id="k2" href="#" data-role="button" data-theme="a">2</a>
|
||||
|
||||
<a id="k3" href="#" data-role="button" data-theme="a">3</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="kd" href="#" data-role="button" data-theme="a">◀</a>
|
||||
|
||||
<a id="k0" href="#" data-role="button" data-theme="a">0</a>
|
||||
|
||||
<a id="ke" href="#" data-role="button" data-theme="a">✔</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$(".indexknoppengroep a").click(function() {
|
||||
if ($("div.ui-loader.ui-overlay-shadow").length == 1) {
|
||||
return;
|
||||
}
|
||||
var knop = this.id.substring(1);
|
||||
switch(knop) {
|
||||
case "0":
|
||||
case "1":
|
||||
case "2":
|
||||
case "3":
|
||||
case "4":
|
||||
case "5":
|
||||
case "6":
|
||||
case "7":
|
||||
case "8":
|
||||
case "9":
|
||||
addNumber(knop);
|
||||
break;
|
||||
case "d":
|
||||
removeChar();
|
||||
break;
|
||||
case "e":
|
||||
if (! $("#boekhoofdstuk").hasClass("invalid")) {
|
||||
var choice = $("#choice").html();
|
||||
if (choice == "") {
|
||||
choice = "1";
|
||||
$("#choice").html(choice);
|
||||
}
|
||||
|
||||
window.location.href = "bijbel?t=${vertaling.id}&b=${boek.id}&h=" + choice;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function addNumber(knop) {
|
||||
var choice = $("#choice").html();
|
||||
var lengte = choice.length;
|
||||
|
||||
if (lengte == 3) {
|
||||
choice = "";
|
||||
}
|
||||
if (lengte == 0 && knop == "0") {
|
||||
return;
|
||||
}
|
||||
|
||||
choice += knop;
|
||||
|
||||
$("#choice").html(choice);
|
||||
|
||||
checkCorrectChapter();
|
||||
}
|
||||
|
||||
function removeChar() {
|
||||
var choice = $("#choice").html();
|
||||
var lengte = choice.length;
|
||||
if (lengte > 0) {
|
||||
choice = choice.substring(0, choice.length - 1);
|
||||
$("#choice").html(choice);
|
||||
}
|
||||
checkCorrectChapter();
|
||||
}
|
||||
|
||||
function checkCorrectChapter() {
|
||||
var hoofdstuk = parseInt($("#choice").html());
|
||||
if (hoofdstuk > ${boek.hoofdstukken}) {
|
||||
$("#boekhoofdstuk").addClass("invalid");
|
||||
} else {
|
||||
$("#boekhoofdstuk").removeClass("invalid");
|
||||
}
|
||||
}
|
||||
|
||||
function toastVerseDoesNotExist() {
|
||||
$("a#choice span span").addClass("invalid");
|
||||
$("<div class='ui-loader ui-overlay-shadow ui-body-e ui-corner-all'><h1>Dit vers bestaat niet.</h1></div>")
|
||||
.css({
|
||||
display: "block",
|
||||
// opacity: 0.90,
|
||||
position: "fixed",
|
||||
padding: "7px",
|
||||
"text-align": "center",
|
||||
width: "350px",
|
||||
left: ($(window).width() - 364) / 2,
|
||||
top: $(window).height() / 2})
|
||||
.appendTo($.mobile.pageContainer).delay(2000)
|
||||
.fadeOut(400, function(){
|
||||
$(this).remove();
|
||||
var choice = $("a#choice span span").html();
|
||||
choice = choice.substring(0, choice.indexOf("vers") + 5);
|
||||
$("a#choice span span").html(choice);
|
||||
$("a#choice span span").removeClass("invalid");
|
||||
});
|
||||
}
|
||||
|
||||
function checkPsalmVerseExists(psalm, vers) {
|
||||
var result;
|
||||
$.ajax({
|
||||
url: 'psalmcheck',
|
||||
async: false,
|
||||
data: {p: psalm, v: vers}, //'p=' & psalm & '&v=' & vers,
|
||||
success: function(data) {
|
||||
result = data;
|
||||
}
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
124
Psalmenweb/src/main/webapp/WEB-INF/views/hc.jsp
Normal file
@@ -0,0 +1,124 @@
|
||||
<%@ page session="false"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>Zondag ${hc}</title>
|
||||
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
|
||||
|
||||
<link rel="stylesheet"
|
||||
href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet"
|
||||
href="resources/css/psalmenweb.css" />
|
||||
|
||||
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script>
|
||||
<script src="resources/js/prefs.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" data-theme="a">
|
||||
<div data-role="header" data-position="fixed">
|
||||
<div class="psalmheader">Zondag ${hc}</div>
|
||||
<a data-inline="true" data-icon="custom" data-iconpos="notext" id="bw" data-ajax="false" class="ui-btn-right" style="margin-right:350px;"></a>
|
||||
<a href="psalmindex" data-inline="true" data-icon="custom" data-iconpos="notext" id="note" data-ajax="false" class="ui-btn-right" style="margin-right:150px;"></a>
|
||||
<a href="bijbelindex?t=1" data-inline="true" data-icon="custom" data-iconpos="notext" id="book" data-ajax="false" class="ui-btn-right" style="margin-right:50px;"></a>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
<br /> <br />
|
||||
<c:forEach items="${zondag}" var="vraag" varStatus="varstatus">
|
||||
<div class="psalmverseheader">Vraag ${vraag.vraag}</div>
|
||||
<p class="hclinequestion">${vraag.tekstVraag}</p>
|
||||
<p class="hclineanswer">${vraag.tekstAntwoord}</p>
|
||||
<br />
|
||||
</c:forEach>
|
||||
|
||||
<br />
|
||||
</div>
|
||||
<div data-role="footer" class="bigbuttons">
|
||||
<div data-role="navbar" class="bigbuttons" data-position="fixed">
|
||||
<ul>
|
||||
<li><a href="hc?z=${hc - 1}" id="left" data-icon="custom" data-ajax="false"> </a></li>
|
||||
<li><a href="#" id="minus" data-icon="custom"> </a></li>
|
||||
<li><a href="hcindex" id="index" data-icon="custom" data-ajax="false" data-transition="pop"> </a></li>
|
||||
<li><a href="#" id="plus" data-icon="custom"> </a></li>
|
||||
<li><a href="hc?z=${hc + 1}" id="right" data-icon="custom" data-ajax="false"> </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var PREF_TEXTSIZE;
|
||||
var PREF_COLOR;
|
||||
|
||||
$(function() {
|
||||
loadPreferences();
|
||||
setPreferences();
|
||||
bindListeners();
|
||||
});
|
||||
|
||||
function changeTextSize(delta) {
|
||||
var size = parseInt($(".psalmverseheader").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".psalmverseheader").css("font-size", cssSize);
|
||||
|
||||
size = parseInt($(".hclinequestion").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".hclinequestion").css("font-size", cssSize);
|
||||
|
||||
size = parseInt($(".hclineanswer").css("font-size"));
|
||||
cssSize = (size + delta) + "px";
|
||||
$(".hclineanswer").css("font-size", cssSize);
|
||||
|
||||
PREF_TEXTSIZE = size + delta;
|
||||
savePreferences();
|
||||
}
|
||||
|
||||
$(document).on('pageinit', function() {
|
||||
$(document).on("click", "#minus", function(e) {
|
||||
changeTextSize(-2);
|
||||
});
|
||||
|
||||
$(document).on("click", "#plus", function(e) {
|
||||
changeTextSize(2);
|
||||
});
|
||||
|
||||
if ('${hc}' == '1') {
|
||||
$("#left").attr("href", "#");
|
||||
$("#left span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
if ('${hc}' == '52') {
|
||||
$("#right").attr("href", "#");
|
||||
$("#right span.ui-icon").css("background-image", "none");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function goToVerse(immediately) {
|
||||
if ("${vers}" != "") {
|
||||
var target = $("#v${vers}").get(0).offsetTop;
|
||||
|
||||
if (target !== undefined) {
|
||||
if (immediately) {
|
||||
$.mobile.silentScroll(target);
|
||||
} else {
|
||||
setTimeout(function(){$.mobile.silentScroll(target);}, 100); // scroll after 1 sec
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on('pageshow', function(){
|
||||
goToVerse(false);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
146
Psalmenweb/src/main/webapp/WEB-INF/views/hcindex.jsp
Normal file
@@ -0,0 +1,146 @@
|
||||
<%@ page session="false"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Index Catechismus</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0" />
|
||||
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/themes/Psalmenweb.min.css" />
|
||||
<link rel="stylesheet" href="resources/css/psalmenweb.css" />
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.ui-btn {
|
||||
height: 100px;
|
||||
font-size: 60px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script
|
||||
src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.js"></script></head>
|
||||
<body>
|
||||
|
||||
<div data-role="page" id="myPage" data-theme="a">
|
||||
<div data-role="content" data-theme="a">
|
||||
<a id="hc" style="width: 100%;" href="#" data-role="button" data-transition="fade" class="indexlabel" data-theme="a">Zondag <span id="choice"></span></a>
|
||||
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k7" href="#" data-role="button" data-theme="a">7</a>
|
||||
|
||||
<a id="k8" href="#" data-role="button" data-theme="a">8</a>
|
||||
|
||||
<a id="k9" href="#" data-role="button" data-theme="a">9</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k4" href="#" data-role="button" data-theme="a">4</a>
|
||||
|
||||
<a id="k5" href="#" data-role="button" data-theme="a">5</a>
|
||||
|
||||
<a id="k6" href="#" data-role="button" data-theme="a">6</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="k1" href="#" data-role="button" data-theme="a">1</a>
|
||||
|
||||
<a id="k2" href="#" data-role="button" data-theme="a">2</a>
|
||||
|
||||
<a id="k3" href="#" data-role="button" data-theme="a">3</a>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal" class="localnav indexknoppengroep">
|
||||
<a id="kd" href="#" data-role="button" data-theme="a">↶</a>
|
||||
|
||||
<a id="k0" href="#" data-role="button" data-theme="a">0</a>
|
||||
|
||||
<a id="ke" href="#" data-role="button" data-theme="a">✔</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$(".indexknoppengroep a").click(function() {
|
||||
if ($("div.ui-loader.ui-overlay-shadow").length == 1) {
|
||||
return;
|
||||
}
|
||||
var knop = this.id.substring(1);
|
||||
switch(knop) {
|
||||
case "0":
|
||||
case "1":
|
||||
case "2":
|
||||
case "3":
|
||||
case "4":
|
||||
case "5":
|
||||
case "6":
|
||||
case "7":
|
||||
case "8":
|
||||
case "9":
|
||||
addNumber(knop);
|
||||
break;
|
||||
case "d":
|
||||
if ($("#choice").html().length == 0) {
|
||||
window.history.back();
|
||||
} else {
|
||||
removeChar();
|
||||
}
|
||||
|
||||
break;
|
||||
case "e":
|
||||
if (! $("#hc").hasClass("invalid")) {
|
||||
var choice = $("#choice").html();
|
||||
window.location.href = "hc?z=" + choice;
|
||||
}
|
||||
}
|
||||
if ($("#choice").html().length == 0) {
|
||||
$("a#kd span span").html("↶");
|
||||
} else {
|
||||
$("a#kd span span").html("◀");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function addNumber(knop) {
|
||||
var choice = $("#choice").html();
|
||||
var lengte = choice.length;
|
||||
|
||||
if (lengte == 2) {
|
||||
choice = "";
|
||||
}
|
||||
if (lengte == 0 && knop == "0") {
|
||||
return;
|
||||
}
|
||||
|
||||
choice += knop;
|
||||
|
||||
$("#choice").html(choice);
|
||||
|
||||
checkCorrectChoice();
|
||||
}
|
||||
|
||||
function removeChar() {
|
||||
var choice = $("#choice").html();
|
||||
var lengte = choice.length;
|
||||
if (lengte > 0) {
|
||||
choice = choice.substring(0, choice.length - 1);
|
||||
$("#choice").html(choice);
|
||||
}
|
||||
checkCorrectChoice();
|
||||
}
|
||||
|
||||
function checkCorrectChoice() {
|
||||
var hc = parseInt($("#choice").html());
|
||||
if (hc > 52) {
|
||||
$("#hc").addClass("invalid");
|
||||
} else {
|
||||
$("#hc").removeClass("invalid");
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||