De php code:
<?php
/**
* @version $Id: slimbox.php 2008-02-01 AmyStephen $
* @package Joomla!
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*
* Usage:
*
* Slimbox is a visual clone of the popular Lightbox JS v2.0 by Lokesh Dhakar,
* written using the ultra compact mootools framework. It was designed to be small,
* efficient, more convenient and 100% compatible with the original Lightbox v2.
* From http://www.digitalia.be/software/slimbox
* Slimbox is free software released under MIT License.
* http://www.opensource.org/licenses/mit-license.php
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// Import library dependencies
jimport('joomla.event.plugin');
/**
* Plugin that loads module positions within contentz
*/
class plgContentSlimbox extends JPlugin
{
/**
* Constructor
*
* For php4 compatability we must not use the __constructor as a constructor for
* plugins because func_get_args ( void ) returns a copy of all passed arguments
* NOT references. This causes problems with cross-referencing necessary for the
* observer design pattern.
*/
function plgContentSlimbox ( &$subject, $config )
{
parent::__construct( $subject, $config );
}
/**
* Plugin method with the same name as the event will be called automatically.
*/
function onPrepareContent( &$row, &$params )
{
global $mainframe;
$document =& JFactory::getDocument();
JHTML::_( 'behavior.mootools' );
// Add CSS
$document->addStyleSheet( JURI::base() . 'plugins/content/slimbox/slimbox.css' );
// Add Javascript
$document->addScript( JURI::base() .'plugins/content/slimbox/slimbox.js');
// Find all plugin occurrences
$firsttime = true;
$working = "";
$replacethis = "";
$withthis = "";
$regex = '/{slimbox\s*.*?}/i';
preg_match_all( $regex, $row->text, $matches );
$count = count( $matches[0] );
// Perform once for each plugin occurrence
for ( $i=0; $i < $count; $i++ ) {
$firsttime = true;
$replacethis = $matches[0][$i];
$working = $replacethis;
$working = str_replace( '{slimbox', '', $working );
$working = str_replace( '}', '', $working );
$working = trim($working);
// Display Single image or Gallery of images
if (substr($working,0,6) == "single") {
$singleorGallery = "single";
$working = substr($working,6,(strlen($working) - 6));
$working = trim($working);
} else {
$singleorGallery = "gallery";
}
if ($singleorGallery == "single") {
$js = "";
$js = "
function openGallery" . ($i + 1) . "() {
return Lightbox.open([";
}
$withthis = '';
$withthis .= '<div id="slimbox'. ($i + 1) . '">';
$countimagesets = 0;
$imagesets = explode(";",$working);
$countimagesets = count( $imagesets );
for ( $j=0; $j < $countimagesets; $j++ ) {
$thumbnail = '';
$imagefile = '';
$countpartsofimageset = 0;
$singleimage = explode(",",$imagesets[$j]);
$countpartsofimageset = count( $singleimage );
$imagefile = trim($singleimage[0]);
$thumbnail = trim($singleimage[1]);
$caption = "";
if ($countpartsofimageset == 3) {
$caption = trim($singleimage[2]);
}
if ($singleorGallery == "single") {
if ($firsttime == true) {
$withthis .= '<a href="#" onclick="return openGallery' . ($i + 1) . '()">' . '<img src="'. $thumbnail . '" border="0" /></a>';
} else {
$js .= ", ";
}
$js .= "['" . JURI::base() . $imagefile . "', '" . $caption . "']";
} else {
$withthis .= '<a href="' . JURI::base() . $imagefile . '" class="slimbox" rel="lightbox[slimbox'. $i . ']" title="' . $caption . '">';
$withthis .= '<img src="'. $thumbnail . '" border="0" /></a>';
}
$firsttime = false;
}
if ($singleorGallery == "single") {
$js .= "], 0);
}";
$document->addScriptDeclaration( $js );
}
$withthis .= '</div>';
$row->text = str_replace( $replacethis, $withthis, $row->text );
}
return true;
}
}
Ik zou graag dat mensen als ze op de foto klikken dat ze onderaan een link krijgen waar ze de exif kunnen bekijken. Ik heb al informatie gevonden over de exif:
<link rel="stylesheet" type="text/css" href="http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/style.css" title="Style">
<h2><a name="CameraSettings">Sony CameraSettings Tags</a></h2>
<p>Camera settings for the A200, A230, A300, A350, A700, A850 and A900. Some
tags are only valid for certain models.</p>
<blockquote>
<table class="frame"><tbody><tr><td>
<table class="inner" cellspacing="1">
<tbody><tr class="h"><th>Index</th><th>Tag Name</th>
<th>Writable</th><th>Values / <span class="n">Notes</span></th></tr>
<tr>
<td class="r" title="4 = 0x4">4</td>
<td>DriveMode</td>
<td class="c">int16u</td>
<td><span class="s"><span class="n">(A700 only)</span>
<br>1 = Single Frame
<br>2 = Continuous High
<br>4 = Self-timer 10 sec
<br>5 = Self-timer 2 sec
<br>7 = Continuous Bracketing
<br>12 = Continuous Low
<br>18 = White Balance Bracketing Low
<br>19 = D-Range Optimizer Bracketing Low</span></td></tr>
<tr class="b">
<td class="r" title="6 = 0x6">6</td>
<td>WhiteBalanceFineTune</td>
<td class="c">int16s</td>
<td><span class="s"><span class="n">(A700 only)</span></span></td></tr>
<tr>
<td class="r" title="16 = 0x10">16</td>
<td>FocusMode</td>
<td class="c">int16u</td>
<td><span class="s">0 = Manual
<br>1 = AF-S
<br>2 = AF-C
<br>3 = AF-A</span></td></tr>
<tr class="b">
<td class="r" title="17 = 0x11">17</td>
<td>AFAreaMode</td>
<td class="c">int16u</td>
<td><span class="s">0 = Wide
<br>1 = Local
<br>2 = Spot</span></td></tr>
<tr>
<td class="r" title="18 = 0x12">18</td>
<td>LocalAFAreaPoint</td>
<td class="c">int16u</td>
<td><span class="s">1 = Center
<br>2 = Top
<br>3 = Top-Right
<br>4 = Right
<br>5 = Bottom-Right
<br>6 = Bottom
<br>7 = Bottom-Left
<br>8 = Left
<br>9 = Top-Left
<br>10 = Far Right
<br>11 = Far Left</span></td></tr>
<tr class="b">
<td class="r" title="21 = 0x15">21</td>
<td>MeteringMode</td>
<td class="c">int16u</td>
<td><span class="s">1 = Multi-segment
<br>2 = Center-weighted Average
<br>4 = Spot</span></td></tr>
<tr>
<td class="r" title="22 = 0x16">22</td>
<td>ISOSetting</td>
<td class="c">int16u</td>
<td> </td></tr>
<tr class="b">
<td class="r" title="24 = 0x18">24</td>
<td>DynamicRangeOptimizerMode</td>
<td class="c">int16u</td>
<td><span class="s">0 = Off
<br>1 = Standard
<br>2 = Advanced Auto
<br>3 = Advanced Level
<br>4097 = Auto</span></td></tr>
<tr>
<td class="r" title="25 = 0x19">25</td>
<td>DynamicRangeOptimizerLevel</td>
<td class="c">int16u</td>
<td> </td></tr>
<tr class="b">
<td class="r" title="26 = 0x1a">26</td>
<td>CreativeStyle</td>
<td class="c">int16u</td>
<td><span class="s">1 = Standard
<br>2 = Vivid
<br>3 = Portrait
<br>4 = Landscape
<br>5 = Sunset
<br>6 = Night View/Portrait
<br>8 = B&W
<br>9 = Adobe RGB
<br>11 = Neutral
<br>12 = Clear
<br>13 = Deep
<br>14 = Light
<br>15 = Autumn
<br>16 = Sepia</span></td></tr>
<tr>
<td class="r" title="28 = 0x1c">28</td>
<td>Sharpness</td>
<td class="c">int16u</td>
<td> </td></tr>
<tr class="b">
<td class="r" title="29 = 0x1d">29</td>
<td>Contrast</td>
<td class="c">int16u</td>
<td> </td></tr>
<tr>
<td class="r" title="30 = 0x1e">30</td>
<td>Saturation</td>
<td class="c">int16u</td>
<td> </td></tr>
<tr class="b">
<td class="r" title="31 = 0x1f">31</td>
<td>ZoneMatchingValue</td>
<td class="c">int16u</td>
<td> </td></tr>
<tr>
<td class="r" title="34 = 0x22">34</td>
<td>Brightness</td>
<td class="c">int16u</td>
<td> </td></tr>
<tr class="b">
<td class="r" title="35 = 0x23">35</td>
<td>FlashMode</td>
<td class="c">int16u</td>
<td><span class="s">0 = ADI
<br>1 = TTL</span></td></tr>
<tr>
<td class="r" title="40 = 0x28">40</td>
<td>PrioritySetupShutterRelease</td>
<td class="c">int16u</td>
<td><span class="s"><span class="n">(A700 only)</span>
<br>0 = AF
<br>1 = Release</span></td></tr>
<tr class="b">
<td class="r" title="41 = 0x29">41</td>
<td>AFIlluminator</td>
<td class="c">int16u</td>
<td><span class="s"><span class="n">(A700 only)</span>
<br>0 = Auto
<br>1 = Off</span></td></tr>
<tr>
<td class="r" title="42 = 0x2a">42</td>
<td>AFWithShutter</td>
<td class="c">int16u</td>
<td><span class="s"><span class="n">(A700 only)</span>
<br>0 = On
<br>1 = Off</span></td></tr>
<tr class="b">
<td class="r" title="43 = 0x2b">43</td>
<td>LongExposureNoiseReduction</td>
<td class="c">int16u</td>
<td><span class="s"><span class="n">(A700 only)</span>
<br>0 = Off
<br>1 = On</span></td></tr>
<tr>
<td class="r" title="44 = 0x2c">44</td>
<td>HighISONoiseReduction</td>
<td class="c">int16u</td>
<td><span class="s"><span class="n">(A700 only)</span></span></td></tr>
<tr class="b">
<td class="r" title="45 = 0x2d">45</td>
<td>ImageStyle</td>
<td class="c">int16u</td>
<td><span class="s"><span class="n">(A700 only)</span>
<br>1 = Standard
<br>2 = Vivid
<br>9 = Adobe RGB
<br>11 = Neutral
<br>129 = StyleBox1
<br>130 = StyleBox2
<br>131 = StyleBox3</span></td></tr>
<tr>
<td class="r" title="60 = 0x3c">60</td>
<td>ExposureProgram</td>
<td class="c">int16u</td>
<td><span class="s">0 = Auto
<br>1 = Manual
<br>2 = Program AE
<br>3 = Aperture-priority AE
<br>4 = Shutter speed priority AE
<br>8 = Program Shift A
<br>9 = Program Shift S
<br>16 = Portrait</span></td></tr>
<tr class="b">
<td class="r" title="61 = 0x3d">61</td>
<td>ImageStabilization</td>
<td class="c">int16u</td>
<td><span class="s">0 = Off
<br>1 = On</span></td></tr>
<tr>
<td class="r" title="63 = 0x3f">63</td>
<td>Rotation</td>
<td class="c">int16u</td>
<td><span class="s">0 = Horizontal (normal)
<br>1 = Rotate 90 CW
<br>2 = Rotate 270 CW</span></td></tr>
<tr class="b">
<td class="r" title="84 = 0x54">84</td>
<td>SonyImageSize</td>
<td class="c">int16u</td>
<td><span class="s">1 = Large
<br>2 = Medium
<br>3 = Small</span></td></tr>
<tr>
<td class="r" title="85 = 0x55">85</td>
<td>AspectRatio</td>
<td class="c">int16u</td>
<td><span class="s">1 = 3:2
<br>2 = 16:9</span></td></tr>
<tr class="b">
<td class="r" title="86 = 0x56">86</td>
<td>Quality</td>
<td class="c">int16u</td>
<td><span class="s">0 = RAW
<br>2 = CRAW
<br>16 = Extra Fine
<br>32 = Fine
<br>34 = RAW + JPEG
<br>35 = CRAW + JPEG
<br>48 = Standard</span></td></tr>
<tr>
<td class="r" title="88 = 0x58">88</td>
<td>ExposureLevelIncrements</td>
<td class="c">int16u</td>
<td><span class="s">33 = 1/3 EV
<br>50 = 1/2 EV</span></td></tr>
</tbody></table></td></tr></tbody></table></blockquote>
Zouden jullie misschien een simpel voorbeeld script kunnen maken (ik heb een Sony a200)?
Alvast bedankt.