|
From: FlorinCB <ory...@us...> - 2008-08-29 09:31:33
|
Update of /cvsroot/mxbb/mx_smartor/docs In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv6379 Added Files: album_mod_fap.sql album_mod_fap.xml modx.subsilver.en.xsl Log Message: mod stuff --- NEW FILE: modx.subsilver.en.xsl --- <?xml version="1.0" encoding="UTF-8" ?> <!-- MODX by the phpBB MOD Team XSL file v1.0 copyright 2005-2006 the phpBB MOD Team. $Id: modx.subsilver.en.xsl,v 1.1 2008/08/29 09:31:25 orynider Exp $ --> <!DOCTYPE xsl:stylesheet[ <!ENTITY nbsp " "> ]> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:mod="http://www.phpbb.com/mods/xml/modx-1.0.xsd"> <xsl:output method="html" omit-xml-declaration="no" indent="yes" /> <xsl:variable name="title" select="mod:mod/mod:header/mod:title" /> <xsl:variable name="version"> <xsl:for-each select="mod:mod/mod:header/mod:mod-version"> <xsl:call-template name="give-version"> </xsl:call-template> </xsl:for-each> </xsl:variable> <xsl:template match="mod:mod"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Language" content="en-GB" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style> /* Style for a "Recommendation" */ /* Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved. The following software licensing rules apply: http://www.w3.org/Consortium/Legal/copyright-software */ /* $Id: modx.subsilver.en.xsl,v 1.1 2008/08/29 09:31:25 orynider Exp $ */ /* Updated by Jon Stanley for use in phpBB XML MOD */ /* Updated by David Smith to look subSilvery for phpBB */ html, body { font-family: Verdana, Arial, Helvetica, sans-serif; color: black; background: #E5E5E5; background-position: top left; background-attachment: fixed; background-repeat: no-repeat; } :link { color : #006699; background: transparent } :visited { color : #006699; background: transparent } a:active { color : #006699; background: transparent } a:hover { text-decoration: underline; color : #DD6900; } a:link img, a:visited img { border-style: none } /* no border on img links */ a img { color: white; } /* trick to hide the border in Netscape 4 */ @media all { /* hide the next rule from Netscape 4 */ a img { color: inherit; } /* undo the color change above */ } th, td { /* ns 4 */ font-family: sans-serif; } h1, h2, h3, h4, h5, h6 { text-align: left } /* background should be transparent, but WebTV has a bug */ h1, h2, h3 { color: #006699 } h1 { font: 170% sans-serif } h2 { font: 140% sans-serif } h3 { font: 120% sans-serif } h4 { font: bold 100% sans-serif } h5 { font: italic 100% sans-serif } h6 { font: small-caps 100% sans-serif } .hide { display: none } div.head { margin-bottom: 1em } div.head h1 { margin-top: 2em; clear: both } div.head table { margin-left: 2em; margin-top: 2em } p.copyright { font-size: small } p.copyright small { font-size: small } @media screen { /* hide from IE3 */ a[href]:hover { background: #ffa } } pre { margin-left: 2em } /* p { margin-top: 0.6em; margin-bottom: 0.6em; } */ dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ dt { font-weight: bold } pre, code { font-family: monospace } /* navigator 4 requires this */ ul.toc { list-style: disc; /* Mac NS has problem with 'none' */ list-style: none; } @media aural { h1, h2, h3 { stress: 20; richness: 90 } .hide { speak: none } p.copyright { volume: x-soft; speech-rate: x-fast } dt { pause-before: 20% } pre { speak-punctuation: code } } /* Additional styles */ div.editFile {border: 2px solid #333333; margin: 0em 0em 2em; padding: 1em 1em; background: #D1D7DC;} div.editFile h2 { font-size: 170%; margin: 0.4em 0em; } div.action { border: 2px solid #DD6900; padding: 1em; background: #DEE3E7; margin: 1em 0em; } div.action p { font-weight: normal; margin-top: 0px; margin-bottom: 0px; font-size: 0.8em; } div.action h3 { margin-top: 0px; margin-bottom: 0px; } div.action pre { padding: 0.2em; background: #EFEFEF; border: 2px solid #006699; overflow: scroll; width: 95%; } div.editFile pre { padding: 0.2em; background: #EFEFEF; border: 2px solid #006699; overflow: scroll; width: 95%; } #pageBody { background-color: #FFFFFF; border: 1px #98AAB1 solid; padding: 1em 1em;} hr { height: 0px; border: solid #D1D7DC 0px; border-top-width: 1px;} strong.red { color: red; } </style> <script type="text/javascript"><![CDATA[<!--]]> var i = 0; var box = new Array(); <xsl:for-each select="mod:action-group/mod:open/mod:edit"> <xsl:for-each select="mod:find|mod:action"> box[i] = '<xsl:value-of select="generate-id()"/>'; i += 1; </xsl:for-each> <xsl:for-each select="mod:inline-edit"> <xsl:for-each select="mod:inline-find|mod:inline-action"> box[i] = '<xsl:value-of select="generate-id()"/>'; i += 1; </xsl:for-each> </xsl:for-each> </xsl:for-each> <![CDATA[ var selectedElement = -1; var boxes = box.length; var pre_count = 0; // The following line from http://www.ryancooper.com/resources/keycode.asp document.onkeydown = mod_doKeyPress; function SXBB_IsIEMac() { // Any better way to detect IEMac? var ua = String(navigator.userAgent).toLowerCase(); if( document.all && ua.indexOf("mac") >= 0 ) { return true; } return false; } function select_text(id) { var o = document.getElementById(id); if( !o ) { return; } var r, s; if( document.selection && !SXBB_IsIEMac() ) { // Works on: IE5+ // To be confirmed: IE4? / IEMac fails? r = document.body.createTextRange(); r.moveToElementText(o); r.select(); } else if( document.createRange && (document.getSelection || window.getSelection) ) { // Works on: Netscape/Mozilla/Konqueror/Safari // To be confirmed: Konqueror/Safari use window.getSelection ? r = document.createRange(); r.selectNodeContents(o); s = window.getSelection ? window.getSelection() : document.getSelection(); s.removeAllRanges(); s.addRange(r); } find_selected(id); return o; } function find_selected(id) { for( x = 0; x < box.length; x++ ) { if ( box[x] == id ) { selectedElement = x; } } } // function findPosY taken from http://www.quirksmode.org/js/findpos.html function findPosY(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { curtop += obj.offsetTop obj = obj.offsetParent; } } else if (obj.y) { curtop += obj.y; } return curtop; } function selectNextBox() { selectedElement += 1; if (selectedElement >= boxes) selectedElement = 0; obj = select_text(box[selectedElement]); window.scrollTo(0, findPosY(obj) - 100); } function selectPrevBox() { selectedElement -= 1; if (selectedElement < 0) selectedElement = boxes - 1; obj = select_text(box[selectedElement]); window.scrollTo(0, findPosY(obj) - 100); } function selectFirstBox() { selectedElement = 0; obj = select_text(box[selectedElement]); window.scrollTo(0, findPosY(obj) - 100); } function mod_doKeyPress(e) { /* section from w3 schools starts here http://www.w3schools.com/jsref/jsref_onkeypress.asp */ var keynum; /* section from w3 schools ends here */ // The following line from http://www.ryancooper.com/resources/keycode.asp if (window.event) keynum = window.event.keyCode; else if (e) keynum = e.which; if (keynum == 84) selectNextBox(); //if (keynum == 9) selectNextBox(); //tab //if (keynum == 13) selectNextBox(); //enter/return //if (keynum == 32) selectNextBox(); //space if (keynum == 40) selectNextBox(); //down key if (keynum == 38) selectPrevBox(); //up key if (keynum == 83 || keynum == 37) { selectFirstBox(); } return false; } //-->]]></script> <title>phpBB MOD » <xsl:value-of select="$title" /></title> </head> <body> <div id="pageBody"> <div id="modInfo"> <xsl:for-each select="mod:header"> <xsl:call-template name="give-header"></xsl:call-template> </xsl:for-each> <div id="modInstructions"> <xsl:for-each select="mod:action-group"> <xsl:call-template name="give-actions"></xsl:call-template> </xsl:for-each> </div> <hr /> <div class="endMOD"> <h1>Save all files. End of MOD.</h1> <p>You have finished the installation for this MOD. Upload all changed files to your website. If the installation went bad, simply restore your backed up files.</p> </div> </div> </div> <p class="copyright" style="text-align: center; font-size: 10px;">MOD UA XSLT File Copyright © 2006 The phpBB Group, this MOD is copyright to the author<xsl:if test="count(author) > 1">s</xsl:if> listed above.</p> </body> </html> </xsl:template> <xsl:template name="give-header"> <h1>Installation instructions for '<xsl:value-of select="$title" />' Version <xsl:value-of select="$version" /></h1> <h2>About this MOD</h2> <dl> <dt>Title:</dt> <dd> <xsl:if test="count(mod:title) > 1"> <dl id="title"> <xsl:for-each select="mod:title"> <dl id="{generate-id()}"> <dt> <xsl:value-of select="@lang" /> </dt> <dd style='white-space:pre;'> <xsl:value-of select="current()" /> </dd> </dl> </xsl:for-each> </dl> </xsl:if> <xsl:if test="count(mod:title) = 1"> <xsl:value-of select="mod:title" /> </xsl:if> </dd> <dt>Description:</dt> <dd> <xsl:if test="count(mod:description) > 1"> <dl id="description"> <xsl:for-each select="mod:description"> <dl id="{generate-id()}"> <dt> <xsl:value-of select="@lang" /> </dt> <dd> <xsl:call-template name="add-line-breaks"> <xsl:with-param name="string"> <xsl:value-of select="current()" /> </xsl:with-param> </xsl:call-template> </dd> </dl> </xsl:for-each> </dl> </xsl:if> <xsl:if test="count(mod:description) = 1"> <xsl:call-template name="add-line-breaks"> <xsl:with-param name="string"> <xsl:value-of select="mod:description" /> </xsl:with-param> </xsl:call-template> </xsl:if> </dd> <dt>Version:</dt> <dd> <xsl:for-each select="mod:mod-version"> <xsl:call-template name="give-version"></xsl:call-template> </xsl:for-each> </dd> <xsl:for-each select="mod:installation"> <xsl:call-template name="give-installation"></xsl:call-template> </xsl:for-each> </dl> <xsl:for-each select="mod:author-group"> <h2>Author<xsl:if test="count(mod:author) > 1">s</xsl:if></h2> <xsl:call-template name="give-authors"></xsl:call-template> </xsl:for-each> <h2>Files To Edit</h2> <xsl:for-each select="../mod:action-group"> <xsl:call-template name="give-files-to-edit"></xsl:call-template> </xsl:for-each> <h2>Included Files</h2> <xsl:if test="count(../mod:action-group/mod:copy/mod:file) = 0"> <p>No files have been included with this MOD.</p> </xsl:if> <xsl:for-each select="../mod:action-group"> <xsl:call-template name="give-files-included"></xsl:call-template> </xsl:for-each> <hr /> <div id="modDisclaimer"> <h1>Disclaimer</h1> <p>For Security Purposes, Please Check: <a href="http://www.phpbb.com/mods/">http://www.phpbb.com/mods/</a> for the latest version of this MOD. Downloading this MOD from other sites could cause malicious code to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered in our MOD-Database, located at: <a href="http://www.phpbb.com/mods/">http://www.phpbb.com/mods/</a></p> <h2>Author Notes</h2> <xsl:if test="count(mod:author-notes) > 1"> <dl id="author-notes"> <xsl:for-each select="mod:author-notes"> <dl id="{generate-id()}"> <dt> <xsl:value-of select="@lang" /> </dt> <dd> <xsl:call-template name="add-line-breaks"> <xsl:with-param name="string"> <xsl:value-of select="current()" /> </xsl:with-param> </xsl:call-template> </dd> </dl> </xsl:for-each> </dl> </xsl:if> <xsl:if test="count(mod:author-notes) = 1"> <xsl:call-template name="add-line-breaks"> <xsl:with-param name="string"> <xsl:value-of select="mod:author-notes" /> </xsl:with-param> </xsl:call-template> </xsl:if> <xsl:for-each select="mod:history"> <xsl:call-template name="give-mod-history"></xsl:call-template> </xsl:for-each> <h3>License</h3> <p>This MOD has been licensed under the following license:</p> <p style='white-space:pre;'> <xsl:value-of select="mod:license" /> </p> <h3>Other Notes</h3> <p>Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD</p> <p>This MOD was designed for phpBB<xsl:value-of select="mod:installation/mod:target-version/mod:target-primary" /> and may not function as stated on other phpBB versions. MODs for phpBB3.0 will <strong>not</strong> work on phpBB2.0 and vice versa.</p> <xsl:if test="./mod:mod-version/mod:minor mod 2 != 0 or ./mod:mod-version/mod:major = 0"> <p> <strong class="red">This MOD is development quality. It is not recommended that you install it on a live forum.</strong> </p> </xsl:if> </div> <hr /> </xsl:template> <xsl:template name="give-authors"> <xsl:for-each select="mod:author"> <xsl:call-template name="give-author"></xsl:call-template> </xsl:for-each> </xsl:template> <xsl:template name="give-author"> <dl> <dt>Username:</dt> <dd> <a href="http://www.phpbb.com/phpBB/profile.php?mode=viewprofile&un={mod:username}"> <xsl:value-of select="mod:username" /> </a> </dd> <xsl:if test="mod:email != 'N/A' and mod:email != 'n/a' and mod:email != ''"> <dt>Email:</dt> <dd> <a href="mailto:{mod:email}"> <xsl:value-of select="mod:email" /> </a> </dd> </xsl:if> <dt>Realname:</dt> <dd> <xsl:value-of select="mod:realname" /> </dd> <xsl:if test="mod:homepage != 'N/A' and mod:homepage != 'n/a' and mod:homepage!=''"> <dt>WWW:</dt> <dd> <a href="{mod:homepage}"> <xsl:value-of select="mod:homepage" /> </a> </dd> </xsl:if> </dl> <br /> </xsl:template> <xsl:template name="give-version"><xsl:value-of select="concat(mod:major, '.', mod:minor, '.', mod:revision, mod:release)" /></xsl:template> <xsl:template name="give-installation"> <dt>Installation Level:</dt> <dd> <xsl:if test="mod:level='easy'">Easy</xsl:if> <xsl:if test="mod:level='intermediate'">Intermediate</xsl:if> <xsl:if test="mod:level='hard'">Hard</xsl:if> </dd> <dt>Installation Time:</dt> <dd>~<xsl:value-of select="floor(mod:time div 60)" /> minutes</dd> </xsl:template> <xsl:template name="give-mod-history"> <xsl:if test="count(mod:entry)>1"> <h2>MOD History</h2> <dl> <xsl:for-each select="mod:entry"> <xsl:call-template name="give-history-entry"></xsl:call-template> </xsl:for-each> </dl> </xsl:if> </xsl:template> <xsl:template name="give-history-entry"> <dt><xsl:value-of select="substring(mod:date,1,10)" /> - Version <xsl:for-each select="mod:rev-version"> <xsl:call-template name="give-version"></xsl:call-template> </xsl:for-each></dt> <dd> <xsl:if test="count(mod:changelog) > 1"> <xsl:for-each select="mod:changelog"> <xsl:call-template name="give-history-entry-changelog"></xsl:call-template> </xsl:for-each> </xsl:if> <xsl:if test="count(mod:changelog) = 1"> <xsl:for-each select="mod:changelog"> <xsl:call-template name="give-history-entry-changelog-single"></xsl:call-template> </xsl:for-each> </xsl:if> </dd> </xsl:template> <xsl:template name="give-history-entry-changelog"> <dl> <dt> <xsl:value-of select="@lang" /> </dt> <dd> <ul> <xsl:for-each select="mod:change"> <li> <xsl:value-of select="current()" /> </li> </xsl:for-each> </ul> </dd> </dl> </xsl:template> <xsl:template name="give-history-entry-changelog-single"> <ul> <xsl:for-each select="mod:change"> <li> <xsl:value-of select="current()" /> </li> </xsl:for-each> </ul> </xsl:template> <xsl:template name="give-files-to-edit"> <ul> <xsl:for-each select="mod:open"> <xsl:call-template name="give-file"></xsl:call-template> </xsl:for-each> </ul> </xsl:template> <xsl:template name="give-files-included"> <ul> <xsl:for-each select="mod:copy"> <xsl:call-template name="give-file-copy"></xsl:call-template> </xsl:for-each> </ul> </xsl:template> <xsl:template name="give-file"> <li> <xsl:value-of select="@src" /> <xsl:if test="position()!=last()">,</xsl:if> </li> </xsl:template> <xsl:template name="give-file-copy"> <xsl:for-each select="mod:file"> <li> <xsl:value-of select="@from" /> <xsl:if test="position()!=last()">,</xsl:if> </li> </xsl:for-each> </xsl:template> <xsl:template name="give-actions"> <xsl:if test="count(mod:sql) > 0"> <h1 onclick="select_text('sql');">SQL</h1> </xsl:if> <div id="sql"> <xsl:for-each select="mod:sql"> <xsl:call-template name="give-sql"></xsl:call-template> </xsl:for-each> </div> <xsl:if test="count(mod:copy) > 0"> <h1>File Copy</h1> </xsl:if> <xsl:for-each select="mod:copy"> <xsl:call-template name="give-filez"></xsl:call-template> </xsl:for-each> <h1>Edits</h1> <p>Click on the action name or in the code box to select the code. You may also hit '<em>s</em>' on your keyboard to go to the first code box and the <em>up</em> and <em>down</em> arrows to scroll through the code boxes.</p> <xsl:for-each select="mod:open"> <xsl:call-template name="give-fileo"></xsl:call-template> </xsl:for-each> <xsl:call-template name="give-manual"></xsl:call-template> </xsl:template> <xsl:template name="give-sql"> <div class="action"> <pre> <xsl:value-of select="current()" /> </pre> </div> </xsl:template> <xsl:template name="give-manual"> <xsl:for-each select="mod:diy-instructions"> <div class="editFile"> <h2 onClick="select_text('{generate-id()}')">DIY Instructions<xsl:if test="count(../mod:diy-instructions) > 1"> (<xsl:value-of select="@lang" />)</xsl:if></h2> <p>These are manual instructions that cannot be performed automatically. You should follow these instructions carefully.</p> <pre id="{generate-id()}"> <xsl:value-of select="current()" /> </pre> </div> </xsl:for-each> </xsl:template> <xsl:template name="give-fileo"> <div class="editFile"> <h2>Open: <xsl:value-of select="@src" /></h2> <xsl:for-each select="mod:edit"> <div class="action"> <xsl:for-each select="mod:find|mod:action|mod:inline-edit|mod:comment"> <xsl:if test="name() = 'find'"> <h3 onClick="select_text('{generate-id()}')">Find</h3> <p><strong>Tip:</strong> This may be a partial find and not the whole line. <xsl:if test="@type = 'regex'"> <br /> <em>This find contains an advanced feature known as regular expressions, click here to learn more.</em> </xsl:if> </p> <pre id="{generate-id()}"> <xsl:value-of select="current()" /> </pre> </xsl:if> <xsl:if test="name() = 'action'"> <xsl:if test="@type = 'after-add'"> <h3 onClick="select_text('{generate-id()}')">Add after</h3> <p><strong>Tip:</strong> Add these lines on a new blank line after the preceding line(s) to find.</p> </xsl:if> <xsl:if test="@type = 'before-add'"> <h3 onClick="select_text('{generate-id()}')">Add before</h3> <p><strong>Tip:</strong> Add these lines on a new blank line before the preceding line(s) to find.</p> </xsl:if> <xsl:if test="@type = 'replace-with'"> <h3 onClick="select_text('{generate-id()}')">Replace With</h3> <p><strong>Tip:</strong> Replace the preceding line(s) to find with the following lines.</p> </xsl:if> <xsl:if test="@type = 'operation'"> <h3 onClick="select_text('{generate-id()}')">Increment</h3> <p><strong>Tip:</strong> This allows you to alter integers. For help on what each operator means, click here.</p> </xsl:if> <pre id="{generate-id()}"> <xsl:value-of select="current()" /> </pre> </xsl:if> <xsl:if test="name() = 'comment'"> <dl> <dt>Comment:<xsl:if test="count(../mod:comment) > 1"> (<xsl:value-of select="@lang" />)</xsl:if></dt> <dd> <xsl:call-template name="add-line-breaks"> <xsl:with-param name="string"> <xsl:value-of select="current()" /> </xsl:with-param> </xsl:call-template> </dd> </dl> </xsl:if> <xsl:if test="name() = 'inline-edit'"> <div class="action"> <xsl:for-each select="mod:inline-find|mod:inline-action|mod:inline-comment"> <xsl:if test="name() = 'inline-find'"> <h3 onClick="select_text('{generate-id()}')">In-line Find</h3> <p><strong>Tip:</strong> This is a partial match of a line for in-line operations. <xsl:if test="@type = 'regex'"> <br /> <em>This find contains an advanced feature known as regular expressions, click here to learn more.</em> </xsl:if> </p> <pre id="{generate-id()}"> <xsl:value-of select="current()" /> </pre> </xsl:if> <xsl:if test="name() = 'inline-action'"> <xsl:if test="@type = 'after-add'"> <h3 onClick="select_text('{generate-id()}')">In-line Add after</h3> </xsl:if> <xsl:if test="@type = 'before-add'"> <h3 onClick="select_text('{generate-id()}')">In-line Add before</h3> </xsl:if> <xsl:if test="@type = 'replace-with'"> <h3 onClick="select_text('{generate-id()}')">In-line Replace With</h3> </xsl:if> <xsl:if test="@type = 'operation'"> <h3 onClick="select_text('{generate-id()}')">In-line Increment</h3> <p><strong>Tip:</strong> This allows you to alter integers. For help on what each operator means, click here.</p> </xsl:if> <pre id="{generate-id()}"> <xsl:value-of select="current()" /> </pre> </xsl:if> <xsl:if test="name() = 'inline-comment'"> <p> <strong>Comment:</strong> <em> <xsl:value-of select="current()" /> </em> </p> </xsl:if> </xsl:for-each> </div> </xsl:if> </xsl:for-each> </div> </xsl:for-each> </div> </xsl:template> <xsl:template name="give-filez"> <dl> <xsl:for-each select="mod:file"> <dt>Copy: <xsl:value-of select="@from" /></dt> <dd>To: <xsl:value-of select="@to" /></dd> </xsl:for-each> </dl> </xsl:template> <xsl:template name="give-sub-action-find"> <p>Find</p> <pre> <xsl:value-of select="find-string" /> </pre> <xsl:if test="count(in-line) > 0"> <div class="action"> <xsl:for-each select="in-line"> <xsl:for-each select="find-in-line|edit-in-line"> <xsl:if test="name() = 'find-in-line'"> <xsl:call-template name="give-sub-action-in-line-find"></xsl:call-template> </xsl:if> <xsl:if test="name() = 'edit-in-line'"> <xsl:call-template name="give-sub-action-in-line-edit"></xsl:call-template> </xsl:if> </xsl:for-each> </xsl:for-each> </div> </xsl:if> </xsl:template> <xsl:template name="give-sub-action-in-line-find"> <p>In-line, Find</p> <pre> <xsl:value-of select="find-string-in-line" /> </pre> </xsl:template> <xsl:template name="give-sub-action-edit"> <xsl:if test="@action = 'replace'"> <p>Replace, Add</p> </xsl:if> <xsl:if test="@action = 'add' and @where = 'after'"> <p>After, Add</p> </xsl:if> <xsl:if test="@action = 'add' and @where = 'before'"> <p>Before, Add</p> </xsl:if> <pre> <xsl:value-of select="current()" /> </pre> </xsl:template> <xsl:template name="give-sub-action-in-line-edit"> <xsl:if test="@action = 'replace'"> <p>In-line, Replace With</p> </xsl:if> <xsl:if test="@action = 'add' and @where = 'after'"> <p>In-line, After, Add</p> </xsl:if> <xsl:if test="@action = 'add' and @where = 'before'"> <p>In-line, Before, Add</p> </xsl:if> <xsl:if test="@action = 'operation'"> <p>In-line, perform the following mathematical operation</p> <xsl:variable name="oper_body" select="@operation" /> <pre> <xsl:value-of select="$oper_body" /> </pre> </xsl:if> <pre> <xsl:value-of select="current()" /> </pre> </xsl:template> <!-- add-line-breaks borrowed from http://www.stylusstudio.com/xsllist/200103/post40180.html --> <xsl:template name="add-line-breaks"> <xsl:param name="string" select="." /> <xsl:choose> <xsl:when test="contains($string, '
')"> <xsl:value-of select="substring-before($string, '
')" /> <br /> <xsl:call-template name="add-line-breaks"> <xsl:with-param name="string" select="substring-after($string, '
')" /> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$string" /> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> --- NEW FILE: album_mod_fap.xml --- <?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml-stylesheet type="text/xsl" href="modx.subsilver.en.xsl"?> <!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/--> <mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.phpbb.com/mods/xml/modx-1.0.xsd"> <header> <license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license> <title lang="en-gb">Album Mod FAP</title> <description lang="en-gb"><![CDATA[ - This MOD adds a full Album system, based on several MODS. - Some modifications on the original MODS have been applied. - The MXP Addons are phpBB mods that share most files with Mx-Publisher and require MXP MOD. Requirements: A running phpBB 2.0.x (recommend the lastest version) The mxBB Mod "include/" folder that can be found in this mod "contrib/" folder The eXtreme Styles MOD is required for this mod to have all features enabled HTTP File Upload Enabled (this MOD can work with PHP Safe-Mode in some cases) MySQL 4.3.3+ Features: On The Fly Gallery ======================================= Folders with pictures may be uploaded into a folder called OTF into album_mod/uploads/ and thumbnails and categories (based on subfolder) will be automatically generated. This feature support only one level of subfolder, so will be browsed for images only all the folders into album_mod/uploads/otf/. When logged as ADMIN pictures may be automatically imported in the album. Picture SlideShow ======================================= All pictures in each category can be shown in SlideShow mode by clicking the link near the cat name or in the top right corner while browsing subcat. Album Image BBCodes Parsing ======================================= FAP includes its own BBCode parsing function for comments page. ======================================= Some of the included MODS: ======================================= Photo Album 2.0.54 ======================================= MOD Author: Smartor < sma...@ho... > (Hoang Ngoc Tu) http://smartor.is-root.com MOD Desc: This is a phpBB-based photo album/gallery management system. It is really powerful, stable, efficient, rich features and highly customizable. The version 2 was written from the scratch for more security, performance, etc. It is not really a MOD/hack, it is rather a phpBB-based system :) Supercharged Album Pack 1.5.1 ======================================= MOD Author: Volodymyr (CLowN) Skoryk MOD Desc: A series of modification for Album version 2 by Smartor ( http://smartor.is-root.com ) Album Category Hierarchy 1.3.0 ======================================= MOD Author: IdleVoid < idl...@sl... > (N/A) N/A MOD Desc: Adds category hierarchy functionality to the album Album Multiple Uploads 1.0.3 ======================================= MOD Author: IdleVoid < idl...@sl... > (N/A) N/A MOD Desc: This mod allows people to upload more than one picture at a time. Archive Mod ======================================= MOD Author: chadsmith < N/A > (Chad Smith) N/A MOD Desc: Adds a link to download all the pics in a page as a single compressed zip MOD Link: http://smartor.is-root.com/viewtopic.php?t=14096 Thumbnail Dimension Mod ======================================= MOD Author: nuffmon < nu...@ho... > (Nuffmon) MOD Desc: Places a small black band at the bottom of thumbnails with dimensions and file size on MOD Link: http://smartor.is-root.com/viewtopic.php?t=15198 Picture Rotation Mod ======================================= MOD Author: nuffmon < nu...@ho... > (Nuffmon) MOD Desc: Rotate image on upload MOD Link: http://smartor.is-root.com/viewtopic.php?t=11971 Album Nuffload ======================================= MOD Author: nuffmon < nu...@ho... > (Nuffmon) MOD Desc: Features: - Progress bar when uploading - PHP upload limit bypass - Doesn't use applets or activex - Multiple file uploads - Auto resizing (gif's included) - Manual-uploaded thumbnail supported MOD Link: http://smartor.is-root.com/viewtopic.php?t=15093 Nuffimage ======================================= MOD Author: nuffmon < nu...@ho... > (Nuffmon) MOD Desc: It's a class for images editing. Features: - Sepia - Grayscale - Watermarking - Resizing MOD Link: N/A ======================================= ]]></description> <author-notes lang="en-gb">- Discussion at http://www.icyphoenix.com/viewforum.php?f=25 - Thanks to Smartor, CLowN and IdleVoid for giving me the opportunity to create and distribuite their MODS in this Package. Features - Picture SlideShow, Album, Image Archive Download, Nuffimage, On The Fly Gallery, Multiple Uploads, Image Rotate/Resizing, Folders Upload Via FTP, Java Uploading Applet for browsing files/folders, Jaime Letering and many others. - Feature have been integrated by Mighty Gorgon. - MXP Integration by OryNider.</author-notes> <author-group> <author> <realname>Florin Bodin Ciprian</realname> <email>ory...@rd...</email> <username>orynider</username> <homepage>http://www.mx-publisher.com/</homepage> <contributions /> </author> <author> <realname>Luca Libralato</realname> <email>mig...@mi...</email> <username>Mighty Gorgon</username> <homepage>http://icyphoenix.com/</homepage> <contributions /> </author> </author-group> <mod-version> <major>2</major> <minor>1</minor> <revision>0</revision> </mod-version> <installation> <level>easy</level> <time>772</time> <target-version> <target-primary>2.0.0</target-primary> <target-major allow="exact">2</target-major> <target-minor allow="exact">0</target-minor> </target-version> </installation> <meta name="generator" content="Phpbb.ModTeam.Tools (c#)" /> </header> <action-group> <sql> CREATE TABLE IF NOT EXISTS phpbb_smartor_album ( pic_id int(11) unsigned NOT NULL auto_increment, pic_filename varchar(255) NOT NULL, pic_thumbnail varchar(255) default NULL, pic_title varchar(255) NOT NULL, pic_desc text, pic_user_id mediumint(8) NOT NULL, pic_username varchar(32) default NULL, pic_user_ip char(8) NOT NULL default '0', pic_time int(11) unsigned NOT NULL, pic_cat_id mediumint(8) unsigned NOT NULL default '1', pic_view_count int(11) unsigned NOT NULL default '0', pic_lock tinyint(3) NOT NULL default '0', pic_approval tinyint(3) NOT NULL default '1', PRIMARY KEY (pic_id), KEY pic_cat_id (pic_cat_id), KEY pic_user_id (pic_user_id), KEY pic_time (pic_time) ); CREATE TABLE IF NOT EXISTS phpbb_smartor_album_cat ( cat_id mediumint(8) unsigned NOT NULL auto_increment, cat_title varchar(255) NOT NULL, cat_desc text, cat_wm text, cat_order mediumint(8) NOT NULL, cat_view_level tinyint(3) NOT NULL default '-1', cat_upload_level tinyint(3) NOT NULL default '0', cat_rate_level tinyint(3) NOT NULL default '0', cat_comment_level tinyint(3) NOT NULL default '0', cat_edit_level tinyint(3) NOT NULL default '0', cat_delete_level tinyint(3) NOT NULL default '2', cat_view_groups varchar(255) default NULL, cat_upload_groups varchar(255) default NULL, cat_rate_groups varchar(255) default NULL, cat_comment_groups varchar(255) default NULL, cat_edit_groups varchar(255) default NULL, cat_delete_groups varchar(255) default NULL, cat_moderator_groups varchar(255) default NULL, cat_approval tinyint(3) NOT NULL default '0', cat_parent mediumint(8) unsigned default '0', cat_user_id mediumint(8) unsigned default '0', PRIMARY KEY (cat_id), KEY cat_order (cat_order) ); INSERT INTO phpbb_smartor_album_cat VALUES(1, 'Test Category', 'First Test Category', '', 10, -1, 0, 0, 0, 0, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0); CREATE TABLE IF NOT EXISTS phpbb_smartor_album_comment ( comment_id int(11) unsigned NOT NULL auto_increment, comment_pic_id int(11) unsigned NOT NULL, comment_cat_id int(11) NOT NULL default '0', comment_user_id mediumint(8) NOT NULL, comment_username varchar(32) default NULL, comment_user_ip char(8) NOT NULL, comment_time int(11) unsigned NOT NULL, comment_text text, comment_edit_time int(11) unsigned default NULL, comment_edit_count smallint(5) unsigned NOT NULL default '0', comment_edit_user_id mediumint(8) default NULL, PRIMARY KEY (comment_id), KEY comment_pic_id (comment_pic_id), KEY comment_user_id (comment_user_id), KEY comment_user_ip (comment_user_ip), KEY comment_time (comment_time) ); CREATE TABLE IF NOT EXISTS phpbb_smartor_album_config ( config_name varchar(255) NOT NULL, config_value varchar(255) NOT NULL, PRIMARY KEY (config_name) ); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('max_pics', '1024'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('user_pics_limit', '50'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('mod_pics_limit', '250'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('max_file_size', '128000'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('max_width', '1024'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('max_height', '768'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('rows_per_page', '3'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('cols_per_page', '4'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('fullpic_popup', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('thumbnail_quality', '50'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('thumbnail_size', '150'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('thumbnail_cache', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('sort_method', 'pic_time'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('sort_order', 'DESC'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('jpg_allowed', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('png_allowed', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('gif_allowed', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('desc_length', '512'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('hotlink_prevent', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('hotlink_allowed', 'smartor.is-root.com'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_gallery', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_gallery_private', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_gallery_limit', '10'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_gallery_view', '-1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('rate', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('rate_scale', '10'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('comment', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('gd_version', '2'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('album_version', '.0.54'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('fap_version', '1.4.2'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_index_thumb', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_index_total_pics', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_index_total_comments', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_index_comments', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_index_last_comment', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_index_last_pic', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_index_pics', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_recent_in_subcats', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_recent_instead_of_nopics', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('line_break_subcats', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_index_subcats', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_allow_gallery_mod', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_allow_sub_categories', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_sub_category_limit', '-1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_show_subcats_in_index', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_show_recent_in_subcats', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_show_recent_instead_of_nopics', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_personal_gallery_link', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('album_category_sorting', 'cat_order'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('album_category_sorting_direction', 'ASC'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('album_debug_mode', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_all_in_personal_gallery', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('new_pic_check_interval', '1M'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('index_enable_supercells', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('email_notification', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_download', '2'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_slideshow', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_pic_size_on_thumb', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('max_files_to_upload', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('max_pregenerated_fields', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('dynamic_fields', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('pregenerate_fields', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('propercase_pic_title', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_index_last_pic_lv', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_pics_approval', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_img_no_gd', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('dynamic_pic_resampling', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('max_file_size_resampling', '1024000'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('switch_nuffload', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('path_to_bin', './modules/mx_smartor/cgi-bin/'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('perl_uploader', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_progress_bar', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('close_on_finish', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('max_pause', '5'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('simple_format', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('multiple_uploads', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('max_uploads', '5'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('zip_uploads', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('resize_pic', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('resize_width', '600'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('resize_height', '600'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('resize_quality', '70'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_pics_nav', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_inline_copyright', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('enable_nuffimage', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('enable_sepia_bw', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('personal_allow_avatar_gallery', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_gif_mid_thumb', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('slideshow_script', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_exif', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('album_bbcode', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('quick_thumbs', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('set_memory', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('lb_preview', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('use_old_pics_gen', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_last_comments', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('enable_mooshow', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('enable_integration', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('override_default_pages', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('index', '5'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('invert_nav_arrows', '0'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_otf_link', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_all_pics_link', '1'); INSERT INTO phpbb_smartor_album_config (config_name, config_value) VALUES('show_personal_galleries_link', '1'); CREATE TABLE IF NOT EXISTS phpbb_smartor_album_rate ( rate_pic_id int(11) unsigned NOT NULL, rate_user_id mediumint(8) NOT NULL, rate_user_ip char(8) NOT NULL, rate_point tinyint(3) unsigned NOT NULL, rate_hon_point tinyint(3) NOT NULL default '0', KEY rate_pic_id (rate_pic_id), KEY rate_user_id (rate_user_id), KEY rate_user_ip (rate_user_ip), KEY rate_point (rate_point) ); CREATE TABLE IF NOT EXISTS phpbb_smartor_album_sp_config ( config_name varchar(255) NOT NULL, config_value varchar(255) NOT NULL, PRIMARY KEY (config_name) ); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('disp_late', '1'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('rate_type', '2'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('disp_high', '1'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('disp_mostv', '1'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('disp_rand', '1'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('img_rows', '2'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('img_cols', '3'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('use_watermark', '0'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('wut_users', '0'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('disp_watermark_at', '3'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('hon_rate_times', '1'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('hon_rate_sep', '1'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('hon_rate_where', ''); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('hon_rate_users', '1'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('midthumb_use', '1'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('midthumb_height', '500'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('midthumb_width', '500'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('midthumb_cache', '1'); INSERT INTO phpbb_smartor_album_sp_config (config_name, config_value) VALUES('jaime_lettering', '0'); </sql> <copy> <file from="root/album.php" to="album.php" /> <file from="root/album_db_install.php" to="album_db_install.php" /> <file from="root/admin/*.php" to="admin/*.php" /> <file from="root/album_mod/*.*" to="album_mod/*.*" /> <file from="root/album_mod/upload/*.*" to="album_mod/upload/*.*" /> <file from="root/album_mod/upload/cache/*.*" to="album_mod/upload/cache/*.*" /> <file from="root/album_mod/upload/med_cache/*.*" to="album_mod/upload/med_cache/*.*" /> <file from="root/album_mod/upload/otf/*.*" to="album_mod/upload/otf/*.*" /> <file from="root/album_mod/upload/wm_cache/*.*" to="album_mod/upload/wm_cache/*.*" /> <file from="root/album_mod/includes/*.php" to="album_mod/includes/*.php" /> <file from="root/album_mod/modules/*.php" to="album_mod/modules/*.php" /> <file from="root/album_mod/language/lang_english/*.php" to="language/lang_english/*.php" /> <file from="root/templates/subSilver/*.*" to="templates/subSilver/*.*" /> <file from="root/templates/subSilver/admin/*.*" to="templates/subSilver/admin/*.*" /> <file from="root/templates/subSilver/images/*.*" to="templates/subSilver/images/*.*" /> <file from="root/templates/subSilver/images/lang_english/*.*" to="templates/subSilver/images/lang_english/*.*" /> <file from="root/cgi-bin/nuffload.cgi" to="cgi-bin/nuffload.cgi" /> <file from="root/jupload/jupload.jar" to="jupload/jupload.jar" /> </copy> <open src="includes/constants.php"> <edit> <find>if ( !defined('IN_PHPBB') ) { die("Hacking attempt"); }</find> <action type="after-add">@define('PAGE_ALBUM', -50); // for Session Handling @define('PAGE_ALBUM_PERSONAL', -51); @define('PAGE_ALBUM_PICTURE', -52); @define('PAGE_ALBUM_SEARCH', -53); </action> </edit> </open> <open src="viewonline.php"> <edit> <find> case PAGE_FAQ: $location = $lang['Viewing_FAQ']; $location_url = "faq.$phpEx"; break;</find> <action type="after-add"> case PAGE_ALBUM: $location = $lang['View_Album_Index']; $location_url = "album.$phpEx"; break; case PAGE_ALBUM_PERSONAL: $location = $lang['View_Album_Personal']; $location_url = "album.$phpEx?smartor_mode=album_personal_index"; break; </action> </edit> </open> <open src="includes/page_header.php"> <edit> <find><![CDATA[ 'U_GROUP_CP' => append_sid('groupcp.'.$phpEx), ]]></find> <action type="after-add"><![CDATA[ 'L_ALBUM' => $lang['Album'], 'U_ALBUM' => append_sid('album.'.$phpEx), 'L_PIC_NAME' => $lang['Pic_Name'], 'L_DESCRIPTION' => $lang['Description'], 'L_GO' => $lang['Go'], 'L_SEARCH_CONTENTS' => $lang['Search_Contents'], 'L_SEARCH_MATCHES' => $lang['Search_Matches'], ]]></action> </edit> </open> <open src="language/lang_english/lang_admin.php"> <edit> <find><![CDATA[ ?> ]]></find> <action type="before-add"> $lang['Photo_Album'] = 'Photo Album'; $lang['Categories'] = 'Categories'; $lang['Personal_Galleries'] = 'Personal Galleries'; </action> </edit> </open> <open src="language/lang_english/lang_main.php"> <edit> <find><![CDATA[ ?> ]]></find> <action type="before-add"><![CDATA[ $lang['Album'] = 'Album'; $lang['Personal_Gallery_Of_User'] = 'Personal Gallery Of %s'; $lang['Personal_Gallery_Of_User_Profile'] = 'Personal Gallery of %s (%d Pictures)'; $lang['Show_All_Pic_View_Mode_Profile'] = 'Show All Pictures In The Personal Gallery of %s (without sub cats)'; $lang['Not_allowed_to_view_album'] = 'Sorry, you are not allowed to view the album.'; $lang['Not_allowed_to_upload_album'] = 'Sorry, you are not allowed to upload new pic to the album. Please contact the album administrator for more information.'; $lang['Album_empty'] = 'There are no pics in the album<br />Click on the <b>Upload New Pic</b> link on this page to post one.'; $lang['Upload_New_Pic'] = 'Upload New Pic.'; $lang['Pic_Title'] = 'Pic Title'; $lang['Pic_Title_Explain'] = 'It is very important to give your pic a good title. It could be a name, a subject to make others know what it is without see it.'; $lang['Pic_Upload'] = 'Pic Upload'; $lang['Pic_Upload_Explain'] = 'Allowed types are JPG, GIF and PNG. Maximum file size is %s bytes. Maximum image dimensions are %sx%s pixels.'; $lang['Album_full'] = 'Sorry, the album has reached the maximum number of uploaded pics. Please contact the album administrator for more information.'; $lang['Album_upload_successful'] = 'Thank you, your pic has been uploaded successfully.'; $lang['Click_return_album'] = 'Click %shere%s to return to the Album.'; $lang['Invalid_upload'] = 'Invalid Upload<br /><br />Your pic is too big or its type is not allowed.'; $lang['Image_too_big'] = 'Sorry, your image dimensions is too large.'; $lang['Uploaded_by'] = 'Uploaded by'; $lang['Category_locked'] = 'Sorry, you cannot upload because this category was locked by an admin. Please contact the album administrator for more information.'; $lang['View_Album_Index'] = 'Album Index'; $lang['View_Album_Personal'] = 'Viewing Personal Album of a user'; $lang['View_Pictures'] = 'Viewing Pictures or Posting/Reading comments in the Album'; $lang['Album_Search'] = 'Searching the Album'; $lang['Pic_Name'] = 'Picture Name'; $lang['Description'] = 'Description'; $lang['Search_Contents'] = ' that contains: '; $lang['Search_Found'] = 'Search found '; $lang['Search_Matches'] = 'Matches:'; ]]></action> </edit> </open> <open src="templates/subSilver/admin/page_header.tpl"> <edit> <find><![CDATA[ </head> ]]></find> <action type="before-add"><![CDATA[ <link rel="stylesheet" href="../templates/subSilver/mx_smartor.css" type="text/css" /> ]]></action> </edit> </open> <open src="templates/subSilver/overall_header.tpl"> <edit> <find><![CDATA[ </head> ]]></find> <action type="before-add"><![CDATA[ <link rel="stylesheet" href="templates/subSilver/mx_smartor.css" type="text/css" /> <script language="javascript" type="text/javascript" src="album_mod/fap_loader.js"></script> ]]></action> </edit> <edit> <find><![CDATA[ {L_USERGROUPS}</a> ]]></find> <inline-edit> <inline-find><![CDATA[ {L_USERGROUPS}</a> ]]></inline-find> <inline-action type="after-add"><![CDATA[ <a href="{U_ALBUM}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_album.gif" width="12" height="13" border="0" alt="{L_ALBUM}" hspace="3" />{L_ALBUM}</a> ]]></inline-action> </inline-edit> </edit> </open> <diy-instructions lang="en-gb"> . CHMOD 777 album_mod/upload CHMOD 777 album_mod/upload/cache CHMOD 777 album_mod/upload/med_cache CHMOD 777 album_mod/upload/otf CHMOD 777 album_mod/upload/wm_cache CHMOD 755 cgi-bin/nuffload.cgi . </diy-instructions> </action-group> </mod> --- NEW FILE: album_mod_fap.sql --- DROP TABLE IF EXISTS `phpbb_smartor_album`; CREATE TABLE IF NOT EXISTS `phpbb_smartor_album` ( `pic_id` int(11) unsigned NOT NULL auto_increment, `pic_filename` varchar(255) NOT NULL, `pic_thumbnail` varchar(255) default NULL, `pic_title` varchar(255) NOT NULL, `pic_desc` text, `pic_user_id` mediumint(8) NOT NULL, `pic_username` varchar(32) default NULL, `pic_user_ip` char(8) NOT NULL default '0', `pic_time` int(11) unsigned NOT NULL, `pic_cat_id` mediumint(8) unsigned NOT NULL default '1', `pic_view_count` int(11) unsigned NOT NULL default '0', `pic_lock` tinyint(3) NOT NULL default '0', `pic_approval` tinyint(3) NOT NULL default '1', PRIMARY KEY (`pic_id`), KEY `pic_cat_id` (`pic_cat_id`), KEY `pic_user_id` (`pic_user_id`), KEY `pic_time` (`pic_time`) ); DROP TABLE IF EXISTS `phpbb_smartor_album_cat`; CREATE TABLE IF NOT EXISTS `phpbb_smartor_album_cat` ( `cat_id` mediumint(8) unsigned NOT NULL auto_increment, `cat_title` varchar(255) NOT NULL, `cat_desc` text, `cat_wm` text, `cat_order` mediumint(8) NOT NULL, `cat_view_level` tinyint(3) NOT NULL default '-1', `cat_upload_level` tinyint(3) NOT NULL default '0', `cat_rate_level` tinyint(3) NOT NULL default '0', `cat_comment_level` tinyint(3) NOT NULL default '0', `cat_edit_level` tinyint(3) NOT NULL default '0', `cat_delete_level` tinyint(3) NOT NULL default '2', `cat_view_groups` varchar(255) default NULL, `cat_upload_groups` varchar(255) default NULL, `cat_rate_groups` varchar(255) default NULL, `cat_comment_groups` varchar(255) default NULL, `cat_edit_groups` varchar(255) default NULL, `cat_delete_groups` varchar(255) default NULL, `cat_moderator_groups` varchar(255) default NULL, `cat_approval` tinyint(3) NOT NULL default '0', `cat_parent` mediumint(8) unsigned default '0', `cat_user_id` mediumint(8) unsigned default '0', PRIMARY KEY (`cat_id`), KEY `cat_order` (`cat_order`) ); INSERT INTO `phpbb_smartor_album_cat` (`cat_id`, `cat_title`, `cat_desc`, `cat_wm`, `cat_order`, `cat_view_level`, `cat_upload_level`, `cat_rate_level`, `cat_comment_level`, `cat_edit_level`, `cat_delete_level`, `cat_view_groups`, `cat_upload_groups`, `cat_rate_groups`, `cat_comment_groups`, `cat_edit_groups`, `cat_delete_groups`, `cat_moderator_groups`, `cat_approval`, `cat_parent`, `cat_user_id`) VALUES(1, 'Test Category', 'First Test Category', '', 10, -1, 0, 0, 0, 0, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0); DROP TABLE IF EXISTS `phpbb_smartor_album_comment`; CREATE TABLE IF NOT EXISTS `phpbb_smartor_album_comment` ( `comment_id` int(11) unsigned NOT NULL auto_increment, `comment_pic_id` int(11) unsigned NOT NULL, `comment_cat_id` int(11) NOT NULL default '0', `comment_user_id` mediumint(8) NOT NULL, `comment_username` varchar(32) default NULL, `comment_user_ip` char(8) NOT NULL, `comment_time` int(11) unsigned NOT NULL, `comment_text` text, `comment_edit_time` int(11) unsigned default NULL, `comment_edit_count` smallint(5) unsigned NOT NULL default '0', `comment_edit_user_id` mediumint(8) default NULL, PRIMARY KEY (`comment_id`), KEY `comment_pic_id` (`comment_pic_id`), KEY `comment_user_id` (`comment_user_id`), KEY `comment_user_ip` (`comment_user_ip`), KEY `comment_time` (`comment_time`) ); DROP TABLE IF EXISTS `phpbb_smartor_album_config`; CREATE TABLE IF NOT EXISTS `phpbb_smartor_album_config` ( `config_name` varchar(255) NOT NULL, `config_value` varchar(255) NOT NULL, PRIMARY KEY (`config_name`) ); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('max_pics', '1024'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('user_pics_limit', '50'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('mod_pics_limit', '250'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('max_file_size', '128000'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('max_width', '1024'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('max_height', '768'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('rows_per_page', '3'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('cols_per_page', '4'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('fullpic_popup', '0'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('thumbnail_quality', '50'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('thumbnail_size', '150'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('thumbnail_cache', '1'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('sort_method', 'pic_time'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('sort_order', 'DESC'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('jpg_allowed', '1'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('png_allowed', '1'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('gif_allowed', '1'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('desc_length', '512'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('hotlink_prevent', '0'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('hotlink_allowed', 'smartor.is-root.com'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('personal_gallery', '0'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('personal_gallery_private', '0'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('personal_gallery_limit', '10'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('personal_gallery_view', '-1'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('rate', '1'); INSERT INTO `phpbb_smartor_album_config` (`config_name`, `config_value`) VALUES('rate_scale', '10'); INSERT INTO `phpbb_smartor_album_config` (`config_name`,... [truncated message content] |