mirror of
https://github.com/php/presentations.git
synced 2026-03-23 23:22:22 +01:00
Adding my mapping and extensions slide for phpnw
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
<email>derick@derickrethans.nl</email>
|
||||
<twitter>derickr</twitter>
|
||||
<url>http://derickrethans.nl/talks.html</url>
|
||||
<joindin></joindin>
|
||||
<joindin>http://joind.in/3658</joindin>
|
||||
<slide>slides/dbus/title.xml</slide>
|
||||
<slide>slides/toolbox/me.xml</slide>
|
||||
|
||||
|
||||
109
extensions-phpnw11.xml
Normal file
109
extensions-phpnw11.xml
Normal file
@@ -0,0 +1,109 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<presentation
|
||||
template="css"
|
||||
navmode="html"
|
||||
navbarbackground="#4373b4"
|
||||
navbartopiclinks="0"
|
||||
navColor="#f1fbff"
|
||||
logo1=""
|
||||
stylesheet="presentations/slides/ezc/ez.css"
|
||||
backgroundfixed="1" >
|
||||
<topic>Debugging</topic>
|
||||
<title>PHP Extensions - What and Why</title>
|
||||
<event>PHP North West</event>
|
||||
<location>Manchester, UK</location>
|
||||
<date>Oct 8th, 2011</date>
|
||||
<speaker>Derick Rethans</speaker>
|
||||
<email>derick@derickrethans.nl</email>
|
||||
<twitter>derickr</twitter>
|
||||
<url>http://derickrethans.nl/talks.html</url>
|
||||
<joindin>http://joind.in/3586</joindin>
|
||||
<slide>slides/dbus/title.xml</slide>
|
||||
<slide>slides/toolbox/me.xml</slide>
|
||||
|
||||
<slide>slides/internals/extension-on-a-slide.xml</slide>
|
||||
|
||||
<!--
|
||||
So you've heard that PHP supports extensions. But what are they exactly, what
|
||||
can you do with them, and what *can't* you do with them? And mostly, why would
|
||||
you or would you not want to spend time writing them?
|
||||
|
||||
This session will introduce you into what PHP extensions are, and what they can
|
||||
do for you. It will cover cases of when it makes sense to write extensions and
|
||||
which things you need to think of when deciding whether you want to put the
|
||||
effort into writing an extension.
|
||||
|
||||
The talk then proceeds with a small introduction to the request cycle and PHP's
|
||||
memory management. It mentions which parts of PHP you could override and which
|
||||
parts you can hook into. It will also cover things that you can not do with
|
||||
extensions.
|
||||
|
||||
examples
|
||||
core ext
|
||||
internal ext
|
||||
external ext
|
||||
pecl
|
||||
zend ext
|
||||
|
||||
functions
|
||||
classes
|
||||
ini settings
|
||||
|
||||
hooks
|
||||
- startup, shutdown
|
||||
|
||||
overloading:
|
||||
- errors
|
||||
- compile
|
||||
- execute
|
||||
- replacing functions
|
||||
|
||||
stream filters
|
||||
- phar
|
||||
- encryption
|
||||
|
||||
|
||||
|
||||
no syntax change
|
||||
- british php
|
||||
|
||||
why:
|
||||
- wrapping libraries
|
||||
- fast, specific extensions
|
||||
- replacing PHP functions
|
||||
-->
|
||||
<slide>slides/internals/extensions.xml</slide>
|
||||
<slide>slides/internals/core-extensions.xml</slide>
|
||||
<slide>slides/internals/internal-extensions.xml</slide>
|
||||
<slide>slides/internals/external-extensions.xml</slide>
|
||||
<slide>slides/internals/pecl.xml</slide>
|
||||
<slide>slides/internals/overview.xml</slide>
|
||||
<slide>slides/internals/overview2.xml</slide>
|
||||
|
||||
<slide>slides/internals/functions.xml</slide>
|
||||
<slide>slides/internals/classes-etc.xml</slide>
|
||||
|
||||
<slide>slides/internals/hooks.xml</slide>
|
||||
<slide>slides/internals/overload.xml</slide>
|
||||
<slide>slides/internals/opcodes-question.xml</slide>
|
||||
|
||||
<slide>slides/internals/execute5.xml</slide>
|
||||
<slide>slides/internals/opcode2.xml</slide>
|
||||
<slide>slides/internals/execute2.xml</slide>
|
||||
<slide>slides/internals/opcode-cache.xml</slide>
|
||||
|
||||
<slide>slides/internals/opcode-overload2.xml</slide>
|
||||
<slide>slides/internals/replacing-functions.xml</slide>
|
||||
<slide>slides/internals/streams.xml</slide>
|
||||
<slide>slides/internals/syntax-changes.xml</slide>
|
||||
|
||||
<slide>slides/internals/why-wrapping-libs.xml</slide>
|
||||
<slide>slides/internals/why-fast-specific.xml</slide>
|
||||
<slide>slides/internals/why-replace-php.xml</slide>
|
||||
<slide>slides/internals/why-not-possible.xml</slide>
|
||||
|
||||
<slide>slides/internals/questions.xml</slide>
|
||||
<slide>slides/internals/resources.xml</slide>
|
||||
<slide>slides/internals/thanks.xml</slide>
|
||||
|
||||
</presentation>
|
||||
19
jquery-1.3.2.min.js
vendored
Normal file
19
jquery-1.3.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
73
maps-phpnw11.xml
Normal file
73
maps-phpnw11.xml
Normal file
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<presentation
|
||||
template="css"
|
||||
navmode="html"
|
||||
navbarbackground="#4373b4"
|
||||
navbartopiclinks="0"
|
||||
navColor="#f1fbff"
|
||||
logo1=""
|
||||
backgroundfixed="1" >
|
||||
<topic>Maps</topic>
|
||||
<title>Why you should be contributing to OpenStreetMap and not Google Maps</title>
|
||||
<event>PHP North West Unconference</event>
|
||||
<location>Manchester, UK</location>
|
||||
<date>October 8th, 2011</date>
|
||||
<speaker>Derick Rethans</speaker>
|
||||
<email>derick@derickrethans.nl</email>
|
||||
<twitter>derickr</twitter>
|
||||
<joindin>http://joind.in/3809</joindin>
|
||||
<url>http://derickrethans.nl/talks.html</url>
|
||||
<slide>slides/map/title.xml</slide>
|
||||
|
||||
<!--
|
||||
In this talk I will be explaining the strong points of OpenStreetMap and why
|
||||
using GoogleMaps for your websites is generally a bad idea. Contrary to popular
|
||||
belief, GoogleMaps isn't as amazing as it looks and they are a lot more evil
|
||||
than they look. OpenStreetMap's data is also easily accessible for use in PHP
|
||||
applications and the generated tiles can easily be embedded into a Web 2.0
|
||||
application. Its open nature is a welcome and powerful geo database that can be
|
||||
added to and used in whatever way imaginary.
|
||||
-->
|
||||
|
||||
<!--
|
||||
What is X?
|
||||
-->
|
||||
<slide>slides/map/what-is-googlemaps.xml</slide>
|
||||
<slide>slides/map/osm-what.xml</slide>
|
||||
<slide>slides/map/what-is-osm.xml</slide>
|
||||
<slide>slides/map/osm-mapping-party.xml</slide>
|
||||
<slide>slides/map/osm-editors.xml</slide>
|
||||
<slide>slides/map/osm-kibera.xml</slide>
|
||||
<slide>slides/map/gmm-korogocho.xml</slide>
|
||||
<slide>slides/map/mapping-belarus.xml</slide>
|
||||
<slide>slides/map/osm-data-uses.xml</slide>
|
||||
<slide>slides/map/terms-and-conditions.xml</slide>
|
||||
<slide>slides/map/gmaps-bad-data.xml</slide>
|
||||
|
||||
<!--
|
||||
// mapping party rip off: http://google-latlong.blogspot.com/2010/12/mapping-korogocho.html
|
||||
<div effect="fade-in-out"><iframe filename='http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=googlemap&lon=36.88608&lat=-1.25629&zoom=16'/></div>
|
||||
<blurb>Related projects include:</blurb>
|
||||
<list>
|
||||
<bullet>The rendered map at http://openstreetmap.org</bullet>
|
||||
<bullet>OpenLayers (http://openlayers.org/) and LeafLet (http://leaflet.cloudmade.com/) as JavaScript mapping libraries</bullet>
|
||||
<bullet>Different renderings: OpenCycleMap (http://opencyclemap.org/), OpenSeaMap (http://openseamap.org), OpenBusMap (http://openbusmap.org/), OpenPisteMap (http://openpistemap.org/), WheelMap (http://wheelmap.org/en)</bullet>
|
||||
</list>
|
||||
|
||||
|
||||
|
||||
tblisi:
|
||||
<div effect="fade-in-out"><iframe filename='http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=googlemap&lat=41.7292&lon=44.7735&zoom=13'/></div>
|
||||
|
||||
// bad data (in hampstead heath)
|
||||
<div effect="fade-in-out"><iframe filename='http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=googlemap&lon=-0.16797&lat=51.55532&zoom=17'/></div>
|
||||
|
||||
|
||||
|
||||
latlon-buildings
|
||||
<div effect="fade-in-out"><iframe filename="http://latlon.org/buildings?lat=48.73813&lon=9.11073&zoom=17&layers=BT"/></div>
|
||||
-->
|
||||
|
||||
<slide>slides/map/resources.xml</slide>
|
||||
|
||||
</presentation>
|
||||
@@ -10,7 +10,7 @@
|
||||
backgroundfixed="1" >
|
||||
<topic>Debugging</topic>
|
||||
<title>Profiling PHP Applications</title>
|
||||
<event>PHP Conf Russia</event>
|
||||
<event>DevConf</event>
|
||||
<location>Moscow, Russian Federation</location>
|
||||
<date>Jun 4, 2011</date>
|
||||
<speaker>Derick Rethans</speaker>
|
||||
|
||||
BIN
slides/map/editor-josm.png
Normal file
BIN
slides/map/editor-josm.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 485 KiB |
BIN
slides/map/editor-none.png
Normal file
BIN
slides/map/editor-none.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 246 KiB |
BIN
slides/map/editor-potlatch2.png
Normal file
BIN
slides/map/editor-potlatch2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 97 KiB |
BIN
slides/map/editor-potlatch2a.png
Normal file
BIN
slides/map/editor-potlatch2a.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 463 KiB |
5
slides/map/gmaps-bad-data.xml
Normal file
5
slides/map/gmaps-bad-data.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<slide>
|
||||
<title>Bad data</title>
|
||||
<div effect="fade-out"><iframe filename='http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=googlemap&lat=41.7292&lon=44.7735&zoom=13'/></div>
|
||||
<div effect="fade-in"><iframe filename='http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=googlemap&lon=-0.16797&lat=51.55532&zoom=17'/></div>
|
||||
</slide>
|
||||
7
slides/map/gmm-korogocho.xml
Normal file
7
slides/map/gmm-korogocho.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<slide>
|
||||
<title>Mapping party: Korogocho</title>
|
||||
<div effect="fade-out">
|
||||
<iframe filename="http://google-latlong.blogspot.com/2010/12/mapping-korogocho.html"/>
|
||||
</div>
|
||||
<div effect="fade-in"> <iframe filename="http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=googlemap&lon=36.88608&lat=-1.25629&zoom=16"/></div>
|
||||
</slide>
|
||||
11
slides/map/mapping-belarus.xml
Normal file
11
slides/map/mapping-belarus.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<slide>
|
||||
<title>Google Mapping Party</title>
|
||||
|
||||
<list>
|
||||
<bullet>Google invited an OSM-er to a Google MapMaker mapping "course"</bullet>
|
||||
<bullet>They were shown arm-chair mapping</bullet>
|
||||
<bullet>OSMers showed a little about what a real mapping party is</bullet>
|
||||
<bullet>They asked tough questions: "How can we use the mapping data in a GPS?", "How can I map some grass?" and "How can I get all the pubs?"</bullet>
|
||||
<bullet>OSM is about the *data*, *any* kind of geographic data</bullet>
|
||||
</list>
|
||||
</slide>
|
||||
BIN
slides/map/mapping-party.jpg
Normal file
BIN
slides/map/mapping-party.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 192 KiB |
17
slides/map/osm-data-uses.xml
Normal file
17
slides/map/osm-data-uses.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<slide>
|
||||
<title>Using data</title>
|
||||
<div effect="fade-out">
|
||||
<list>
|
||||
<bullet>Quering data (API, XAPI/JXAPI, Nominatim)</bullet>
|
||||
<bullet>Render and display what ever you want from it</bullet>
|
||||
</list>
|
||||
</div>
|
||||
<div effect="fade-in-out"><iframe filename='http://opencyclemap.org/?zoom=15&lat=53.47574&lon=-2.24345&layers=B0'/></div>
|
||||
<div effect="fade-in-out"><iframe filename='http://openseamap.org/index.php?id=startseite&L=1'/></div>
|
||||
<div effect="fade-in-out"><iframe filename='http://openbusmap.org/?zoom=16&lat=53.47784&lon=-2.23541&layers=BT'/></div>
|
||||
<div effect="fade-in-out"><iframe filename='http://openpistemap.org/?lat=56.6171&lon=-4.8468&zoom=14&layers=BTT00T'/></div>
|
||||
<div effect="fade-in-out"><iframe width="560" height="315" filename="http://www.youtube.com/embed/u7ddxtFK1T8" frameborder="0" allowfullscreen="yes"></iframe></div>
|
||||
<div effect="fade-in-out"><iframe filename='http://wheelmap.org/en?zoom=18&lat=51.52256&lon=-0.13706&layers=BT'/></div>
|
||||
<div effect="fade-in-out"><iframe filename="http://latlon.org/buildings?lat=53.47989&lon=-2.23751&zoom=17&layers=BT"/></div>
|
||||
<div effect="fade-in-out"><iframe filename="http://86.1.68.93/ol-local.php"/></div>
|
||||
</slide>
|
||||
15
slides/map/osm-editors.xml
Normal file
15
slides/map/osm-editors.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<slide>
|
||||
<title>Editting the map</title>
|
||||
<div effect="fade-out">
|
||||
<image filename='editor-none.png'/>
|
||||
</div>
|
||||
<div effect="fade-in-out">
|
||||
<image filename='editor-potlatch2.png'/>
|
||||
</div>
|
||||
<div effect="fade-in-out">
|
||||
<image filename='editor-potlatch2a.png'/>
|
||||
</div>
|
||||
<div effect="fade-in-out">
|
||||
<image filename='editor-josm.png'/>
|
||||
</div>
|
||||
</slide>
|
||||
4
slides/map/osm-kibera.xml
Normal file
4
slides/map/osm-kibera.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<slide>
|
||||
<title>Mapping party: Kibera</title>
|
||||
<iframe filename="http://mapkibera.org"/>
|
||||
</slide>
|
||||
19
slides/map/osm-mapping-party.xml
Normal file
19
slides/map/osm-mapping-party.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<slide>
|
||||
<title>Mapping parties</title>
|
||||
<div effect="fade-out">
|
||||
<blurb>As OSM's main purpose is creating a database of free map data:</blurb>
|
||||
<list>
|
||||
<bullet>data needs to be generated (surveyed), which is best done by hand</bullet>
|
||||
<bullet>data needs to be added to the database: Potlatch, JOSM</bullet>
|
||||
<bullet>surveying is more fun if you're not alone</bullet>
|
||||
<bullet>why not do it in a group?</bullet>
|
||||
</list>
|
||||
<image filename='postbox.png'/>
|
||||
</div>
|
||||
<div effect="fade-in-out">
|
||||
<image filename='mapping-party.jpg'/>
|
||||
</div>
|
||||
<div effect="fade-in">
|
||||
<iframe filename='http://player.vimeo.com/video/28732152?title=0&byline=0&portrait=0'/>
|
||||
</div>
|
||||
</slide>
|
||||
BIN
slides/map/postbox.png
Normal file
BIN
slides/map/postbox.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
18
slides/map/terms-and-conditions.xml
Normal file
18
slides/map/terms-and-conditions.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<slide>
|
||||
<title>Terms and Conditions</title>
|
||||
<blurb>OSM:</blurb>
|
||||
<list><bullet>OpenStreetMap is open data, licensed under the Creative Commons Attribution-ShareAlike 2.0 licence (CC-BY-SA).</bullet></list>
|
||||
<break/>
|
||||
<blurb>Google Maps:</blurb>
|
||||
<list>
|
||||
<bullet>*Can I generate a map image using the Google Static Maps API which I store and serve from my website?* — You may *not* store and serve copies
|
||||
of images generated using the Google Static Maps API from your
|
||||
website.</bullet>
|
||||
<bullet>*What transaction limits apply to the Maps API?* — From October 1st
|
||||
2011 commercial web sites and applications using the Maps API may at no
|
||||
cost generate: up to 2,500 map transactions</bullet>
|
||||
<bullet>*Geocoding Usage Limits*:
|
||||
Use of the Google Geocoding API is subject to a query limit of 2,500
|
||||
geolocation requests per day</bullet>
|
||||
</list>
|
||||
</slide>
|
||||
17
slides/map/what-is-googlemaps.xml
Normal file
17
slides/map/what-is-googlemaps.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<slide>
|
||||
<title>What is Google Maps?</title>
|
||||
|
||||
<div effect="fade-out">
|
||||
<iframe filename='examples/googlemap.html' image='openlayers.png'/>
|
||||
</div>
|
||||
<div effect="fade-in">
|
||||
<blurb>In words:</blurb>
|
||||
<list>
|
||||
<bullet>It gives you free map tiles</bullet>
|
||||
<bullet>It gives you satellite imagery</bullet>
|
||||
<bullet>It gives you StreetView™</bullet>
|
||||
<bullet>It gives you a free JavaScript library</bullet>
|
||||
<bullet>It gives you a free geo-coding API</bullet>
|
||||
</list>
|
||||
</div>
|
||||
</slide>
|
||||
8
slides/map/what-is-osm.xml
Normal file
8
slides/map/what-is-osm.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<slide>
|
||||
<title>What is OpenStreetMap?</title>
|
||||
<list>
|
||||
<bullet>A database with geographic *data* of the whole planet under a free license</bullet>
|
||||
<bullet>APIs to add, retrieve and query map data</bullet>
|
||||
<bullet>A social platform for improving the map</bullet>
|
||||
</list>
|
||||
</slide>
|
||||
17
templates/default/blurb.ezt
Normal file
17
templates/default/blurb.ezt
Normal file
@@ -0,0 +1,17 @@
|
||||
{use $node, $pres}
|
||||
{var $class = get_attribute( $node, 'class' )}
|
||||
{var $align = get_attribute( $node, 'align' )}
|
||||
{var $effect = get_attribute( $node, 'effect' )}
|
||||
{if $effect}<div class="effect-{$effect}">{/if}
|
||||
<div{if $class} class='{$class}'{/if}{if $align} align='{$align}'{/if}>
|
||||
<p>
|
||||
{foreach $node->childNodes as $child}
|
||||
{if is_set( $child->tagName )}
|
||||
{include $child->tagName . '.ezt' send $child as $node, $pres, true as $inline}
|
||||
{else}
|
||||
{raw format_text( $pres, $child->nodeValue )}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</p>
|
||||
</div>
|
||||
{if $effect}</div>{/if}
|
||||
1
templates/default/br.ezt
Normal file
1
templates/default/br.ezt
Normal file
@@ -0,0 +1 @@
|
||||
<br />
|
||||
4
templates/default/break.ezt
Normal file
4
templates/default/break.ezt
Normal file
@@ -0,0 +1,4 @@
|
||||
{use $node}
|
||||
{var $lines = get_attribute( $node, 'lines' )}
|
||||
{var $i = 0}
|
||||
<br/>{while $i < $lines - 1}<br />{$i++}{/while}
|
||||
12
templates/default/bullet.ezt
Normal file
12
templates/default/bullet.ezt
Normal file
@@ -0,0 +1,12 @@
|
||||
{use $node, $pres}
|
||||
<li>
|
||||
<p>
|
||||
{foreach $node->childNodes as $child}
|
||||
{if is_set( $child->tagName )}
|
||||
{include $child->tagName . '.ezt' send $child as $node, $pres, true as $inline}
|
||||
{else}
|
||||
{raw format_text( $pres, $child->nodeValue )}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</p>
|
||||
</li>
|
||||
8
templates/default/code.ezt
Normal file
8
templates/default/code.ezt
Normal file
@@ -0,0 +1,8 @@
|
||||
{use $pres, $node}
|
||||
<pre class='code'>{foreach $node->childNodes as $child}
|
||||
{if is_set( $child->tagName )}
|
||||
{include $child->tagName . '.ezt' send $child as $node, $pres, true as $inline}
|
||||
{else}
|
||||
{raw format_text( $pres, $child->nodeValue )}
|
||||
{/if}
|
||||
{/foreach}</pre>
|
||||
9
templates/default/div.ezt
Normal file
9
templates/default/div.ezt
Normal file
@@ -0,0 +1,9 @@
|
||||
{use $node, $pres}
|
||||
{var $effect = get_attribute( $node, 'effect' )}
|
||||
<div{if $effect} class='effect-{$effect}'{/if}>
|
||||
{foreach $node->childNodes as $child}
|
||||
{if is_set( $child->tagName )}
|
||||
{include $child->tagName . '.ezt' send $child as $node, $pres}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
10
templates/default/example.ezt
Normal file
10
templates/default/example.ezt
Normal file
@@ -0,0 +1,10 @@
|
||||
{use $pres, $node}
|
||||
<pre class='code'>{ replace_properties( $pres, $node->nodeValue )}</pre>
|
||||
{if get_attribute( $node, 'result' ) == 1}
|
||||
<div class='effect-slide'>
|
||||
<div class='result'>
|
||||
<p>Result:</p>
|
||||
<pre>{raw run_code( replace_properties( $pres, $node->nodeValue ) )}</pre>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
9
templates/default/html.ezt
Normal file
9
templates/default/html.ezt
Normal file
@@ -0,0 +1,9 @@
|
||||
{use $node, $pres}
|
||||
{var $class = get_attribute( $node, 'class' )}
|
||||
{var $align = get_attribute( $node, 'align' )}
|
||||
{var $effect = get_attribute( $node, 'effect' )}
|
||||
{if $effect}<div class="effect-{$effect}">{/if}
|
||||
<div {if $class}class='{$class}'{else}class='html'{/if}{if $align} align='{$align}'{/if}>
|
||||
{raw $node->nodeValue}
|
||||
</div>
|
||||
{if $effect}</div>{/if}
|
||||
14
templates/default/iframe.ezt
Normal file
14
templates/default/iframe.ezt
Normal file
@@ -0,0 +1,14 @@
|
||||
{use $node, $pres, $inline = false}
|
||||
{var $align = get_attribute( $node, 'align' )}
|
||||
{var $attr = get_attribute( $node, 'attr' )}
|
||||
{var $height = get_attribute( $node, 'height' )}
|
||||
{var $source = ''}
|
||||
{if str_starts_with(get_attribute($node, 'filename'), 'http://')}
|
||||
{$source = get_attribute($node, 'filename')}
|
||||
{else}
|
||||
{$source = str_append($pres->base, get_attribute( $node, 'filename' ))}
|
||||
{/if}
|
||||
{if $attr}<div{if $align} align='{$align}'{/if}>{/if}
|
||||
<iframe style="clear: both; margin-left: 9px;" scrolling="no" frameborder="0" width="1010" height="592" {if $inline}class='inline' {/if}{if $align}align='{$align}' {/if}src='{$source}'></iframe>
|
||||
<img src="{$pres->base}{get_attribute( $node, 'image' )}"/>
|
||||
{if $attr}<span class='attribution'>{$attr}</span></div>{/if}
|
||||
6
templates/default/image.ezt
Normal file
6
templates/default/image.ezt
Normal file
@@ -0,0 +1,6 @@
|
||||
{use $node, $pres, $inline = false}
|
||||
{var $align = get_attribute( $node, 'align' )}
|
||||
{var $attr = get_attribute( $node, 'attr' )}
|
||||
{if $attr}<div{if $align} align='{$align}'{/if}>{/if}
|
||||
<img {if $inline}class='inline' {/if}{if $align}align='{$align}' class='{$align}' {/if}src='{$pres->base}{get_attribute( $node, 'filename' )}'/>
|
||||
{if $attr}<p class='attribution'>{$attr}</p></div>{/if}
|
||||
8
templates/default/link.ezt
Normal file
8
templates/default/link.ezt
Normal file
@@ -0,0 +1,8 @@
|
||||
{use $node, $pres, $inline = false}
|
||||
{if $inline}
|
||||
<span class='link'>{get_attribute( $node, 'leader' )}<a href='{get_attribute( $node, 'href' )}'>{get_attribute( $node, 'href' )}</a></span>
|
||||
{else}
|
||||
<div class='link'>
|
||||
<p>{get_attribute( $node, 'leader' )}<a href='{get_attribute( $node, 'href' )}'>{get_attribute( $node, 'href' )}</a></p>
|
||||
</div>
|
||||
{/if}
|
||||
9
templates/default/list.ezt
Normal file
9
templates/default/list.ezt
Normal file
@@ -0,0 +1,9 @@
|
||||
{use $node, $pres}
|
||||
{var $class = get_attribute( $node, 'class' )}
|
||||
<ul{if $class} class='{$class}'{/if}>
|
||||
{foreach $node->childNodes as $child}
|
||||
{if is_set( $child->tagName )}
|
||||
{include $child->tagName . '.ezt' send $child as $node, $pres}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
6
templates/default/qrcode.ezt
Normal file
6
templates/default/qrcode.ezt
Normal file
@@ -0,0 +1,6 @@
|
||||
{use $node, $pres}
|
||||
{if str_trim( format_text( $pres, $node->nodeValue ) ) == ''}
|
||||
<img src="http://qrcode.kaywa.com/img.php?s=8&d=http://derickrethans.nl/talks.html"/>
|
||||
{else}
|
||||
<img src="http://qrcode.kaywa.com/img.php?s=8&d={raw format_text( $pres, $node->nodeValue )}"/>
|
||||
{/if}
|
||||
2
templates/default/rst/presentation.ezt
Normal file
2
templates/default/rst/presentation.ezt
Normal file
@@ -0,0 +1,2 @@
|
||||
{use $pres}
|
||||
{title( $pres->title, "=") }
|
||||
6
templates/default/slide-contents.ezt
Normal file
6
templates/default/slide-contents.ezt
Normal file
@@ -0,0 +1,6 @@
|
||||
{use $node, $pres}
|
||||
{foreach $node->childNodes as $child}
|
||||
{if is_set( $child->tagName )}
|
||||
{include $child->tagName . '.ezt' send $child as $node, $pres}
|
||||
{/if}
|
||||
{/foreach}
|
||||
15
templates/default/slide-image-page.ezt
Normal file
15
templates/default/slide-image-page.ezt
Normal file
@@ -0,0 +1,15 @@
|
||||
{use $node, $pres, $slideNr}
|
||||
<div class='image-slide'>
|
||||
{foreach $node->childNodes as $child}
|
||||
{if is_set( $child->tagName ) && $child->tagName == 'image'}
|
||||
{include $child->tagName . '.ezt' send $child as $node, $pres}
|
||||
{/if}
|
||||
{/foreach}
|
||||
<div class="text-overlay">
|
||||
{foreach $node->childNodes as $child}
|
||||
{if is_set( $child->tagName ) && $child->tagName == 'title'}
|
||||
{include $child->tagName . '.ezt' send $child as $node, $pres}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
5
templates/default/slide-page.ezt
Normal file
5
templates/default/slide-page.ezt
Normal file
@@ -0,0 +1,5 @@
|
||||
{use $node, $pres, $slideNr}
|
||||
<div class='slide'>
|
||||
{include 'slide-contents.ezt' send $node, $pres}
|
||||
<div class='slideCount'>{$slideNr + 1}/{array_count( $pres->slideFiles ) }</div>
|
||||
</div>
|
||||
4
templates/default/slide-section-page.ezt
Normal file
4
templates/default/slide-section-page.ezt
Normal file
@@ -0,0 +1,4 @@
|
||||
{use $node, $pres, $slideNr}
|
||||
<div class='section-slide'>
|
||||
{include 'slide-contents.ezt' send $node, $pres}
|
||||
</div>
|
||||
4
templates/default/slide-title-page.ezt
Normal file
4
templates/default/slide-title-page.ezt
Normal file
@@ -0,0 +1,4 @@
|
||||
{use $node, $pres, $slideNr}
|
||||
<div class='title-slide'>
|
||||
{include 'slide-contents.ezt' send $node, $pres}
|
||||
</div>
|
||||
94
templates/default/slide.ezt
Normal file
94
templates/default/slide.ezt
Normal file
@@ -0,0 +1,94 @@
|
||||
{use $node, $pres, $slideNr}
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>{$pres->title}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="AUTHOR" content="{$pres->speaker}" />
|
||||
<link type="text/css" rel="stylesheet" href="/core.css"/>
|
||||
<!--[if lt IE 8]>
|
||||
<script src="IE8.js" type="text/javascript"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript" src="/jquery-1.3.2.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
{literal}
|
||||
|
||||
$(document).ready(function() {
|
||||
$("*[class^='effect']").hide();
|
||||
$("*[class^='effect-fade-out']").show();
|
||||
});
|
||||
|
||||
function processNextEvent()
|
||||
{
|
||||
var effect = $("*[class^='effect']:first");
|
||||
if (effect.length) {
|
||||
var eclass = effect.attr('class');
|
||||
if (eclass == 'effect-slide') {
|
||||
$(effect).slideDown();
|
||||
$(effect).removeClass(eclass);
|
||||
} else if (eclass == 'effect-fade-in-out') {
|
||||
$(effect).fadeIn( 250 );
|
||||
$(effect).removeClass(eclass);
|
||||
$(effect).addClass( 'effect-fade-out' );
|
||||
} else if (eclass == 'effect-fade-out') {
|
||||
$(effect).fadeOut( 250, function() { processNextEvent(); } );
|
||||
$(effect).removeClass(eclass);
|
||||
} else if (eclass == 'effect-fade-in') {
|
||||
$(effect).fadeIn( 250 );
|
||||
$(effect).removeClass(eclass);
|
||||
} else if (eclass == 'effect-hide') {
|
||||
$(effect).show();
|
||||
$(effect).removeClass(eclass);
|
||||
}
|
||||
|
||||
} else {{/literal}
|
||||
{if $slideNr < array_count($pres->slideFiles) - 1}
|
||||
{literal}
|
||||
document.location = '/show2.php/{/literal}{$pres->presName}/{$slideNr + 1}{literal}';
|
||||
{/literal}{/if}{literal}
|
||||
}
|
||||
}
|
||||
|
||||
function processPrevEvent()
|
||||
{
|
||||
{/literal}{if $slideNr > 0}
|
||||
{literal}
|
||||
document.location = '/show2.php/{/literal}{$pres->presName}/{$slideNr - 1}{literal}';
|
||||
{/literal}{/if}
|
||||
{literal}
|
||||
}
|
||||
|
||||
$('*').keypress(function(event) {
|
||||
if (event.keyCode == '39') {
|
||||
processNextEvent();
|
||||
event.preventDefault();
|
||||
}
|
||||
if (event.keyCode == '37') {
|
||||
processPrevEvent();
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
{/literal}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
{var $img = get_attribute( $node, 'background' )}
|
||||
<body{if $img} style='background-image: url({$pres->base}{$img});'{/if}>
|
||||
<div class='whole-slide'>
|
||||
{switch ( get_attribute( $node, 'type' ) )}
|
||||
{case 'section'}
|
||||
{include 'slide-section-page.ezt' send $node, $pres, $slideNr}
|
||||
{/case}
|
||||
{case 'title'}
|
||||
{include 'slide-title-page.ezt' send $node, $pres, $slideNr}
|
||||
{/case}
|
||||
{case 'image'}
|
||||
{include 'slide-image-page.ezt' send $node, $pres, $slideNr}
|
||||
{/case}
|
||||
{default}
|
||||
{include 'slide-page.ezt' send $node, $pres, $slideNr}
|
||||
{/default}
|
||||
{/switch}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
2
templates/default/subtitle.ezt
Normal file
2
templates/default/subtitle.ezt
Normal file
@@ -0,0 +1,2 @@
|
||||
{use $pres, $node}
|
||||
<h2>{raw format_text( $pres, $node->nodeValue )}</h2>
|
||||
2
templates/default/title.ezt
Normal file
2
templates/default/title.ezt
Normal file
@@ -0,0 +1,2 @@
|
||||
{use $node}
|
||||
<h1>{$node->nodeValue}</h1>
|
||||
Reference in New Issue
Block a user