1 *** wiki.pl 2004-05-29 16:08:41.000000000 +0200
2 --- larpwiki-amazon.pl 2004-05-29 16:08:35.000000000 +0200
3 ***************
4 *** 26,31 ****
5 --- 26,33 ----
6 # 59 Temple Place, Suite 330
7 # Boston, MA 02111-1307 USA
8
9 + # applied patch: larpwiki-amazon.diff
10 +
11 package UseModWiki;
12 use strict;
13 local $| = 1; # Do not buffer output (localized for mod_perl)
14 ***************
15 *** 64,69 ****
16 --- 66,74 ----
17 $AnchoredLinkPattern @HeadingNumbers $TableOfContents $QuotedFullUrl
18 $ConfigError $UploadPattern );
19
20 + # amazon-patch
21 + use vars qw($ASINPattern $AmazonPage $AmazonStuff $AmazonPartnerId $ASINUrl);
22 +
23 # == Configuration =====================================================
24 $DataDir = "/tmp/mywikidb"; # Main wiki directory
25 $UseConfig = 1; # 1 = use config file, 0 = do not look for config
26 ***************
27 *** 321,326 ****
28 --- 326,332 ----
29 $RFCPattern = "RFC\\s?(\\d+)";
30 $ISBNPattern = "ISBN:?([0-9- xX]{10,})";
31 $UploadPattern = "upload:([^\\]\\s\"<>$FS]+)$QDelim";
32 + $ASINPattern = "ASIN:?\\s?(\\w{10,10})";
33 }
34
35 # Simple HTML cache
36 ***************
37 *** 568,573 ****
38 --- 574,583 ----
39 $revision, $newText);
40 $fullHtml .= "<hr class=wikilinediff>\n";
41 }
42 + # amazon-patch
43 + if ($id eq $AmazonPage and $AmazonPage ne '') {
44 + $fullHtml .= "<div class=\"amazon\">$AmazonStuff</div>\n";
45 + }
46 $fullHtml .= '<div class=wikitext>';
47 $fullHtml .= &WikiToHTML($Text{'text'});
48 $fullHtml .= '</div>';
49 ***************
50 *** 1661,1666 ****
51 --- 1671,1677 ----
52 }
53 s/\b$RFCPattern/&StoreRFC($1)/geo;
54 s/\b$ISBNPattern/&StoreISBN($1)/geo;
55 + s/\b$ASINPattern/&StoreASIN($1)/geo;
56 if ($UseUpload) {
57 s/$UploadPattern/&StoreUpload($1)/geo;
58 }
59 ***************
60 *** 2002,2007 ****
61 --- 2013,2032 ----
62 return "<a href=\"http://www.faqs.org/rfcs/rfc${num}.html\">RFC $num</a>";
63 }
64
65 + sub StoreASIN {
66 + my ($num) = @_;
67 +
68 + return &StoreRaw(&ASINLink($num));
69 + }
70 +
71 + sub ASINLink {
72 + my ($num) = @_;
73 + $ASINUrl = "http://www.amazon.com/exec/obidos/ASIN" unless $ASINUrl;
74 + $AmazonPartnerId = '' unless $AmazonPartnerId;
75 +
76 + return "<a href=\"$ASINUrl/$num/$AmazonPartnerId\">ASIN $num</a>";
77 + }
78 +
79 sub StoreUpload {
80 my ($url) = @_;
81
benutzt werden, wie sie auch in der folgenden Liste der Dateien erscheint. Es sollte
die URL des Verweises ("laden") kopiert werden, da sich diese jederzeit ändern kann und damit der Verweis auf die Datei brechen würde.