removed old sites
|
@ -1,68 +0,0 @@
|
|||
WSGIDaemonProcess films.metanohi.name processes=2 threads=3 display-name=%{GROUP}
|
||||
WSGIProcessGroup films.metanohi.name
|
||||
|
||||
<VirtualHost *:80>
|
||||
|
||||
ServerName films.metanohi.name
|
||||
ServerAlias www.films.metanohi.name films.lcl
|
||||
ServerAdmin ngws@metanohi.name
|
||||
|
||||
DocumentRoot /home/niels/www/meta/subsites/films
|
||||
|
||||
Alias /robots.txt /home/niels/www/meta/subsites/films/robots.txt
|
||||
Alias /favicon.ico /home/niels/www/meta/subsites/films/favicon.ico
|
||||
Alias /favicon.png /home/niels/www/meta/subsites/films/favicon.png
|
||||
Alias /static /home/niels/www/meta/subsites/films/static
|
||||
Alias /previews /home/niels/www/meta/subsites/films/previews
|
||||
Alias /films /home/niels/www/meta/heavy/films
|
||||
Alias /films.wsgi /home/niels/www/meta/subsites/films/films.wsgi
|
||||
Alias /apache-config-template /home/niels/www/meta/subsites/films/apache-config-template
|
||||
|
||||
WSGIScriptAlias / /home/niels/www/meta/subsites/films/films.wsgi
|
||||
|
||||
<Directory /home/niels/www/meta/subsites/films>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
LogLevel warn
|
||||
ErrorLog /var/log/apache2/films.metanohi.name-error.log
|
||||
CustomLog /var/log/apache2/films.metanohi.name-access.log combined
|
||||
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
|
||||
ServerName films.metanohi.name
|
||||
ServerAlias www.films.metanohi.name films.lcl
|
||||
ServerAdmin ngws@metanohi.name
|
||||
|
||||
DocumentRoot /home/niels/www/meta/subsites/films
|
||||
|
||||
Alias /robots.txt /home/niels/www/meta/subsites/films/robots.txt
|
||||
Alias /favicon.ico /home/niels/www/meta/subsites/films/favicon.ico
|
||||
Alias /favicon.png /home/niels/www/meta/subsites/films/favicon.png
|
||||
Alias /static /home/niels/www/meta/subsites/films/static
|
||||
Alias /previews /home/niels/www/meta/subsites/films/previews
|
||||
Alias /films /home/niels/www/meta/heavy/films
|
||||
Alias /films.wsgi /home/niels/www/meta/subsites/films/films.wsgi
|
||||
Alias /apache-config-template /home/niels/www/meta/subsites/films/apache-config-template
|
||||
|
||||
WSGIScriptAlias / /home/niels/www/meta/subsites/films/films.wsgi
|
||||
|
||||
<Directory /home/niels/www/meta/subsites/films>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
LogLevel warn
|
||||
ErrorLog /var/log/apache2/films.metanohi.name-error.log
|
||||
CustomLog /var/log/apache2/films.metanohi.name-access.log combined
|
||||
|
||||
SSLEngine on
|
||||
SSLCertificateFile /home/niels/www/meta/metanohi_server.pem
|
||||
SSLCertificateKeyFile /home/niels/www/meta/metanohi_privatekey.pem
|
||||
SSLCipherSuite HIGH
|
||||
SSLProtocol all -SSLv2
|
||||
|
||||
</VirtualHost>
|
|
@ -1,18 +0,0 @@
|
|||
<p>
|
||||
This is nohifilms, Niels Serup's index of his short films. The earliest films
|
||||
involved often revolve around
|
||||
the <a href='http://en.wikipedia.org/wiki/Stopmotion'>stopmotion
|
||||
technique</a>, while others don't.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href='http://playogg.org/'>
|
||||
<img src='/static/playogg.png' alt='Play OGG' />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
nohifilms runs on a simple AGPLv3-licensed WSGI script which can downloaded
|
||||
<a href='/films.wsgi'>here</a> using an Apache config file similar
|
||||
to <a href='/apache-config-template'>this one</a>.
|
||||
</p>
|
|
@ -1,28 +0,0 @@
|
|||
<VirtualHost *:80>
|
||||
|
||||
ServerName films.example.org
|
||||
ServerAlias films.example.org
|
||||
ServerAdmin webmaster@example.org
|
||||
|
||||
DocumentRoot /path/to/dir/of/films
|
||||
|
||||
Alias /robots.txt /path/to/dir/of/films/robots.txt
|
||||
Alias /favicon.ico /path/to/dir/of/films/favicon.ico
|
||||
Alias /favicon.png /path/to/dir/of/films/favicon.png
|
||||
Alias /static /path/to/dir/of/films/static
|
||||
Alias /previews /path/to/dir/of/films/previews
|
||||
Alias /films /path/to/dir/of/videos
|
||||
Alias /films.wsgi /path/to/dir/of/films/films.wsgi
|
||||
Alias /apache-config-template /path/to/dir/of/films/apache-config-template
|
||||
|
||||
<Directory /path/to/dir/of/films>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
WSGIDaemonProcess films.example.org processes=2 threads=15 display-name=%{GROUP}
|
||||
WSGIProcessGroup films.example.org
|
||||
|
||||
WSGIScriptAlias / /path/to/dir/of/films/films.wsgi
|
||||
|
||||
</VirtualHost>
|
|
@ -1,175 +0,0 @@
|
|||
super-surveillance
|
||||
SUPER SURVEILLANCE
|
||||
2011
|
||||
true
|
||||
ab
|
||||
true
|
||||
|
||||
Yes, it is true. Truedom.
|
||||
|
||||
|
||||
creative-process
|
||||
The Creative Process of an Artist
|
||||
2010
|
||||
false
|
||||
ab
|
||||
false
|
||||
|
||||
I was bored.
|
||||
|
||||
|
||||
paranoia
|
||||
Paranoia
|
||||
2010
|
||||
true
|
||||
ab
|
||||
false
|
||||
|
||||
Do <em>you</em> have paranoia?
|
||||
|
||||
|
||||
box
|
||||
Box
|
||||
2010
|
||||
true
|
||||
ab
|
||||
false
|
||||
|
||||
A box and a human.
|
||||
|
||||
|
||||
cola
|
||||
Cola
|
||||
2008
|
||||
true
|
||||
bcd
|
||||
false
|
||||
|
||||
The Coca Cola Company has created a monster: a can that moves by itself! Too
|
||||
much caffeine, perhaps?
|
||||
|
||||
|
||||
robo
|
||||
Robo
|
||||
2009
|
||||
true
|
||||
bcd
|
||||
false
|
||||
|
||||
In the future, scientists will have to construct robots out of crap. For now,
|
||||
simple boxes will do.<br /><br />Music credit goes to user RedChili at <a
|
||||
href="http://jamendo.com/en/user/redchili">http://jamendo.com/en/user/redchili</a>. His
|
||||
track is called "Sen Mandaryna" and is released under CC-BY-NC-SA 3.0, which is
|
||||
why I have to license this works as a whole under the same license, thus
|
||||
releasing this film under the <b>Creative Commons
|
||||
Attribution-Noncommercial-ShareAlike 3.0</b>. Note that this film is available
|
||||
under CC-BY-SA as well, just without the background music. So if you want to
|
||||
use this for commercial purposes, use another soundtrack.
|
||||
|
||||
|
||||
dice
|
||||
Dice
|
||||
2010
|
||||
false
|
||||
bcd
|
||||
false
|
||||
|
||||
A die meets a die. No sound.
|
||||
|
||||
|
||||
compufight
|
||||
Compufight
|
||||
2009
|
||||
false
|
||||
bcde
|
||||
false
|
||||
|
||||
The kung fu of computing.
|
||||
|
||||
|
||||
mobility
|
||||
Mobility
|
||||
2008
|
||||
true
|
||||
bcde
|
||||
false
|
||||
|
||||
Is it a bird? Is it an airplane? No, it's a MOBILE PHONE!
|
||||
|
||||
|
||||
legoshow
|
||||
Lego SHOW
|
||||
2006
|
||||
false
|
||||
none
|
||||
false
|
||||
|
||||
Showoff.
|
||||
|
||||
|
||||
easteregg
|
||||
Beware of the Easter Egg
|
||||
2007
|
||||
false
|
||||
none
|
||||
false
|
||||
|
||||
It's dangerous, I tell you. Beware of other traditions, too.<br /><br />Music
|
||||
credit goes to freesound contributor Richard Frohlich at <a
|
||||
href="http://freesound.org/">freesound.org</a>. His piano track is released
|
||||
under <a href="http://creativecommons.org/licenses/sampling+/1.0/">CC Sampling
|
||||
Plus 1.0.</a>. When I originally applied this track to my film, I didn't
|
||||
realize that its license was somewhat non-free and not compatible with
|
||||
CC-BY-SA. So to get this film under CC-BY-SA, you'll have to take it without
|
||||
sound.
|
||||
|
||||
|
||||
compumotion
|
||||
Compumotion
|
||||
2008
|
||||
false
|
||||
bcd
|
||||
false
|
||||
|
||||
Or maybe "Lapstop"?
|
||||
|
||||
|
||||
crazychristmas
|
||||
Crazy Christmas
|
||||
2007
|
||||
false
|
||||
bcd
|
||||
false
|
||||
|
||||
Celebrating Christmas also means celebrating the day these unfortunate lego
|
||||
accesories went berserk.
|
||||
|
||||
|
||||
testdraw
|
||||
Test draw
|
||||
2008
|
||||
true
|
||||
b
|
||||
false
|
||||
|
||||
Just testing.
|
||||
|
||||
|
||||
legoparty
|
||||
Lego Party
|
||||
2006
|
||||
false
|
||||
bc
|
||||
false
|
||||
|
||||
They seem to be slightly.. drunk?
|
||||
|
||||
|
||||
saltvspepper
|
||||
Salt vs. pepper
|
||||
2008
|
||||
false
|
||||
bcd
|
||||
false
|
||||
|
||||
Who will win this battle of destiny?
|
|
@ -1,3 +0,0 @@
|
|||
[films]
|
||||
previews_dir = /previews
|
||||
videos_dir = /films
|
|
@ -1,185 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
# films.wsgi: a WSGI script for showing films
|
||||
# Copyright (C) 2011 Niels Serup
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public
|
||||
# License along with this program. If not, see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
## Version:...... 0.1.0
|
||||
## Maintainer:... Niels Serup <ns@metanohi.name>
|
||||
## Website:...... http://films.metanohi.name/about/
|
||||
|
||||
import sys
|
||||
import os
|
||||
import bottle
|
||||
from bottle import route, abort, error, request, redirect
|
||||
import configparser
|
||||
import locale
|
||||
_preferred_encoding = 'utf-8' #locale.getpreferredencoding() # fail
|
||||
|
||||
_absfile = os.path.abspath(__file__)
|
||||
_filedir = os.path.dirname(_absfile)
|
||||
_configfile_name = 'films.config'
|
||||
|
||||
# Get settings
|
||||
_settings = {'previews_dir': '/previews', 'videos_dir': '/videos'} # Defaults
|
||||
|
||||
_cfg = configparser.SafeConfigParser(_settings)
|
||||
_cfg.add_section('films')
|
||||
try:
|
||||
_cfg.read(os.path.join(_filedir, _configfile_name))
|
||||
except configparser.Error as e:
|
||||
print('Python error: ' + repr(e), file=sys.stderr)
|
||||
except TypeError:
|
||||
pass
|
||||
_settings = {name: value for name, value in _cfg.items('films')}
|
||||
|
||||
# Get templates
|
||||
def _readfile(locpath):
|
||||
with open(os.path.join(_filedir, locpath), 'rb') as f:
|
||||
return f.read().decode(_preferred_encoding)
|
||||
|
||||
_template, _about, _frontpage = (_readfile(x + '.html') for x in
|
||||
('template', 'about', 'frontpage'))
|
||||
|
||||
# Create more templates
|
||||
_videosource = ''' <source src='{url}' type='{mime}' />\n'''
|
||||
_videotemplate = '''
|
||||
<video width='640' height='{height}' autoplay='autoplay'
|
||||
controls='controls', style='width: 640px; height: {height}px;'>
|
||||
{sources}
|
||||
<applet code='com.fluendo.player.Cortado.class'
|
||||
archive='http://theora.org/cortado.jar'
|
||||
width='640' height='{height}'>
|
||||
<param name='url' value='{url}' />
|
||||
</applet>
|
||||
</video>
|
||||
|
||||
<div id='description' style='height: {height}px'>
|
||||
<p>{description}</p>
|
||||
<p><span>Year:</span> {year}</p>
|
||||
</div>
|
||||
|
||||
<div id='dl'>
|
||||
<p><span>Download:</span> {downloads}</p>
|
||||
</div>
|
||||
'''
|
||||
|
||||
# Extract info
|
||||
def _parse_filminfo(locpath):
|
||||
with open(os.path.join(_filedir, locpath), 'U') as f:
|
||||
sfilms = (line.split('\n', 7) for line in f.read().split('\n' * 3))
|
||||
films, films_html = [], {}
|
||||
i = 1
|
||||
for x in sfilms:
|
||||
kwds = {
|
||||
'name': x[0],
|
||||
'title': x[1],
|
||||
'year': int(x[2]),
|
||||
'16:9': x[3] == 'true',
|
||||
'sizes': x[4],
|
||||
'webm': x[5] == 'true',
|
||||
'description': x[7]
|
||||
}
|
||||
|
||||
if kwds['16:9']:
|
||||
kwds['height'] = 360
|
||||
sizes = (
|
||||
'640x360',
|
||||
'1024x576',
|
||||
'1280x720',
|
||||
'1920x1080'
|
||||
)
|
||||
else:
|
||||
kwds['height'] = 480
|
||||
sizes = (
|
||||
'640x480',
|
||||
'768x576',
|
||||
'960x720',
|
||||
'1440x1080'
|
||||
)
|
||||
kwds['downloads'] = ''
|
||||
linknames = {
|
||||
'': (sizes[0], '640w'),
|
||||
'b': (sizes[1], '576p'),
|
||||
'c': (sizes[2], '720p'),
|
||||
'd': (sizes[3], '1080p'),
|
||||
'e': ('Behind', 'behind')
|
||||
}
|
||||
for x in filter(lambda x: x in kwds['sizes'], linknames.keys()):
|
||||
linkname, sid = linknames[x]
|
||||
if kwds['webm']:
|
||||
kwds['downloads'] += "<a href='{dir}/{name}-{sid}.webm'>{linkname} WebM</a>".format(
|
||||
dir=_settings['videos_dir'], sid=sid, name=kwds['name'], linkname=linkname)
|
||||
kwds['downloads'] += "<a href='{dir}/{name}-{sid}.ogv'>{linkname} Theora</a>".format(
|
||||
dir=_settings['videos_dir'], sid=sid, name=kwds['name'], linkname=linkname)
|
||||
|
||||
addr = _settings['videos_dir']
|
||||
srcs = ''
|
||||
kwds['url'] = '{}/{}-{}.ogv'.format(
|
||||
addr, kwds['name'], linknames[''][1])
|
||||
if kwds['webm']:
|
||||
srcs += _videosource.format(url='{}/{}-{}.webm'.format(
|
||||
addr, kwds['name'], linknames[''][1]), mime='video/webm')
|
||||
srcs += _videosource.format(url=kwds['url'], mime='video/ogg')
|
||||
kwds['sources'] = srcs
|
||||
kwds['content'] = _videotemplate.format(**kwds)
|
||||
kwds['leftclass'] = " class='left'" if i % 2 else ''
|
||||
i += 1
|
||||
|
||||
films.append(kwds)
|
||||
films_html[kwds['name']] = _template.format(**kwds)
|
||||
return films, films_html
|
||||
|
||||
_films, _films_html = _parse_filminfo('filminfo')
|
||||
_settings['numberoffilms'] = len(_films)
|
||||
|
||||
# Improve templates
|
||||
_frontpage_boxlink = '''
|
||||
<a href='/{{name}}' style='background-image: url({previews_dir}/{{name}}.jpg);'{{leftclass}}>
|
||||
<span>{{title}}</span>
|
||||
</a>
|
||||
'''.format(**_settings)
|
||||
|
||||
_settings['filmboxes'] = ''.join(_frontpage_boxlink.format(**kwds)
|
||||
for kwds in _films)
|
||||
|
||||
_frontpage = _frontpage.format(**_settings)
|
||||
|
||||
_settings['content'], _settings['title'] = _frontpage, 'Start'
|
||||
_frontpage = _template.format(**_settings)
|
||||
_settings['content'], _settings['title'] = _about, 'About'
|
||||
_about = _template.format(**_settings)
|
||||
del _settings['content']
|
||||
del _settings['title']
|
||||
|
||||
@route('/')
|
||||
def frontpage():
|
||||
if request.query_string:
|
||||
# compatibility reasons, can be removed
|
||||
redirect('/' + request.query_string)
|
||||
return _frontpage
|
||||
|
||||
@route('/about')
|
||||
@route('/!about') # compatibility reasons, can be removed
|
||||
def about():
|
||||
return _about
|
||||
|
||||
@route('/:name')
|
||||
def film(name):
|
||||
return _films_html[name]
|
||||
|
||||
application = bottle.default_app()
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
<p>
|
||||
This is my personal film index. Below is a list of the {numberoffilms} films
|
||||
that I have so far produced. The films are both downloadable and directly
|
||||
viewable in any fairly modern web browser. I'm releasing all of my films
|
||||
under the <a href='http://creativecommons.org/licenses/by-sa/3.0/'>Creative
|
||||
Commons Attribution-ShareAlike 3.0 license</a>, which permits everyone to
|
||||
remix and share my videos as long as they attribute me and do not restrict
|
||||
other remixers and sharers from altering and sharing new versions.
|
||||
</p>
|
||||
<p><a href='/about'>Read more.</a></p>
|
||||
|
||||
<div id='films'>
|
||||
{filmboxes}
|
||||
<div class='end'></div>
|
||||
</div>
|
||||
|
||||
<p>That is all.</p>
|
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 237 KiB |
Before Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 36 KiB |
|
@ -1,2 +0,0 @@
|
|||
User-agent: *
|
||||
Disallow: /static
|
Before Width: | Height: | Size: 11 KiB |
|
@ -1,111 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="300"
|
||||
height="75"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
version="1.0"
|
||||
sodipodi:docname="logo.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient4627">
|
||||
<stop
|
||||
style="stop-color:#b9b9b9;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4629" />
|
||||
<stop
|
||||
style="stop-color:#b13a3a;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4631" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
id="filter3179"
|
||||
x="-0.02068712"
|
||||
width="1.0413742"
|
||||
y="-0.1385752"
|
||||
height="1.2771504">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="2.3188809"
|
||||
id="feGaussianBlur3181" />
|
||||
</filter>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4627"
|
||||
id="linearGradient4635"
|
||||
x1="177.11351"
|
||||
y1="196.21216"
|
||||
x2="447.64648"
|
||||
y2="196.21216"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-164.26057,-161.22003)" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.9466667"
|
||||
inkscape:cx="150"
|
||||
inkscape:cy="37.5"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="938"
|
||||
inkscape:window-x="-4"
|
||||
inkscape:window-y="-4" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:73.6212616px;font-style:normal;font-weight:bold;line-height:125%;fill:url(#linearGradient4635);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3179);font-family:Bitstream Vera Sans;-inkscape-font-specification:DejaVu Sans Mono Bold"
|
||||
x="8.5248137"
|
||||
y="55.575882"
|
||||
id="text2383"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2385"
|
||||
x="8.5248137"
|
||||
y="55.575882"
|
||||
style="font-size:51.53488159px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4635);fill-opacity:1;fill-rule:nonzero;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono Bold">nohifilms</tspan></text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 5.9 KiB |
|
@ -1,135 +0,0 @@
|
|||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #555;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
font-family: 'Dejavu Sans', 'Nimbus Sans', Helvetica, Arial, Verdana, sans-serif;
|
||||
}
|
||||
|
||||
.end {
|
||||
clear: both;
|
||||
float: none;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
width: 900px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#header {
|
||||
font-size: 30px;
|
||||
height: 20px;
|
||||
background: #000 url(logo.png) right top no-repeat;
|
||||
margin-bottom: 6px;
|
||||
padding: 23px 6px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#header a {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 198px;
|
||||
height: 66px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#content {
|
||||
background: #222;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/* MAIN PAGE SPECIFIC */
|
||||
#films {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
#films a {
|
||||
width: 435px;
|
||||
height: 300px;
|
||||
float: left;
|
||||
background-color: #666;
|
||||
background-position: center center;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#films a.left {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#films a span {
|
||||
width: 425px;
|
||||
padding: 3px 5px;
|
||||
background: rgba(0, 0, 0, .5);
|
||||
font-size: 25px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#films a:hover div {
|
||||
height: 294px;
|
||||
}
|
||||
|
||||
#film {
|
||||
width: 640px;
|
||||
background: #999;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
span {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#description {
|
||||
padding: 5px;
|
||||
width: 220px;
|
||||
overflow: auto;
|
||||
float: right;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#dl {
|
||||
clear: both;
|
||||
padding: 3px;
|
||||
background: #444;
|
||||
}
|
||||
|
||||
#dl a {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
#footer {
|
||||
margin-top: 6px;
|
||||
background: #000;
|
||||
padding: 3px;
|
||||
font-size: 11px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-family: Inconsolata, 'Dejavu Sans Mono', monospace;
|
||||
}
|
||||
|
||||
.end {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
a:link, a:visited {
|
||||
color: #00aaff;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #00eeff;
|
||||
}
|
|
@ -1,50 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN'
|
||||
'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>
|
||||
<html version='-//W3C//DTD XHTML 1.1//EN'
|
||||
xmlns='http://www.w3.org/1999/xhtml'
|
||||
xml:lang='en'
|
||||
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
|
||||
xsi:schemaLocation='http://www.w3.org/1999/xhtml
|
||||
http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd'>
|
||||
<head>
|
||||
<title>nohifilms :: {title}</title>
|
||||
<meta name='author' content='Niels Serup' />
|
||||
<meta name='description'
|
||||
content='This site contains films by Niels Serup.' />
|
||||
<meta name='keywords'
|
||||
content='films' />
|
||||
<link rel='stylesheet' type='text/css'
|
||||
href='/static/screen.css' />
|
||||
<link rel='schema.DCTERMS' href='http://purl.org/dc/terms/' />
|
||||
<meta name='DCTERMS.title' content='nohifilms :: {title}' />
|
||||
<meta name='DCTERMS.creator' content='Niels Serup' />
|
||||
<meta name='DCTERMS.language' content='en' />
|
||||
<meta name='DCTERMS.isPartOf' content='http://films.metanohi.name/' />
|
||||
<link rel='copyright' href='http://creativecommons.org/licenses/by-sa/3.0/' />
|
||||
<meta name='DCTERMS.license' content='http://creativecommons.org/licenses/by-sa/3.0/' />
|
||||
<meta name='robots' content='ALL' />
|
||||
<link rel='icon' type='image/png' href='/favicon.png' />
|
||||
</head>
|
||||
<body>
|
||||
<div id='wrapper'>
|
||||
|
||||
<div id='header'>
|
||||
<a href='/'></a>
|
||||
</div>
|
||||
|
||||
<div id='content'>
|
||||
{content}
|
||||
</div>
|
||||
|
||||
<div id='footer'>
|
||||
Videos and text are released under
|
||||
the <a href='http://creativecommons.org/licenses/by-sa/3.0/'>Creative
|
||||
Commons Attribution-ShareAlike 3.0 Unported license</a>. Copyleft ©
|
||||
2006, 2007, 2008, 2009, 2010,
|
||||
2011 <a href='http://metanohi.name/about/niels'>Niels Serup</a>.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,43 +0,0 @@
|
|||
<VirtualHost *:80>
|
||||
ServerName pictures.metanohi.name
|
||||
ServerAlias www.pictures.metanohi.name pictures.lcl
|
||||
ServerAdmin ngws@metanohi.name
|
||||
|
||||
DocumentRoot /home/niels/www/meta/subsites/pictures
|
||||
<Directory /home/niels/www/meta/subsites/pictures/>
|
||||
Options Indexes Includes FollowSymLinks MultiViews
|
||||
AllowOverride All
|
||||
Order allow,deny
|
||||
allow from all
|
||||
</Directory>
|
||||
|
||||
LogLevel warn
|
||||
ErrorLog /var/log/apache2/pictures.metanohi.name-error.log
|
||||
CustomLog /var/log/apache2/pictures.metanohi.name-access.log combined
|
||||
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName pictures.metanohi.name
|
||||
ServerAlias www.pictures.metanohi.name pictures.lcl
|
||||
ServerAdmin ngws@metanohi.name
|
||||
|
||||
DocumentRoot /home/niels/www/meta/subsites/pictures
|
||||
<Directory /home/niels/www/meta/subsites/pictures/>
|
||||
Options Indexes Includes FollowSymLinks MultiViews
|
||||
AllowOverride All
|
||||
Order allow,deny
|
||||
allow from all
|
||||
</Directory>
|
||||
|
||||
LogLevel warn
|
||||
ErrorLog /var/log/apache2/pictures.metanohi.name-error.log
|
||||
CustomLog /var/log/apache2/pictures.metanohi.name-access.log combined
|
||||
|
||||
SSLEngine on
|
||||
SSLCertificateFile /home/niels/www/meta/metanohi_server.pem
|
||||
SSLCertificateKeyFile /home/niels/www/meta/metanohi_privatekey.pem
|
||||
SSLCipherSuite HIGH
|
||||
SSLProtocol all -SSLv2
|
||||
|
||||
</VirtualHost>
|
|
@ -1 +0,0 @@
|
|||
img/
|
|
@ -1 +0,0 @@
|
|||
ErrorDocument 404 /show.php
|
|
@ -1,5 +0,0 @@
|
|||
...--' About '--...
|
||||
|
||||
I choose a copyleft license when I want to protect a picture from being
|
||||
abused by people who do not want to allow sharing and editing. When a
|
||||
picture isn't worth protecting, I just throw it in the public domain.
|
|
@ -1,26 +0,0 @@
|
|||
<?php
|
||||
header('Content-type: text/plain; charset=UTF-8');
|
||||
|
||||
$img = $_POST['image'];
|
||||
$info = $_POST['uptext'];
|
||||
$pass = $_POST['uppass'];
|
||||
$info_path = "../info/$img.info";
|
||||
|
||||
// Password check
|
||||
include('../saved_crypt_pass.php');
|
||||
$crypt_pass = crypt($pass, $saved_crypt_pass);
|
||||
|
||||
if ($crypt_pass != $saved_crypt_pass) {
|
||||
echo "Password error";
|
||||
die();
|
||||
}
|
||||
|
||||
$info = str_replace('\\\'', '\'', str_replace('\"', "\"", $info));
|
||||
|
||||
// Info file
|
||||
$f = fopen($info_path, 'w');
|
||||
fwrite($f, $info);
|
||||
fclose($f);
|
||||
|
||||
header("Location: http://pictures.metanohi.org/$img");
|
||||
?>
|
|
@ -1,30 +0,0 @@
|
|||
<?php
|
||||
header('Content-type: text/html; charset=UTF-8');
|
||||
$img = $_GET['i'];
|
||||
|
||||
$info_path = "../info/$img.info";
|
||||
|
||||
// Info file
|
||||
$f = fopen($info_path, 'r');
|
||||
$c = fread($f, filesize($info_path));
|
||||
fclose($f);
|
||||
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns='http://www.w3.org/1999/xhtml'>
|
||||
<head>
|
||||
<meta name='description' content='Edit the info text of a picture. Owner only.' />
|
||||
<meta http-equiv='content-language' content='en' />
|
||||
<meta http-equiv='content-type' content='text/html; charset=utf-8' />
|
||||
<title>Edit info text</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form action='edit.php' method='post'>
|
||||
<input type='hidden' name='image' value='<?php echo $img; ?>' />
|
||||
<p><textarea name='uptext' rows='10' cols='80'><?php echo $c; ?></textarea></p>
|
||||
<p><input name='uppass' type='password' /></p>
|
||||
<p><input type='submit' value='Change text' /></p>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
[19-Oct-2009 05:02:21] PHP Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/metanohi/public_html/pictures/edit/edit.php on line 19
|
||||
[19-Oct-2009 05:04:08] PHP Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/metanohi/public_html/pictures/edit/edit.php on line 20
|
||||
[19-Oct-2009 05:33:58] PHP Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/metanohi/public_html/pictures/edit/edit.php on line 18
|
|
@ -1,13 +0,0 @@
|
|||
<?php
|
||||
function get_info($img) {
|
||||
$txt = @file_get_contents("info/$img.info");
|
||||
if (!$txt || $txt == '')
|
||||
return 'No information available.';
|
||||
|
||||
//return preg_replace(array('/<(.*)>/', '/[(.*)]/'), array("<<a href='$1'>$1</a>>", "[<a href='$1'>$1</a>]"), $txt);
|
||||
//$txt = preg_replace('/<(.*)>/', "<<a href='$1'>$1</a>>", $txt);
|
||||
//$txt = preg_replace('/\[(.*)\]/', "[<a href='$1'>$1</a>]", $txt);
|
||||
return preg_replace(array('/<(.*)>/', '/\[([^]]*)\]/'), array("<<a href='$1'>$1</a>>", "[<a href='$1'>$1</a>]"), $txt);
|
||||
return $txt;
|
||||
}
|
||||
?>
|
|
@ -1,26 +0,0 @@
|
|||
<?php
|
||||
header('Content-type: text/html; charset=UTF-8');
|
||||
$imgs = scandir('img');
|
||||
array_splice($imgs, 0, 2);
|
||||
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns='http://www.w3.org/1999/xhtml'>
|
||||
<head>
|
||||
<meta name='description' content='Pictures.' />
|
||||
<meta name='keywords' content='pictures of varying quality, stuff' />
|
||||
<meta http-equiv='content-language' content='en' />
|
||||
<meta http-equiv='content-type' content='text/html; charset=utf-8' />
|
||||
<title>Pictures</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<ul>
|
||||
<li><a href='upload/'>New</a></p></li>
|
||||
<li><a href='about'>About</a></p></li>
|
||||
</ul>
|
||||
<h1>Pictures</h1><?php
|
||||
foreach ($imgs as $x) {
|
||||
echo "<p><a href='$x'>$x</a></p>\n";
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
This picture is released under the Creative Commons Attribution-ShareAlike 3.0
|
||||
Unported license. The author is Niels Serup, and it's based on the pictures
|
||||
found at <http://commons.wikimedia.org/wiki/File:Akiba_denkigai.jpg> and at
|
||||
<http://commons.wikimedia.org/wiki/File:Squirrel_in_Seurasaari_autumn.JPG>,
|
||||
both also released under CC BY-SA 3.0.
|
||||
See also [Akiba_squirrel.xcf] and [ssq.png].
|
|
@ -1,7 +0,0 @@
|
|||
This picture is released under the Creative Commons Attribution-ShareAlike 3.0
|
||||
Unported license. The author is Niels Serup, and it's based on the pictures
|
||||
found at <http://commons.wikimedia.org/wiki/File:Akiba_denkigai.jpg> and at
|
||||
<http://commons.wikimedia.org/wiki/File:Squirrel_in_Seurasaari_autumn.JPG>,
|
||||
both also released under CC BY-SA 3.0.
|
||||
This file can be opened in GIMP.
|
||||
See also [Akiba_squirrel.jpg] and [ssq.png].
|
|
@ -1,4 +0,0 @@
|
|||
Based on <http://commons.wikimedia.org/wiki/File:Gnou_Thoiry_19803.jpg> in PD.
|
||||
This also in the public domain.
|
||||
|
||||
See also [Gnou_Thoiry_19803_modwb4.png]
|
|
@ -1,4 +0,0 @@
|
|||
Based on <http://commons.wikimedia.org/wiki/File:Gnou_Thoiry_19803.jpg> in PD.
|
||||
This also in the public domain.
|
||||
|
||||
See also [Gnou_Thoiry_19803_modbw4.png]
|
|
@ -1 +0,0 @@
|
|||
It's a candle in the public domain.
|
|
@ -1,3 +0,0 @@
|
|||
cc-by-sa Niels Serup
|
||||
|
||||
[catcool.xcf]
|
|
@ -1,3 +0,0 @@
|
|||
CC BY-SA 3.0.
|
||||
|
||||
Also see [catcool.jpg].
|
|
@ -1 +0,0 @@
|
|||
GIMP. Public domain. See also [coolcircle.xcf].
|
|
@ -1 +0,0 @@
|
|||
GIMP. Public domain. See also [coolcircle.png].
|
|
@ -1,3 +0,0 @@
|
|||
It wasn't me!
|
||||
CC-BY-SA 3.0
|
||||
[deadinsect-wshd.jpg]
|
|
@ -1,3 +0,0 @@
|
|||
I honestly didn't kill it.
|
||||
CC-BY-SA 3.0
|
||||
[deadinsect-wshd-red.jpg]
|
|
@ -1,3 +0,0 @@
|
|||
Or is it?
|
||||
|
||||
Public domain.
|
|
@ -1,3 +0,0 @@
|
|||
It's a foot.
|
||||
CC-BY-SA 3.0
|
||||
Also check out [foot-neon.png] and [foot-morbid.png].
|
|
@ -1,3 +0,0 @@
|
|||
It's a foot.
|
||||
CC-BY-SA 3.0
|
||||
Also check out [foot-base.png] and [foot-neon.png].
|
|
@ -1,3 +0,0 @@
|
|||
It's a foot.
|
||||
CC-BY-SA 3.0
|
||||
Also check out [foot-base.png] and [foot-morbid.png].
|
|
@ -1 +0,0 @@
|
|||
public domain
|
|
@ -1 +0,0 @@
|
|||
public domain
|
|
@ -1 +0,0 @@
|
|||
It's just a couple 'o warm 'n fuzzy colors. Public domain.
|
|
@ -1,6 +0,0 @@
|
|||
A picture of me sitting in a chair reading about something on Wikipedia (I think)
|
||||
|
||||
This picture is released under the Creative Commons Attribution-ShareAlike 3.0
|
||||
Unported license. The author is Niels Serup.
|
||||
|
||||
I didn't take this picture (my parents did), but they have transferred their copyright to me.
|
|
@ -1,3 +0,0 @@
|
|||
Watch out!
|
||||
CC-BY-SA 3.0
|
||||
[skelhand.xcf]
|
|
@ -1 +0,0 @@
|
|||
GIMP-specific. See [skelhand.png].
|
|
@ -1,5 +0,0 @@
|
|||
Scary!
|
||||
|
||||
CC BY-SA 3.0 Unported
|
||||
|
||||
[snegle.xcf]
|
|
@ -1,5 +0,0 @@
|
|||
U-U-h
|
||||
|
||||
CC BY-SA 3.0 Unported
|
||||
|
||||
[snegle.png]
|
|
@ -1 +0,0 @@
|
|||
WTFPL 2.0
|
|
@ -1 +0,0 @@
|
|||
=?
|
|
@ -1,6 +0,0 @@
|
|||
This picture is released under the Creative Commons Attribution-ShareAlike 3.0
|
||||
Unported license. The author is Niels Serup, and it's based on the picture
|
||||
found at
|
||||
<http://commons.wikimedia.org/wiki/File:Squirrel_in_Seurasaari_autumn.JPG>,
|
||||
also released under CC BY-SA 3.0.
|
||||
See also [Akiba_squirrel.xcf] and [Akiba_squirrel.jpg].
|
|
@ -1,7 +0,0 @@
|
|||
Stamtræ for Knud Romers "Papa Schneider blinzelt nicht!"
|
||||
|
||||
^^^^^^^^^
|
||||
in Danish
|
||||
|
||||
--------------------
|
||||
cc-by-sa Niels Serup
|
|
@ -1,3 +0,0 @@
|
|||
See also [tube1.png], [tube2.png], [tube3.png] and [tube3m.png].
|
||||
|
||||
Public domain.
|
|
@ -1,3 +0,0 @@
|
|||
See also [tube0.png], [tube2.png], [tube3.png] and [tube3m.png].
|
||||
|
||||
Public domain.
|
|
@ -1,3 +0,0 @@
|
|||
See also [tube0.png], [tube1.png], [tube3.png] and [tube3m.png].
|
||||
|
||||
Public domain.
|
|
@ -1,3 +0,0 @@
|
|||
See also [tube0.png], [tube1.png], [tube2.png] and [tube3m.png].
|
||||
|
||||
Public domain.
|
|
@ -1,3 +0,0 @@
|
|||
See also [tube0.png], [tube1.png], [tube2.png] and [tube3.png].
|
||||
|
||||
Public domain.
|
|
@ -1,2 +0,0 @@
|
|||
It's just a vortex. Public domain.
|
||||
[vortex.xcf]
|
|
@ -1 +0,0 @@
|
|||
See [vortex.png].
|
|
@ -1 +0,0 @@
|
|||
Eh..
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
$saved_crypt_pass = '$1$wlUEyRSB$ToGtvkc3kt69fdn/YiNce.';
|
||||
?>
|
|
@ -1,37 +0,0 @@
|
|||
<?php
|
||||
include('get_info.php');
|
||||
header('Content-type: text/html; charset=UTF-8');
|
||||
$u = $_SERVER['REQUEST_URI'];
|
||||
if (strpos($u, 'show.php?') == 1)
|
||||
$img = $_SERVER['QUERY_STRING'];
|
||||
else
|
||||
$img = substr($u, 1);
|
||||
|
||||
$suf = explode('.', $img);
|
||||
$suf = $suf[sizeof($suf)-1];
|
||||
$suf = strtolower($suf);
|
||||
if ($suf == 'xcf')
|
||||
$img_file = 'xcf.png';
|
||||
else
|
||||
$img_file = $img;
|
||||
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns='http://www.w3.org/1999/xhtml'>
|
||||
<head>
|
||||
<meta name='description' content='Pictures.' />
|
||||
<meta name='keywords' content='pictures of varying quality, stuff' />
|
||||
<meta http-equiv='content-language' content='en' />
|
||||
<meta http-equiv='content-type' content='text/html; charset=utf-8' />
|
||||
<title><?php echo $img; ?></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href='http://pictures.metanohi.org/'>Index</a>
|
||||
<h1><?php echo $img; ?></h1>
|
||||
<p><a href='img/<?php echo $img; ?>'><img alt='<?php echo $img; ?>' title='<?php echo $img; ?>' style='max-width: 590px;' src='img/<?php echo $img_file; ?>' /></a></p>
|
||||
<h2>Information</h2>
|
||||
<pre>
|
||||
<?php echo get_info($img); ?>
|
||||
</pre>
|
||||
<a href='/edit/?i=<?php echo $img; ?>'>Edit</a>
|
||||
</body>
|
||||
</html>
|
|
@ -1,22 +0,0 @@
|
|||
<?php
|
||||
header('Content-type: text/html; charset=UTF-8');
|
||||
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns='http://www.w3.org/1999/xhtml'>
|
||||
<head>
|
||||
<meta name='description' content='Upload a picture. Owner only.' />
|
||||
<meta http-equiv='content-language' content='en' />
|
||||
<meta http-equiv='content-type' content='text/html; charset=utf-8' />
|
||||
<title>Upload picture</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form enctype='multipart/form-data' action='upload.php' method='post'>
|
||||
<p><input name='upfile' type='file' /></p>
|
||||
<p><textarea name='uptext' rows='10' cols='80'></textarea></p>
|
||||
<p><input name='uppass' type='password' /></p>
|
||||
<p><input type='submit' value='Upload file' /></p>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
<?php
|
||||
header('Content-type: text/html; charset=UTF-8');
|
||||
|
||||
$file = $_FILES['upfile'];
|
||||
$filename = basename($file['name']);
|
||||
$info = $_POST['uptext'];
|
||||
$pass = $_POST['uppass'];
|
||||
$img_path = "../img/$filename";
|
||||
$info_path = "../info/$filename.info";
|
||||
|
||||
// Password check
|
||||
include('../saved_crypt_pass.php');
|
||||
$crypt_pass = crypt($pass, $saved_crypt_pass);
|
||||
|
||||
if ($crypt_pass != $saved_crypt_pass)
|
||||
$msg = "Password error";
|
||||
else {
|
||||
// Image file
|
||||
if (move_uploaded_file($file['tmp_name'], $img_path)) {
|
||||
$msg = "'<a href='http://pictures.metanohi.org/$filename'>$filename</a>' uploaded";
|
||||
if (!(file_exists($info_path) && $info == '')) {
|
||||
$info = str_replace('\\\'', '\'', str_replace('\"', "\"", $info));
|
||||
// Info file
|
||||
$f = fopen($info_path, 'w');
|
||||
fwrite($f, $info);
|
||||
fclose($f);
|
||||
}
|
||||
}
|
||||
else
|
||||
$msg = "Upload error";
|
||||
}
|
||||
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns='http://www.w3.org/1999/xhtml'>
|
||||
<head>
|
||||
<title>Uploader</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><?php echo $msg; ?></p>
|
||||
<a href='index.php'>New</a>
|
||||
</body>
|
||||
</html>
|
||||
|