Skip to content

Commit 2dc53a3

Browse files
Initial load
1 parent 1d4dc0b commit 2dc53a3

File tree

360 files changed

+86595
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

360 files changed

+86595
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/libraries/lukida_newlibrary

COPYRIGHT.txt

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
This file is part of Lukida.
2+
3+
Copyright 2016
4+
Verbundzentrale des GBV (VZG)
5+
Platz der Göttinger Sieben 1
6+
37073 Göttingen
7+
Germany
8+
https://www.gbv.de/Verbundzentrale/ueber_die_VZG/index
9+
10+
—-
11+
12+
Lukida is free software: you can redistribute it and/or modify
13+
it under the terms of the GNU Affero General Public License as published by
14+
the Free Software Foundation, either version 3 of the License, or
15+
(at your option) any later version.
16+
17+
Lukida is distributed in the hope that it will be useful,
18+
but WITHOUT ANY WARRANTY; without even the implied warranty of
19+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20+
GNU General Public License for more details.
21+
22+
You should have received a copy of the GNU Affero General Public License
23+
along with Lukida. If not, see http://www.gnu.org/licenses/agpl.txt.
24+
25+
—-
26+
27+
Diese Datei ist Teil von Lukida.
28+
29+
Lukida ist Freie Software: Sie können es unter den Bedingungen
30+
der GNU Affero General Public License, wie von der Free Software Foundation,
31+
Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren
32+
veröffentlichten Version, weiterverbreiten und/oder modifizieren.
33+
34+
Lukida wird in der Hoffnung, dass es nützlich sein wird, aber
35+
OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite
36+
Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
37+
Siehe die GNU General Public License für weitere Details.
38+
39+
Sie sollten eine Kopie der GNU General Public License zusammen mit diesem
40+
Programm erhalten haben. Wenn nicht, siehe http://www.gnu.org/licenses/agpl.txt.
41+
42+

LICENSE.txt

+661
Large diffs are not rendered by default.

README.md

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Lukida
2+
3+
Lukida (c) 2015-2016 is a Discovery-Software from VZG.
4+
Lukida-Homepage is [here](https://www.lukida.org/)
5+
6+
###Requirements
7+
1) Linux or Windows webserver with PHP, MySQL and ability to send mails
8+
2) if used with solr index-system
9+
PHP PECL Solr Module https://pecl.php.net/package/solr
10+
11+
###Installation
12+
13+
1) Download lukida
14+
This is the main software
15+
16+
2) Download lukida_newlibrary
17+
This is the basic set of files for a new library, which should be customized
18+
19+
3) Place them together in this structure
20+
```
21+
.../lukida/kernel/...
22+
.../lukida/libraries/lukida_newlibrary/...
23+
```
24+
(You should rename the lukida_newlibrary to something more convienient)
25+
26+
4) Create a link from your library to kernel
27+
Linux:
28+
```
29+
cd .../lukida/libraries/lukida_newlibrary
30+
ln -s ../../kernel/application/systemassets
31+
```
32+
Windows:
33+
```
34+
cd .../lukida/libraries/lukida_newlibrary
35+
mklink /d /j systemassets ..\..\kernel\application\systemassets
36+
```
37+
38+
5) Setup and import the mysql database
39+
a) Create an empty mysql database and an user who has full access to that new database
40+
b) Import the mysql_import.sql file into that database
41+
c) Configure kernel/application/config/database.php by replacing these values
42+
```
43+
'hostname' => 'localhost',
44+
'username' => 'lukida_newlibrary',
45+
'password' => 'lukida_newlibrary',
46+
'database' => 'lukida_newlibrary',
47+
```
48+
with your mysql connection information.
49+
50+
6) Point your webbrowser's document_root to .../lukida/libaries/lukida_newlibrary. Add to environment settings
51+
```
52+
# Name of library
53+
SetEnv LIBRARY "newlibrary"
54+
55+
# Mode (development, test, production)
56+
SetEnv MODE "development"
57+
```
58+
Remember the URL to access lukida (http://lukida.domain.tld)
59+
60+
7) Enter the URL in the mail config file ../lukida/libraries/lukida_newlibrary/general.ini:
61+
if development or test mode (without protocol)
62+
```
63+
devurl=lukida.domain.tld
64+
```
65+
if production mode (with protocol)
66+
```
67+
produrl=http://lukida.domain.tld
68+
```
69+
70+
Try the URL in your browser.
71+
72+
###Customization
73+
74+
In order to get it running you need to customize your library (.../lukida/libraries/lukida_newlibrary/...) to your needs:
75+
76+
1) Customize the .../lukida/libraries/lukida_newlibrary/general.ini
77+
78+
2) Customize the .../lukida/libraries/lukida_newlibrary/discover.ini
79+
80+
3) Place your logo and other assets into your empty assets structure.
81+
82+
4) Add more pictures and text to the .../lukida/libraries/lukida_newlibrary/start.html file
83+
84+
Have fun with it!

kernel/application/.htaccess

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<IfModule authz_core_module>
2+
Require all denied
3+
</IfModule>
4+
<IfModule !authz_core_module>
5+
Deny from all
6+
</IfModule>
+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?php
2+
3+
// Connect database
4+
$con=mysqli_connect("localhost","gbv_discovery","gbv_discovery","gbv_discovery");
5+
6+
// Check connection
7+
if (mysqli_connect_errno())
8+
{
9+
echo "Failed to connect to MySQL: " . mysqli_connect_error();
10+
exit();
11+
}
12+
13+
// Set Charset
14+
if (!$con->set_charset("utf8"))
15+
{
16+
printf("Error loading character set utf8: %s\n", $mysqli->error);
17+
exit();
18+
}
19+
20+
// Query Database
21+
$sql="SELECT * from words_unsolved";
22+
$result=mysqli_query($con,$sql);
23+
24+
// Fetch all unsolved word lists
25+
$Daten = mysqli_fetch_all($result,MYSQLI_ASSOC);
26+
27+
// Free result set
28+
mysqli_free_result($result);
29+
30+
// Loop word lists
31+
$DelIDs = array();
32+
$Count = 0;
33+
foreach ( $Daten as $Row )
34+
{
35+
$worte = str_replace(array("\"","¬",",",".",";",":","_","#","'","+","*","´","`","?","=","(",")","/","&","%","$","§","!","°","^","[","]","<",">","{","}","~","\"","/","²","³","@","","|","-","0","1","2","3","4","5","6","7","8","9"), " ", $Row["worte"]);
36+
//$worte = trim(str_replace(" ", " ", $worte));
37+
$worte = trim(preg_replace(array('/\s{2,}/', '/[\t\n]/'), ' ', $worte));
38+
$worte = explode(" ", $worte);
39+
$WortStg = array();
40+
foreach ( $worte as $wort )
41+
{
42+
$wort = trim($wort);
43+
if ( strlen(utf8_decode($wort)) >= 2 && strlen(utf8_decode($wort)) <= 200 )
44+
{
45+
$Count++;
46+
$WortStg[] = "('" . mysqli_real_escape_string($con,$wort) . "', 1,'" . $Row["datumzeit"] . "')";
47+
}
48+
}
49+
if ( count($WortStg) > 0 )
50+
{
51+
$sql="insert into words (wort, anzahl, datumzeit) values " . implode(",", $WortStg) . " ON DUPLICATE KEY UPDATE anzahl=anzahl+1, datumzeit='" . $Row["datumzeit"] . "'";
52+
if ( !mysqli_query($con,$sql))
53+
{
54+
printf("Error processing statement: %s\n", $mysqli->error);
55+
exit();
56+
}
57+
else
58+
{
59+
$DelIDs[] = $Row["id"];
60+
}
61+
}
62+
}
63+
64+
// Delete processed records
65+
if ( count($DelIDs) > 0 )
66+
{
67+
$sql="delete from words_unsolved where id in (" . implode(",",$DelIDs) . ")";
68+
//echo $sql;
69+
$result=mysqli_query($con,$sql);
70+
}
71+
72+
// Close database connection
73+
mysqli_close($con);
74+
75+
// Answer to cron based logfile
76+
echo date("d.m.Y H:i:s") . " " . count($Daten) . " result-packages prosessed containing " . $Count . " words\n";
77+
78+
?>

kernel/application/cache/.htaccess

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<IfModule authz_core_module>
2+
Require all denied
3+
</IfModule>
4+
<IfModule !authz_core_module>
5+
Deny from all
6+
</IfModule>

kernel/application/cache/index.html

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>403 Forbidden</title>
5+
</head>
6+
<body>
7+
8+
<p>Directory access is forbidden.</p>
9+
10+
</body>
11+
</html>

kernel/application/config.ini

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
; Common Settings
2+
[systemcommon]
3+
devmode=off
4+
covermode=off
5+
thememode=off
6+
7+
devvalues=
8+
devuser=
9+
devpassword=
10+
devusername=
11+
devusermail=
12+
devusermailtext=
13+
modules=discover
14+
15+
16+
; Welche CSS Dateien sollen geladen werden
17+
; (Reihenfolge bitte beachten: 1, 2, 3, ... ganze Zahlen, durchgehend ab 1)
18+
; Die Dateien müssen sich im Ordner kernal/systemassets/ befinden, um gefunden zu werden.
19+
; Ab dann den vollständigen Pfad ohne führenden Slash angeben
20+
[systemcss]
21+
1=bootstrap_3.3.6/css/bootstrap.min.css
22+
2=fontawesome_4.5.0/css/font-awesome.min.css
23+
3=nouislider_8.3.0/nouislider.min.css
24+
4=lukida/lukida.css
25+
5=bootstrap_3.3.6/css/bootstrap-theme.min.css
26+
27+
; Welche JavaScript Dateien sollen geladen werden
28+
; (Reihenfolge bitte beachten: 1, 2, 3, ... ganze Zahlen, durchgehend ab 1)
29+
; Die Dateien müssen sich im Ordner kernal/systemassets/ befinden, um gefunden zu werden.
30+
; Ab dann den vollständigen Pfad ohne führenden Slash angeben
31+
[systemjs]
32+
1=jquery_2.2.1/jquery.min.js
33+
2=cookie_1.4.1/jquery.cookie.js
34+
3=bootstrap_3.3.6/js/bootstrap.min.js
35+
4=dialog_1.34.9/js/bootstrap-dialog.min.js
36+
5=nouislider_8.3.0/nouislider.min.js
37+
6=typeahead_0.0.5/bootstrap-typeahead.min.js
38+
7=lukida/lukida.min.js
39+
40+
41+
; Welche CSS Dateien auf der Frontpage sollen geladen werden
42+
; (Reihenfolge bitte beachten: 1, 2, 3, ... ganze Zahlen, durchgehend ab 1)
43+
; Die Dateien müssen sich im Ordner kernal/systemassets/ befinden, um gefunden zu werden.
44+
; Ab dann den vollständigen Pfad ohne führenden Slash angeben
45+
[frontcss]
46+
1=bootstrap_3.3.6/css/bootstrap.min.css
47+
2=fontawesome_4.5.0/css/font-awesome.min.css
48+
3=lukida/lukida.css
49+
4=bootstrap_3.3.6/css/bootstrap-theme.min.css
50+
51+
; Welche JavaScript Dateien auf der Frontpage sollen geladen werden
52+
; (Reihenfolge bitte beachten: 1, 2, 3, ... ganze Zahlen, durchgehend ab 1)
53+
; Die Dateien müssen sich im Ordner kernal/systemassets/ befinden, um gefunden zu werden.
54+
; Ab dann den vollständigen Pfad ohne führenden Slash angeben
55+
[frontjs]
56+
1=jquery_2.2.1/jquery.min.js
57+
2=cookie_1.4.1/jquery.cookie.js
58+
3=bootstrap_3.3.6/js/bootstrap.min.js
59+
4=lukida/lukida.min.js
60+
61+

0 commit comments

Comments
 (0)