Commit cfc42d5bd36cb21122457b0ae51550815576d191
1 parent
b6c00f52
Exists in
master
and in
1 other branch
Web interface cleaning/fixing for AppRecommender server and survey.
Showing
20 changed files
with
300 additions
and
506 deletions
Show diff stats
src/web/static/css/apprec.css
1 | +#upload-slide { | |
2 | +display: block; | |
3 | +position: absolute; | |
4 | +top: 0px; | |
5 | +left: 0px; | |
6 | +padding: 0px; | |
7 | +} | |
1 | 8 | |
2 | -/* | |
3 | - * Result Recommendation | |
4 | - */ | |
9 | +#header, | |
10 | +#recommender-box { | |
11 | +height: 40px; | |
12 | +} | |
13 | + | |
14 | +#submit-button { | |
15 | +height: 42px; | |
16 | +} | |
17 | + | |
18 | +#tip-upload { | |
19 | +top: 40px; | |
20 | +width: 420px; | |
21 | +} | |
22 | + | |
23 | +#wrap { | |
24 | +max-width: 780px; | |
25 | +} | |
26 | + | |
27 | +body.apprec #wrap { | |
28 | +padding-top: 20px; | |
29 | +} | |
30 | + | |
31 | + | |
32 | +#recommender-box #upfile, | |
33 | +#advanced-button, | |
34 | +#pkgs_list { | |
35 | +display: none; | |
36 | +} | |
5 | 37 | |
6 | 38 | #result-thumbnail .item { |
7 | 39 | display: block; |
... | ... | @@ -11,6 +43,7 @@ overflow: hidden; |
11 | 43 | float: left; |
12 | 44 | text-align: center; |
13 | 45 | border-radius: 5px; |
46 | +margin-left: 30px; | |
14 | 47 | } |
15 | 48 | |
16 | 49 | #result-thumbnail .item:hover { |
... | ... | @@ -25,7 +58,6 @@ color: gray; |
25 | 58 | |
26 | 59 | |
27 | 60 | a.link-thumb img { |
28 | -height: 100px; | |
29 | 61 | margin: 5px; |
30 | 62 | border-radius: 4px; |
31 | 63 | box-shadow: 0 1px 2px gray; |
... | ... | @@ -83,6 +115,7 @@ cursor: pointer; |
83 | 115 | #debresources_box { |
84 | 116 | float: left; |
85 | 117 | margin-top: 20px; |
118 | +padding: 10px; | |
86 | 119 | } |
87 | 120 | |
88 | 121 | #debresources_box li { | ... | ... |
src/web/static/css/facebox.css
src/web/static/css/style.css
... | ... | @@ -151,7 +151,7 @@ float: right; |
151 | 151 | } |
152 | 152 | |
153 | 153 | .innertube { |
154 | -margin: 15px; | |
154 | +margin: 30px; | |
155 | 155 | } |
156 | 156 | |
157 | 157 | #footer { |
... | ... | @@ -294,7 +294,8 @@ background-image: url('../images/admon-note.png'); |
294 | 294 | |
295 | 295 | /* Recommender BOX */ |
296 | 296 | |
297 | -#recommender-box { | |
297 | +#recommender-box { | |
298 | +height: 43px; | |
298 | 299 | position: relative; |
299 | 300 | margin:0; |
300 | 301 | vertical-align: top; |
... | ... | @@ -325,8 +326,9 @@ z-index: 1; |
325 | 326 | } |
326 | 327 | |
327 | 328 | #pkgs_list, #input-box { |
329 | +padding:10px; | |
328 | 330 | position: relative; |
329 | -width: 400px; | |
331 | +width: auto; | |
330 | 332 | } |
331 | 333 | |
332 | 334 | #pkgs_list { | ... | ... |
src/web/static/css/survey.css
57.4 KB
src/web/static/images/diaappr.png
44.3 KB
src/web/templates/about.html
1 | 1 | $var title: About |
2 | +$var url_base: / | |
2 | 3 | $var mod = 'about'; |
4 | +$var action: RECOMMENDATION | |
3 | 5 | $var cssfiles: static/css/facebox.css |
4 | 6 | $var jsfiles: static/js/facebox.js |
5 | 7 | |
... | ... | @@ -15,29 +17,24 @@ $var jsfiles: static/js/facebox.js |
15 | 17 | <div id="maincontent"> |
16 | 18 | <div class="innertube"> |
17 | 19 | |
18 | -<h1>AppRecommender Survey</h1> | |
20 | +<h1>AppRecommender</h1> | |
19 | 21 | <h2>About</h2> |
20 | 22 | |
21 | -<p align="justify">This experiment aims to compare and validate automated application | |
22 | -recommendations produced by different strategies and algorithms tuning. We | |
23 | -believe that real users evaluation regarding the relevance of recommendations is | |
24 | -the most accurate data source for computing recommender system effectiveness.</p> | |
25 | -<br/> | |
23 | +<p align="justify"><a href="http://github.com/tassia/AppRecommender">AppRecommender</a> | |
24 | +is a free recommender system for GNU/Linux applications developed as part of a | |
25 | +Master's project. It was initially developed using the Debian Project | |
26 | +infrasctructure, but the solution is essentially distro-independent and can | |
27 | +be adapted to other environments given that there is available data sources for | |
28 | +computing recommendations.</p> | |
26 | 29 | |
27 | -<p align="justify">The engine that is being tested is a free software called <a | |
28 | -href="http://github.com/tassia/AppRecommender">AppRecommender</a>. It was | |
29 | -initially developed using the Debian Project infrasctructure, but the solution | |
30 | -is essentially distro-independent and can even be adapted to non GNU/Linux | |
31 | -systems given that there is available data for that.</p> | |
32 | - | |
33 | -<a rel="facebox" href="static/images/diaappr.png" title="AppRecommender Diagram"> | |
30 | +<a rel="facebox" href="static/images/apprec.png" title="AppRecommender Diagram"> | |
34 | 31 | <img style="float: right; margin: 10px;" alt="AppRecommender dataflow" |
35 | -src="static/images/diaappr.png" width="230px" /></a> | |
32 | +src="static/images/apprec.png" width="230px" /></a> | |
36 | 33 | <br /> |
37 | 34 | |
38 | 35 | <p align="justify">The picture on the right gives an idea of the data workflow |
39 | -for AppRecommender. The user provides a set of applications installed in his | |
40 | -system and the recommender suggests a set of programs that he might also | |
36 | +for AppRecommender. The user provides a set of applications installed in her/his | |
37 | +system and the recommender suggests a set of programs that she/he might also | |
41 | 38 | be interested in, based on the profile deduced from the his previous choices |
42 | 39 | and other similar users choices. The recommendations are composed using |
43 | 40 | classification and information retrieval techniques using | ... | ... |
... | ... | @@ -0,0 +1,52 @@ |
1 | +$var title: About | |
2 | +$var url_base: /survey/ | |
3 | +$var action: START | |
4 | +$var mod = 'about'; | |
5 | +$var cssfiles: static/css/facebox.css | |
6 | +$var jsfiles: static/js/facebox.js | |
7 | + | |
8 | +<script type="text/javascript"> | |
9 | + $$(document).ready(function() { | |
10 | + $$('a[rel*=facebox]').facebox({ | |
11 | + loadingImage : 'static/images/loading.gif', | |
12 | + closeImage : 'static/images/closelabel.png' | |
13 | + }); | |
14 | + }); | |
15 | +</script> | |
16 | + | |
17 | +<div id="maincontent"> | |
18 | +<div class="innertube"> | |
19 | + | |
20 | +<h1>AppRecommender Survey</h1> | |
21 | +<h2>About</h2> | |
22 | + | |
23 | +<p align="justify">This experiment aims to compare and validate automated application | |
24 | +recommendations produced by different strategies and algorithms tuning. We | |
25 | +believe that real users evaluation regarding the relevance of recommendations is | |
26 | +the most accurate data source for computing recommender system effectiveness.</p> | |
27 | +<br/> | |
28 | + | |
29 | +<p align="justify">The engine that is being tested is a free software called <a | |
30 | +href="http://github.com/tassia/AppRecommender">AppRecommender</a>. It was | |
31 | +initially developed using the Debian Project infrasctructure, but the solution | |
32 | +is essentially distro-independent and can even be adapted to non GNU/Linux | |
33 | +systems given that there is available data for that.</p> | |
34 | + | |
35 | +<a rel="facebox" href="static/images/apprec.png" title="AppRecommender Diagram"> | |
36 | +<img style="float: right; margin: 10px;" alt="AppRecommender dataflow" | |
37 | +src="static/images/apprec.png" width="230px" /></a> | |
38 | +<br /> | |
39 | + | |
40 | +<p align="justify">The picture on the right gives an idea of the data workflow | |
41 | +for AppRecommender. The user provides a set of applications installed in his | |
42 | +system and the recommender suggests a set of programs that he might also | |
43 | +be interested in, based on the profile deduced from the his previous choices | |
44 | +and other similar users choices. The recommendations are composed using | |
45 | +classification and information retrieval techniques using | |
46 | +<a href="http://wiki.debian.org/Debtags">debtags</a>, | |
47 | +<a href="http://www.enricozini.org/sw/apt-xapian-index/">apt-xapian-index</a>, | |
48 | +<a href="http://popcon.debian.org/">Popcon</a> and <a | |
49 | +href="http://udd.debian.org/">UDD</a> as data sources.</p> | |
50 | + | |
51 | +</div><!-- id="innertube" --> | |
52 | +</div><!-- id="maincontent" --> | ... | ... |
src/web/templates/apprec.html
1 | -$def with (recommends, pkg_summaries, request) | |
2 | -$var title: Feedback | |
3 | -$var mod = 'feedback'; | |
4 | -$var cssfiles: static/css/apprec.css static/css/facebox.css static/css/voting.css | |
1 | +$def with (pkgs_details) | |
2 | +$var title: AppRecommender | |
3 | +$var url_base: / | |
4 | +$var action: RECOMMENDATION | |
5 | +$var mod = 'apprec'; | |
6 | +$var cssfiles: static/css/apprec.css static/css/facebox.css static/css/voting.css static/css/survey.css | |
5 | 7 | $var jsfiles: static/js/facebox.js |
6 | 8 | |
7 | 9 | <script type="application/x-javascript"> |
... | ... | @@ -41,44 +43,26 @@ $$(document).ready(function() { |
41 | 43 | }); |
42 | 44 | </script> |
43 | 45 | |
44 | -<div id="sidebar"> | |
45 | -<div class="innertube"> | |
46 | - | |
47 | -<div id="details_box" class="graybox align-left vert-grad"> | |
48 | -<h2>Recommendation strategy details</h2> | |
49 | - <ul class="toc"> | |
50 | - $for key, value in request.get_details().items(): | |
51 | - | |
52 | - <li><b>$key:</b> $value</li> | |
53 | - | |
54 | -</div> | |
55 | - | |
56 | -</div><!-- class="innertube" --> | |
57 | -<br style="clear: both"> | |
58 | -</div><!-- id="sidebar" --> | |
59 | - | |
60 | 46 | <div id="maincontent"> |
61 | 47 | <div class="innertube"> |
62 | 48 | |
63 | -<h1>Recomendation</h1> | |
49 | +<center> | |
50 | +<h1>Recommended applications</h1> | |
51 | +</center> | |
64 | 52 | |
65 | 53 | <form action="thanks" method="post" enctype="multipart/form-data"> |
66 | 54 | |
67 | 55 | <div id="result-thumbnail"> |
68 | -$for strategy, result in recommends.items(): | |
69 | - <!--<h2><a name="$strategy" id="$strategy">$strategy</a></h2>--> | |
70 | - $ count = 0 | |
71 | - $for pkg in result: | |
72 | - $ count = count + 1 | |
56 | +$for pkg in pkgs_details: | |
73 | 57 | <div class="item"> |
74 | - <h3><a href="package/$pkg" rel="facebox" title="General information for package $pkg">$pkg</a></h3> | |
75 | - <a class="link-thumb" rel="facebox" href="http://screenshots.debian.net/screenshot/$pkg?.jpg" title="Screenshot of package $pkg"> | |
76 | - <img src="http://screenshots.debian.net/thumbnail/$pkg" alt="Screenshot $pkg" /> | |
58 | + <h3><a href="package/$pkg.name" rel="facebox" class="thickbox" title="General information for package $pkg.name">$pkg.name</a></h3> | |
59 | + <a class="link-thumb" rel="facebox" | |
60 | + href="http://screenshots.debian.net/screenshot/$pkg.name?.jpg" title="Screenshot of package $pkg.name" | |
61 | + alt="Click to enlarge screenshot"> | |
62 | + <img src="http://screenshots.debian.net/thumbnail/$pkg.name" alt="Screenshot $pkg.name" /> | |
77 | 63 | </a> |
78 | - <p class="thumb-caption"><a href="package/$pkg" rel="facebox" title="General information for package $pkg"> $pkg_summaries[pkg] </a></p> | |
64 | + <p class="thumb-caption">$pkg.summary</p> | |
79 | 65 | </div> |
80 | - $if count == 5: | |
81 | - $ count = 0 | |
82 | 66 | |
83 | 67 | </div><!-- id="result-thumbnail" --> |
84 | 68 | </form> | ... | ... |
src/web/templates/error.html
1 | -$def with (error_msgs) | |
1 | +$def with (error_msgs,url_base,action) | |
2 | 2 | $var title: Error |
3 | +$var url_base: $url_base | |
4 | +$var action: $action | |
3 | 5 | $var mod = 'error'; |
4 | 6 | $var cssfiles: static/css/facebox.css static/css/facebox.css static/css/survey.css |
5 | 7 | $var jsfiles: static/js/facebox.js |
... | ... | @@ -10,21 +12,20 @@ $var jsfiles: static/js/facebox.js |
10 | 12 | |
11 | 13 | |
12 | 14 | <div class="index_include"> |
13 | -<center> | |
14 | - <h1>Welcome to AppRecommender</h1> | |
15 | -</center> | |
15 | + | |
16 | +<h1>AppRecommender</h1> | |
17 | +<h2>Unexpected error</h2> | |
16 | 18 | |
17 | 19 | Your request could not be proccessed due to the following error(s): |
18 | 20 | |
19 | -<div class="warning"> | |
20 | 21 | <p><ul> |
21 | 22 | $for e in error_msgs: |
22 | 23 | <b><li>$e</li></b> |
23 | 24 | </ul></p> |
24 | -</div> | |
25 | 25 | |
26 | -<p><a href="/">Go back</a> and try again. If you believe it is a bug, please report to <a | |
27 | -href="mailto:tassia@gamil.com">tassia@gmail.com</a>.</p> | |
26 | +<br /> | |
27 | +<p>If you believe it is a bug, please report this error along with the uploaded file to <a | |
28 | +href="mailto:tassia@ime.usp.br">tassia@ime.usp.br</a>.</p> | |
28 | 29 | |
29 | 30 | </div> |
30 | 31 | ... | ... |
src/web/templates/error_survey.html
... | ... | @@ -1,20 +0,0 @@ |
1 | -$var title: Error | |
2 | -$var mod = 'error'; | |
3 | -$var cssfiles: static/css/facebox.css static/css/facebox.css static/css/survey.css | |
4 | -$var jsfiles: static/js/facebox.js | |
5 | - | |
6 | - | |
7 | -<div id="maincontent"> | |
8 | -<div class="innertube"> | |
9 | - | |
10 | -<center> | |
11 | -<div class="index_include"> | |
12 | - <h1>AppRecommender Survey</h1> | |
13 | -<p>Unfortunately your request could not be proccessed.</p> | |
14 | -<p>Please report this error along with the submitted <br />file to <a href="mailto:tassia@gamil.com">tassia@gmail.com</a>.</p> | |
15 | -</center> | |
16 | - | |
17 | -</div> | |
18 | - | |
19 | -</div><!-- id="innertube" --> | |
20 | -</div><!-- id="maincontent" --> |
src/web/templates/index.html
1 | 1 | $var title: Home |
2 | +$var url_base: / | |
3 | +$var action: RECOMMENDATION | |
2 | 4 | $var mod = 'index'; |
3 | -$var cssfiles: static/css/tabs.css static/css/debtags.css static/css/facebox.css | |
5 | +$var cssfiles: static/css/tabs.css static/css/debtags.css static/css/facebox.css static/css/apprec.css | |
4 | 6 | $var jsfiles: static/js/facebox.js |
5 | 7 | |
6 | 8 | |
... | ... | @@ -604,9 +606,40 @@ function showtags(tagid) { |
604 | 606 | |
605 | 607 | </div><!-- id="box-three" --> |
606 | 608 | |
609 | + <div id="tab-one" class="tabs"> | |
610 | + | |
611 | +<h2>Most popular (<a href="#">all</a>)</h2> | |
612 | + <ul> | |
613 | + <li><a href="#">app...1</a></li> | |
614 | + <li><a href="#">app...2</a></li> | |
615 | + <li><a href="#">app...3</a></li> | |
616 | + <li><a href="#">app...4</a></li> | |
617 | + <li><a href="#">app...5</a></li> | |
618 | + </ul> | |
619 | + | |
620 | +<h2>Most voted (<a href="#">all</a>)</h2> | |
621 | + <ul> | |
622 | + <li><a href="#">app...1</a></li> | |
623 | + <li><a href="#">app...2</a></li> | |
624 | + <li><a href="#">app...3</a></li> | |
625 | + <li><a href="#">app...4</a></li> | |
626 | + <li><a href="#">app...5</a></li> | |
627 | + </ul> | |
628 | + | |
629 | +<h2>Most searched (<a href="#">all</a>)</h2> | |
630 | + <ul> | |
631 | + <li><a href="#">app...1</a></li> | |
632 | + <li><a href="#">app...2</a></li> | |
633 | + <li><a href="#">app...3</a></li> | |
634 | + <li><a href="#">app...4</a></li> | |
635 | + <li><a href="#">app...5</a></li> | |
636 | + </ul> | |
637 | + | |
638 | + </div> <!-- id="tab-one" --> | |
639 | + | |
607 | 640 | <div id="tab-two" class="tabs"> |
608 | 641 | |
609 | -<h2>Atualizados recentemente</h2> | |
642 | +<h2>Recently updated</h2> | |
610 | 643 | <ul> |
611 | 644 | <li><a href="#">Recents...1</a></li> |
612 | 645 | <li><a href="#">Recents...2</a></li> |
... | ... | @@ -622,40 +655,6 @@ function showtags(tagid) { |
622 | 655 | |
623 | 656 | </div><!-- id="box-two" --> |
624 | 657 | |
625 | - <div id="tab-one" class="tabs"> | |
626 | - | |
627 | -<h2>Os mais usados</h2> | |
628 | - <ul> | |
629 | - <li><a href="#">Lista...1</a></li> | |
630 | - <li><a href="#">Lista...2</a></li> | |
631 | - <li><a href="#">Lista...3</a></li> | |
632 | - <li><a href="#">Lista...4</a></li> | |
633 | - <li><a href="#">Lista...5</a></li> | |
634 | - </ul> | |
635 | - <a href="#">Listar todos nessa ordem</a> | |
636 | - | |
637 | -<h2>Os mais votados</h2> | |
638 | - <ul> | |
639 | - <li><a href="#">Lista...</a></li> | |
640 | - <li><a href="#">Lista...</a></li> | |
641 | - <li><a href="#">Lista...</a></li> | |
642 | - <li><a href="#">Lista...</a></li> | |
643 | - <li><a href="#">Lista...</a></li> | |
644 | - </ul> | |
645 | - <a href="#">Listar todos nessa ordem</a> | |
646 | - | |
647 | -<h2>Os mais pesquisados</h2> | |
648 | - <ul> | |
649 | - <li><a href="#">Lista...</a></li> | |
650 | - <li><a href="#">Lista...</a></li> | |
651 | - <li><a href="#">Lista...</a></li> | |
652 | - <li><a href="#">Lista...</a></li> | |
653 | - <li><a href="#">Lista...</a></li> | |
654 | - </ul> | |
655 | - <a href="#">Listar todos nessa ordem</a> | |
656 | - | |
657 | - </div> <!-- id="tab-one" --> | |
658 | - | |
659 | 658 | </div><!-- id="tab-wrap" --> |
660 | 659 | </div><!-- id="tab-area" --> |
661 | 660 | |
... | ... | @@ -667,13 +666,19 @@ function showtags(tagid) { |
667 | 666 | <div class="innertube"> |
668 | 667 | |
669 | 668 | <div class="textbox"> |
670 | -<h1>You might also like...</h1> | |
671 | - | |
672 | -<p>Provide a popcon submission's file and you'll get | |
673 | -a list of suggested packages automatically computed by AppRecommender. | |
674 | -</p> | |
669 | +<h1>AppRecommender</h1> | |
670 | +<h2>You might also like...</h2> | |
675 | 671 | |
676 | -<p>This is a tentative web interface for the recommender, if you have any suggestion about it, please get in touch.</p> | |
672 | +<p align="justify"> Provide the list of packages installed in your | |
673 | +system and a set of applications will be suggested for you. | |
674 | +</p><br /> | |
675 | +<p align="justify">Upload a popularity-contest submission file | |
676 | +(usually located at '/var/log/popularity-contest') or run the | |
677 | +following command and upload the generated 'packages.list' file.<br /> | |
678 | +<code> # dpkg-query --show > packages.list </code> | |
679 | +</p><br /> | |
680 | +<p>This is a tentative web interface for AppRecommender, if you have any | |
681 | +suggestion about it, please get in touch!</p> | |
677 | 682 | |
678 | 683 | </div> |
679 | 684 | ... | ... |
... | ... | @@ -0,0 +1,36 @@ |
1 | +$var title: Survey | |
2 | +$var url_base: /survey/ | |
3 | +$var action: START | |
4 | +$var mod = 'index'; | |
5 | +$var cssfiles: static/css/survey.css | |
6 | +$var jsfiles: | |
7 | + | |
8 | +<!-- Dynamic form --> | |
9 | +<script type="application/x-javascript"> | |
10 | +window.onload = function() { | |
11 | + setupDependencies('weboptions'); //name of form(s). Seperate each with a comma (ie: 'weboptions', 'myotherform' ) | |
12 | + }; | |
13 | +</script> | |
14 | + | |
15 | +<div id="maincontent"> | |
16 | +<div class="innertube"> | |
17 | + | |
18 | +<div class="textbox"> | |
19 | +<h1>AppRecommender Survey</h1> | |
20 | +<h2>Help us learn your needs</h2> | |
21 | + | |
22 | +<p>Participate in this survey and contribute for the development of | |
23 | +<a href="http://github.com/tassia/AppRecommender">AppRecommender</a>, | |
24 | +a recommender system for GNU/Linux applications.</p><br /> | |
25 | + <p align="justify"> Given a list of packages installed in a real | |
26 | + running system and a set of applications will be suggested for it. | |
27 | + Upload a popularity-contest submission file (usually located at | |
28 | + '/var/log/popularity-contest') or run the following command and | |
29 | + upload the generated 'packages.list' file.</p><br /> | |
30 | + <p><code> # dpkg-query --show > packages.list </code></p> | |
31 | +</div> | |
32 | + | |
33 | +</div><!-- class="innertube" --> | |
34 | +</div><!-- id="maincontent" --> | |
35 | + | |
36 | + | ... | ... |
src/web/templates/layout.html
1 | 1 | $def with (content) |
2 | -$ url_base = "/" | |
2 | +$ url_base = "/survey/" | |
3 | 3 | <!--Force IE6 into quirks mode with this comment tag--> |
4 | 4 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
5 | 5 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
... | ... | @@ -8,16 +8,16 @@ $ url_base = "/" |
8 | 8 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
9 | 9 | <title>AppRecommender - $content.title</title> |
10 | 10 | <link rev="made" href="mailto:tassia@gmail.com" /> |
11 | - <link rel="shortcut icon" href="$(url_base)static/favicon.ico" /> | |
11 | + <link rel="shortcut icon" href="$(content.url_base)static/favicon.ico" /> | |
12 | 12 | |
13 | - <link href="$(url_base)static/css/style.css" rel="stylesheet" type="text/css" media="screen" charset="utf-8" /> | |
13 | + <link href="$(content.url_base)static/css/style.css" rel="stylesheet" type="text/css" media="screen" charset="utf-8" /> | |
14 | 14 | |
15 | 15 | $if content.has_key('cssfiles'): |
16 | 16 | $for css in content.cssfiles.split(): |
17 | - <link href="$(url_base)$css" rel="stylesheet" type="text/css" media="screen" charset="utf-8" /> | |
17 | + <link href="$(content.url_base)$css" rel="stylesheet" type="text/css" media="screen" charset="utf-8" /> | |
18 | 18 | |
19 | - <script src="$(url_base)static/js/jquery.js" type="text/javascript"></script> | |
20 | - <script src="$(url_base)static/js/FormManager.js" type="text/javascript"></script> | |
19 | + <script src="$(content.url_base)static/js/jquery.js" type="text/javascript"></script> | |
20 | + <script src="$(content.url_base)static/js/FormManager.js" type="text/javascript"></script> | |
21 | 21 | |
22 | 22 | $if content.has_key('jsfiles'): |
23 | 23 | $for js in content.jsfiles.split(): |
... | ... | @@ -61,12 +61,12 @@ function validateForm() |
61 | 61 | |
62 | 62 | <div id="wrap" class="vert-grad"> |
63 | 63 | <div id="header" class="glass"> |
64 | - <a href="$url_base" title="AppRecommender"><h1 id="logo"><span>AppRecommender</span></h1></a> | |
64 | + <a href="$content.url_base" title="AppRecommender"><h1 id="logo"><span>AppRecommender</span></h1></a> | |
65 | 65 | <div id="recommender-box"> |
66 | - <form action="/survey/apprec" enctype="multipart/form-data" method="post" name="weboptions" onsubmit="return validateForm()"> | |
66 | + <form action="$(content.url_base)apprec" enctype="multipart/form-data" method="post" name="weboptions" onsubmit="return validateForm()"> | |
67 | 67 | <fieldset> |
68 | 68 | <div id="submit-box"> |
69 | - <input type="submit" value="START" id="submit-button" class="glass"><br /> | |
69 | + <input type="submit" value="$content.action" id="submit-button" class="glass"><br /> | |
70 | 70 | <a id="advanced-button">advanced query?</a> |
71 | 71 | </div> |
72 | 72 | <div id="input-box"> |
... | ... | @@ -85,7 +85,7 @@ function validateForm() |
85 | 85 | </p> |
86 | 86 | <div id="tip-upload" class="tip important"> |
87 | 87 | <p> |
88 | - File format: each line begins with a packages name or the popularity-contest format. | |
88 | + Format: one package per line or the popularity-contest log file. | |
89 | 89 | </div><!-- id="tip-upload" --> |
90 | 90 | </fieldset> |
91 | 91 | </div><!-- id="upload-slide" --> |
... | ... | @@ -160,8 +160,8 @@ $:content |
160 | 160 | |
161 | 161 | <div id="navbar"> |
162 | 162 | <ul> |
163 | - <li><a href="$url_base">Home</a></li> | |
164 | - <li><a href="$(url_base)about">About</a></li> | |
163 | + <li><a href="$content.url_base">Home</a></li> | |
164 | + <li><a href="$(content.url_base)about">About</a></li> | |
165 | 165 | <li><a href="http://github.com/tassia/AppRecommender">Development</a></li> |
166 | 166 | </ul> |
167 | 167 | </div><!-- id="navbar" --> | ... | ... |
src/web/templates/package.html
1 | 1 | $def with (pkg) |
2 | +$var url_base: / | |
2 | 3 | |
3 | 4 | <div class="align-left" id="voting_box"> |
4 | 5 | <button type="button" class="like_button" onclick=";return false;" id="like" > |
... | ... | @@ -16,12 +17,12 @@ $def with (pkg) |
16 | 17 | </div> |
17 | 18 | </div><!-- id="voting_box" --> |
18 | 19 | |
19 | -<h1 id="title_pkg">$pkg['package'] <br /><span>$pkg['description']</span></h1> | |
20 | +<h2 id="title_pkg">$pkg.name <br /><span>$pkg.summary</span></h2> | |
20 | 21 | |
21 | 22 | <div id="debtags_box" class="graybox horiz-grad"> |
22 | 23 | <h2>Debtags</h2> |
23 | 24 | <ul id="debtags_pkg"> |
24 | -$for facet, tags in pkg['tag'].items(): | |
25 | +$for facet, tags in pkg.tags.items(): | |
25 | 26 | <li> $facet |
26 | 27 | <ul> |
27 | 28 | $for tag in tags: |
... | ... | @@ -35,32 +36,33 @@ $for facet, tags in pkg['tag'].items(): |
35 | 36 | <h2>Details</h2> |
36 | 37 | |
37 | 38 | <ul> |
38 | - <li><b>Description</b>: <br />$:pkg['long_description']</li> | |
39 | - $if pkg['homepage']: | |
40 | - <li><b>Homepage</b>:<a href="$pkg['homepage']">$pkg['homepage']</a></li> | |
41 | - $if pkg['task']: | |
42 | - <li><b>Tasks</b>: $pkg['task']</li> | |
43 | - <li><b>Section</b>: $pkg['section']</li> | |
44 | - $if pkg['recommends']: | |
45 | - <li><b>Recommends</b>: $pkg['recommends']</li> | |
46 | - $if pkg['suggests']: | |
47 | - <li><b>Suggests</b>: $pkg['suggests']</li> | |
48 | - $if pkg['origin']: | |
49 | - <li><b>Origin</b>: $pkg['origin']</li> | |
50 | - <li><b>Maintainer</b>: $pkg['maintainer']</li> | |
39 | + $if hasattr(pkg, 'description'): | |
40 | + <li><b>Description:</b> <br />$:pkg.description</li> | |
41 | + $if hasattr(pkg, 'maintainer'): | |
42 | + <li><b>Maintainer:</b> $pkg.maintainer</li> | |
43 | + $if hasattr(pkg, 'homepage'): | |
44 | + <li><b>Homepage:</b> <a href="$pkg.homepage">$pkg.homepage</a></li> | |
45 | + $if hasattr(pkg,'section'): | |
46 | + <li><b>Section:</b> $pkg.section</li> | |
47 | + $if hasattr(pkg,'recommends'): | |
48 | + <li><b>Recommends:</b> $pkg.recommends</li> | |
49 | + $if hasattr(pkg,'suggests'): | |
50 | + <li><b>Suggests:</b> $pkg.suggests</li> | |
51 | + $if hasattr(pkg,'origin'): | |
52 | + <li><b>Origin:</b> $pkg.origin</li> | |
51 | 53 | </ul> |
52 | 54 | |
53 | 55 | </p> |
54 | 56 | |
55 | 57 | <div id="debresources_box" class="graybox vert-grad"> |
56 | -<h2>Debian resources:</h2> | |
58 | +<h2>Debian resources</h2> | |
57 | 59 | <ul> |
58 | - <li><a href="http://packages.debian.org/$pkg['package']">Package page on debian.org</a></li> | |
59 | - <li><a href="http://bugs.debian.org/$pkg['package']">Debian bug tracking system (BTS)</a></li> | |
60 | - <li><a href="http://packages.qa.debian.org/$pkg['package']">Debian package tracking system (PTS)</a></li> | |
61 | - <li><a href="http://qa.debian.org/popcon.php?package=$pkg['package']">Popularity contest statistics (Popcon)</a></li> | |
62 | - <li><a href="http://patch-tracker.debian.org/package/$pkg['package']">Debian patch tracking system</a></li> | |
63 | - <li><a href="http://screenshots.debian.net/package/$pkg['package']">Screenshots</a></li> | |
60 | + <li><a href="http://packages.debian.org/$pkg.name">Package page on debian.org</a></li> | |
61 | + <li><a href="http://bugs.debian.org/$pkg.name">Debian bug tracking system (BTS)</a></li> | |
62 | + <li><a href="http://packages.qa.debian.org/$pkg.name">Debian package tracking system (PTS)</a></li> | |
63 | + <li><a href="http://qa.debian.org/popcon.php?package=$pkg.name">Popularity contest statistics (Popcon)</a></li> | |
64 | + <li><a href="http://patch-tracker.debian.org/package/$pkg.name">Debian patch tracking system</a></li> | |
65 | + <li><a href="http://screenshots.debian.net/package/$pkg.name">Screenshots</a></li> | |
64 | 66 | </ul> |
65 | 67 | </div><!-- id="debresources_box --> |
66 | 68 | ... | ... |
src/web/templates/survey.html
1 | 1 | $def with (pkgs_details, request) |
2 | 2 | $var title: Survey |
3 | +$var url_base: /survey/ | |
4 | +$var action: START | |
3 | 5 | $var mod = 'survey'; |
4 | 6 | $var cssfiles: static/coda-slider-2.0/stylesheets/coda-slider-2.0.css static/css/facebox.css static/css/survey.css |
5 | 7 | $var jsfiles: /static/coda-slider-2.0/javascripts/jquery-1.3.2.min.js /static/coda-slider-2.0/javascripts/jquery.coda-slider-2.0.js /static/coda-slider-2.0/javascripts/jquery.easing.1.3.js /static/js/facebox.js |
... | ... | @@ -27,9 +29,7 @@ $var jsfiles: /static/coda-slider-2.0/javascripts/jquery-1.3.2.min.js /static/co |
27 | 29 | <div class="show-end" style="display: none;"> |
28 | 30 | |
29 | 31 | <p> |
30 | -You have completed this round of evaluations. If you have time to do some more, | |
31 | -please do so. Otherwise, please conclude your participation clicking in the | |
32 | -button below. | |
32 | +If you have any comment regarding this set of suggestions, please write in the form below. Choose <i>Continue</i> if you can perform another round of evaluations, or <i>Finish</i> to conclude your participation. | |
33 | 33 | </p> |
34 | 34 | |
35 | 35 | </div> |
... | ... | @@ -38,24 +38,25 @@ button below. |
38 | 38 | |
39 | 39 | <input type="hidden" name="user_id" value=$request.user.user_id> |
40 | 40 | <input type="hidden" name="strategy" value=$request.strategy> |
41 | -<div id="controls-form" style="display: none;" class="show-end"><!-- display show in the end form --> | |
42 | -<label for="finish_button" id="tip-finish"> | |
43 | - <!--<div class="tip important"> | |
44 | - <p>Conclude your participation in this survey</p> | |
45 | - </div>--> | |
41 | + | |
42 | +<div style="display: none; width: 400px; margin-left: 150px; margin-top: 10px;" class="show-end"><!-- display show in the end form --> | |
43 | +<p align="center"> | |
44 | +<label for="comments"> | |
45 | + <b>Comments</b><br /> | |
46 | + <textarea name="comments" value="" rows="4" cols="48"></textarea> <br /> | |
47 | +</label> | |
48 | +</p> | |
49 | +<label for="finish_button"> | |
46 | 50 | <input id="finish-button" name="finish_button" type="submit" value="Finish" class="glass" /> |
47 | 51 | </label> |
48 | -<label for="continue_button" id="tip-continue"> | |
49 | - <!--<div class="tip tip"> | |
50 | - <p>Evaluate more suggestions </p> | |
51 | - </div>--> | |
52 | +<label for="continue_button"> | |
52 | 53 | <input id="continue-button" name="continue_button" type="submit" value="Continue" class="glass" /> |
53 | 54 | </label> |
54 | 55 | </div><!-- id="controls-form" --> |
55 | 56 | |
56 | 57 | <div class="coda-slider-wrapper hide-end"> |
57 | 58 | <div class="coda-slider preload" id="coda-slider-1"> |
58 | - <h5 style="float: right;">How do you evaluate this recommendation?</h5> <br /> | |
59 | + <h5 style="float: right;"><b>How do you evaluate this recommendation?</b></h5> <br /> | |
59 | 60 | $for pkg in pkgs_details: |
60 | 61 | <div class="panel"> |
61 | 62 | <div id="panel-controls" class="glass"> |
... | ... | @@ -92,7 +93,7 @@ $for pkg in pkgs_details: |
92 | 93 | $if hasattr(pkg,'maintainer'): |
93 | 94 | <li><pre> Maintained by $:pkg.maintainer</pre></li> |
94 | 95 | $if hasattr(pkg,'homepage'): |
95 | - <li><pre> Homepage is $:pkg.homepage</pre></li> | |
96 | + <li><pre> Homepage: $:pkg.homepage</pre></li> | |
96 | 97 | </ul> |
97 | 98 | </div><!-- id="content-pkg" --> |
98 | 99 | </div><!-- .panel-wrapper --> | ... | ... |
src/web/templates/survey_index.html
... | ... | @@ -1,35 +0,0 @@ |
1 | -$var title: Survey | |
2 | -$var mod = 'index'; | |
3 | -$var cssfiles: static/css/survey.css | |
4 | -$var jsfiles: | |
5 | - | |
6 | -<!-- Dynamic form --> | |
7 | -<script type="application/x-javascript"> | |
8 | -window.onload = function() { | |
9 | - setupDependencies('weboptions'); //name of form(s). Seperate each with a comma (ie: 'weboptions', 'myotherform' ) | |
10 | - }; | |
11 | -</script> | |
12 | - | |
13 | -<div id="maincontent"> | |
14 | -<div class="innertube"> | |
15 | - | |
16 | -<div class="textbox"> | |
17 | -<h1>AppRecommender Survey</h1> | |
18 | -<h2>Help us learn your needs</h2> | |
19 | - | |
20 | -<p>Participate in this survey and contribute for the development of | |
21 | -<a href="http://github.com/tassia/AppRecommender">AppRecommender</a>, | |
22 | -a recommender system for GNU/Linux applications.</p><br /> | |
23 | - <p align="justify"> Provide a list of packages installed in a real | |
24 | - running system and a set of applications will be suggested for it. You can | |
25 | - upload a popularity-contest submission file (usually located at | |
26 | - '/var/log/popularity-contest') or any other file with packages name as first | |
27 | - field of each line. For instance, you can run the following command and | |
28 | - upload the generated 'packages.list' file.</p><br /> | |
29 | - <p><code> # dpkg-query --show > packages.list </code></p> | |
30 | -</div> | |
31 | - | |
32 | -</div><!-- class="innertube" --> | |
33 | -</div><!-- id="maincontent" --> | |
34 | - | |
35 | - |
src/web/templates/thanks.html
1 | 1 | $def with (user_id) |
2 | +$var url_base: /survey/ | |
3 | +$var action: START | |
2 | 4 | $var title: Thanks |
3 | 5 | $var mod = 'thanks'; |
4 | 6 | $var cssfiles: static/css/survey.css |
... | ... | @@ -11,302 +13,31 @@ $var cssfiles: static/css/survey.css |
11 | 13 | <div id="maincontent"> |
12 | 14 | <div class="innertube"> |
13 | 15 | |
14 | -<center> | |
15 | -<h1>Thanks!</h1> | |
16 | -<p>Thank you very much for participating in this survey. Your help is very much | |
17 | -appreciated!</p><br /> | |
18 | - | |
19 | -<div id="optionalform"> | |
20 | -<center> | |
21 | -<h2>Optional Info</h2> | |
22 | -<p> | |
23 | - Provide your name or nick if you agree with that being published in our | |
24 | - thanks page and final report. If you also provide a valid e-mail address we'll | |
25 | - be able to send you the survey report as soon as it is ready. | |
16 | +<h1>AppRecommender Survey</h1> | |
17 | +<p>Thank you very much for participating in this survey, you help is very much | |
18 | +appreciated! Identify yourself if you want to be mentioned in our thanks page | |
19 | +and final report. | |
26 | 20 | </p><br /> |
27 | -</center> | |
28 | 21 | |
29 | - <form action="thanks" method="post" enctype="multipart/form-data" name="identification_form"> | |
30 | - <label> | |
31 | - <input type="hidden" name="user_id" value=$user_id> | |
32 | - Name: <input class="text" type="text" name="name" value="" size="40"> | |
33 | - </label></p> | |
34 | - <p> | |
35 | - <label> | |
36 | - E-mail: <input class="text" type="text" name="email" value="" size="40"> | |
37 | - </label></p><!-- | |
38 | - <p> | |
39 | - <label> | |
40 | - Country: <select name="Country"> | |
41 | - <option value="" selected="selected">--- Select ---</option> | |
42 | - <option value="United States">United States</option> | |
43 | - <option value="United Kingdom">United Kingdom</option> | |
44 | - <option value="Afghanistan">Afghanistan</option> | |
45 | - <option value="Albania">Albania</option> | |
46 | - <option value="Algeria">Algeria</option> | |
47 | - <option value="American Samoa">American Samoa</option> | |
48 | - <option value="Andorra">Andorra</option> | |
49 | - <option value="Angola">Angola</option> | |
50 | - <option value="Anguilla">Anguilla</option> | |
51 | - <option value="Antarctica">Antarctica</option> | |
52 | - <option value="Antigua and Barbuda">Antigua and Barbuda</option> | |
53 | - <option value="Argentina">Argentina</option> | |
54 | - <option value="Armenia">Armenia</option> | |
55 | - <option value="Aruba">Aruba</option> | |
56 | - <option value="Australia">Australia</option> | |
57 | - <option value="Austria">Austria</option> | |
58 | - <option value="Azerbaijan">Azerbaijan</option> | |
59 | - <option value="Bahamas">Bahamas</option> | |
60 | - <option value="Bahrain">Bahrain</option> | |
61 | - <option value="Bangladesh">Bangladesh</option> | |
62 | - <option value="Barbados">Barbados</option> | |
63 | - <option value="Belarus">Belarus</option> | |
64 | - <option value="Belgium">Belgium</option> | |
65 | - <option value="Belize">Belize</option> | |
66 | - <option value="Benin">Benin</option> | |
67 | - <option value="Bermuda">Bermuda</option> | |
68 | - <option value="Bhutan">Bhutan</option> | |
69 | - <option value="Bolivia">Bolivia</option> | |
70 | - <option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option> | |
71 | - <option value="Botswana">Botswana</option> | |
72 | - <option value="Bouvet Island">Bouvet Island</option> | |
73 | - <option value="Brazil">Brazil</option> | |
74 | - <option value="British Indian Ocean Territory">British Indian Ocean | |
75 | - Territory</option> | |
76 | - <option value="Brunei Darussalam">Brunei Darussalam</option> | |
77 | - <option value="Bulgaria">Bulgaria</option> | |
78 | - <option value="Burkina Faso">Burkina Faso</option> | |
79 | - <option value="Burundi">Burundi</option> | |
80 | - <option value="Cambodia">Cambodia</option> | |
81 | - <option value="Cameroon">Cameroon</option> | |
82 | - <option value="Canada">Canada</option> | |
83 | - <option value="Cape Verde">Cape Verde</option> | |
84 | - <option value="Cayman Islands">Cayman Islands</option> | |
85 | - <option value="Central African Republic">Central African Republic</option> | |
86 | - <option value="Chad">Chad</option> | |
87 | - <option value="Chile">Chile</option> | |
88 | - <option value="China">China</option> | |
89 | - <option value="Christmas Island">Christmas Island</option> | |
90 | - <option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option> | |
91 | - <option value="Colombia">Colombia</option> | |
92 | - <option value="Comoros">Comoros</option> | |
93 | - <option value="Congo">Congo</option> | |
94 | - <option value="Congo, The Democratic Republic of The">Congo, The Democratic | |
95 | - Republic of The</option> | |
96 | - <option value="Cook Islands">Cook Islands</option> | |
97 | - <option value="Costa Rica">Costa Rica</option> | |
98 | - <option value="Cote D'ivoire">Cote D'ivoire</option> | |
99 | - <option value="Croatia">Croatia</option> | |
100 | - <option value="Cuba">Cuba</option> | |
101 | - <option value="Cyprus">Cyprus</option> | |
102 | - <option value="Czech Republic">Czech Republic</option> | |
103 | - <option value="Denmark">Denmark</option> | |
104 | - <option value="Djibouti">Djibouti</option> | |
105 | - <option value="Dominica">Dominica</option> | |
106 | - <option value="Dominican Republic">Dominican Republic</option> | |
107 | - <option value="Ecuador">Ecuador</option> | |
108 | - <option value="Egypt">Egypt</option> | |
109 | - <option value="El Salvador">El Salvador</option> | |
110 | - <option value="Equatorial Guinea">Equatorial Guinea</option> | |
111 | - <option value="Eritrea">Eritrea</option> | |
112 | - <option value="Estonia">Estonia</option> | |
113 | - <option value="Ethiopia">Ethiopia</option> | |
114 | - <option value="Falkland Islands (Malvinas)">Falkland Islands | |
115 | - (Malvinas)</option> | |
116 | - <option value="Faroe Islands">Faroe Islands</option> | |
117 | - <option value="Fiji">Fiji</option> | |
118 | - <option value="Finland">Finland</option> | |
119 | - <option value="France">France</option> | |
120 | - <option value="French Guiana">French Guiana</option> | |
121 | - <option value="French Polynesia">French Polynesia</option> | |
122 | - <option value="French Southern Territories">French Southern | |
123 | - Territories</option> | |
124 | - <option value="Gabon">Gabon</option> | |
125 | - <option value="Gambia">Gambia</option> | |
126 | - <option value="Georgia">Georgia</option> | |
127 | - <option value="Germany">Germany</option> | |
128 | - <option value="Ghana">Ghana</option> | |
129 | - <option value="Gibraltar">Gibraltar</option> | |
130 | - <option value="Greece">Greece</option> | |
131 | - <option value="Greenland">Greenland</option> | |
132 | - <option value="Grenada">Grenada</option> | |
133 | - <option value="Guadeloupe">Guadeloupe</option> | |
134 | - <option value="Guam">Guam</option> | |
135 | - <option value="Guatemala">Guatemala</option> | |
136 | - <option value="Guinea">Guinea</option> | |
137 | - <option value="Guinea-bissau">Guinea-bissau</option> | |
138 | - <option value="Guyana">Guyana</option> | |
139 | - <option value="Haiti">Haiti</option> | |
140 | - <option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald | |
141 | - Islands</option> | |
142 | - <option value="Holy See (Vatican City State)">Holy See (Vatican City | |
143 | - State)</option> | |
144 | - <option value="Honduras">Honduras</option> | |
145 | - <option value="Hong Kong">Hong Kong</option> | |
146 | - <option value="Hungary">Hungary</option> | |
147 | - <option value="Iceland">Iceland</option> | |
148 | - <option value="India">India</option> | |
149 | - <option value="Indonesia">Indonesia</option> | |
150 | - <option value="Iran, Islamic Republic of">Iran, Islamic Republic | |
151 | - of</option> | |
152 | - <option value="Iraq">Iraq</option> | |
153 | - <option value="Ireland">Ireland</option> | |
154 | - <option value="Israel">Israel</option> | |
155 | - <option value="Italy">Italy</option> | |
156 | - <option value="Jamaica">Jamaica</option> | |
157 | - <option value="Japan">Japan</option> | |
158 | - <option value="Jordan">Jordan</option> | |
159 | - <option value="Kazakhstan">Kazakhstan</option> | |
160 | - <option value="Kenya">Kenya</option> | |
161 | - <option value="Kiribati">Kiribati</option> | |
162 | - <option value="Korea, Democratic People's Republic of">Korea, Democratic | |
163 | - People's Republic of</option> | |
164 | - <option value="Korea, Republic of">Korea, Republic of</option> | |
165 | - <option value="Kuwait">Kuwait</option> | |
166 | - <option value="Kyrgyzstan">Kyrgyzstan</option> | |
167 | - <option value="Lao People's Democratic Republic">Lao People's Democratic | |
168 | - Republic</option> | |
169 | - <option value="Latvia">Latvia</option> | |
170 | - <option value="Lebanon">Lebanon</option> | |
171 | - <option value="Lesotho">Lesotho</option> | |
172 | - <option value="Liberia">Liberia</option> | |
173 | - <option value="Libyan Arab Jamahiriya">Libyan Arab Jamahiriya</option> | |
174 | - <option value="Liechtenstein">Liechtenstein</option> | |
175 | - <option value="Lithuania">Lithuania</option> | |
176 | - <option value="Luxembourg">Luxembourg</option> | |
177 | - <option value="Macao">Macao</option> | |
178 | - <option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The | |
179 | - Former Yugoslav Republic of</option> | |
180 | - <option value="Madagascar">Madagascar</option> | |
181 | - <option value="Malawi">Malawi</option> | |
182 | - <option value="Malaysia">Malaysia</option> | |
183 | - <option value="Maldives">Maldives</option> | |
184 | - <option value="Mali">Mali</option> | |
185 | - <option value="Malta">Malta</option> | |
186 | - <option value="Marshall Islands">Marshall Islands</option> | |
187 | - <option value="Martinique">Martinique</option> | |
188 | - <option value="Mauritania">Mauritania</option> | |
189 | - <option value="Mauritius">Mauritius</option> | |
190 | - <option value="Mayotte">Mayotte</option> | |
191 | - <option value="Mexico">Mexico</option> | |
192 | - <option value="Micronesia, Federated States of">Micronesia, Federated | |
193 | - States of</option> | |
194 | - <option value="Moldova, Republic of">Moldova, Republic of</option> | |
195 | - <option value="Monaco">Monaco</option> | |
196 | - <option value="Mongolia">Mongolia</option> | |
197 | - <option value="Montserrat">Montserrat</option> | |
198 | - <option value="Morocco">Morocco</option> | |
199 | - <option value="Mozambique">Mozambique</option> | |
200 | - <option value="Myanmar">Myanmar</option> | |
201 | - <option value="Namibia">Namibia</option> | |
202 | - <option value="Nauru">Nauru</option> | |
203 | - <option value="Nepal">Nepal</option> | |
204 | - <option value="Netherlands">Netherlands</option> | |
205 | - <option value="Netherlands Antilles">Netherlands Antilles</option> | |
206 | - <option value="New Caledonia">New Caledonia</option> | |
207 | - <option value="New Zealand">New Zealand</option> | |
208 | - <option value="Nicaragua">Nicaragua</option> | |
209 | - <option value="Niger">Niger</option> | |
210 | - <option value="Nigeria">Nigeria</option> | |
211 | - <option value="Niue">Niue</option> | |
212 | - <option value="Norfolk Island">Norfolk Island</option> | |
213 | - <option value="Northern Mariana Islands">Northern Mariana Islands</option> | |
214 | - <option value="Norway">Norway</option> | |
215 | - <option value="Oman">Oman</option> | |
216 | - <option value="Pakistan">Pakistan</option> | |
217 | - <option value="Palau">Palau</option> | |
218 | - <option value="Palestinian Territory, Occupied">Palestinian Territory, | |
219 | - Occupied</option> | |
220 | - <option value="Panama">Panama</option> | |
221 | - <option value="Papua New Guinea">Papua New Guinea</option> | |
222 | - <option value="Paraguay">Paraguay</option> | |
223 | - <option value="Peru">Peru</option> | |
224 | - <option value="Philippines">Philippines</option> | |
225 | - <option value="Pitcairn">Pitcairn</option> | |
226 | - <option value="Poland">Poland</option> | |
227 | - <option value="Portugal">Portugal</option> | |
228 | - <option value="Puerto Rico">Puerto Rico</option> | |
229 | - <option value="Qatar">Qatar</option> | |
230 | - <option value="Reunion">Reunion</option> | |
231 | - <option value="Romania">Romania</option> | |
232 | - <option value="Russian Federation">Russian Federation</option> | |
233 | - <option value="Rwanda">Rwanda</option> | |
234 | - <option value="Saint Helena">Saint Helena</option> | |
235 | - <option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option> | |
236 | - <option value="Saint Lucia">Saint Lucia</option> | |
237 | - <option value="Saint Pierre and Miquelon">Saint Pierre and | |
238 | - Miquelon</option> | |
239 | - <option value="Saint Vincent and The Grenadines">Saint Vincent and The | |
240 | - Grenadines</option> | |
241 | - <option value="Samoa">Samoa</option> | |
242 | - <option value="San Marino">San Marino</option> | |
243 | - <option value="Sao Tome and Principe">Sao Tome and Principe</option> | |
244 | - <option value="Saudi Arabia">Saudi Arabia</option> | |
245 | - <option value="Senegal">Senegal</option> | |
246 | - <option value="Serbia and Montenegro">Serbia and Montenegro</option> | |
247 | - <option value="Seychelles">Seychelles</option> | |
248 | - <option value="Sierra Leone">Sierra Leone</option> | |
249 | - <option value="Singapore">Singapore</option> | |
250 | - <option value="Slovakia">Slovakia</option> | |
251 | - <option value="Slovenia">Slovenia</option> | |
252 | - <option value="Solomon Islands">Solomon Islands</option> | |
253 | - <option value="Somalia">Somalia</option> | |
254 | - <option value="South Africa">South Africa</option> | |
255 | - <option value="South Georgia and The South Sandwich Islands">South Georgia | |
256 | - and The South Sandwich Islands</option> | |
257 | - <option value="Spain">Spain</option> | |
258 | - <option value="Sri Lanka">Sri Lanka</option> | |
259 | - <option value="Sudan">Sudan</option> | |
260 | - <option value="Suriname">Suriname</option> | |
261 | - <option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option> | |
262 | - <option value="Swaziland">Swaziland</option> | |
263 | - <option value="Sweden">Sweden</option> | |
264 | - <option value="Switzerland">Switzerland</option> | |
265 | - <option value="Syrian Arab Republic">Syrian Arab Republic</option> | |
266 | - <option value="Taiwan, Province of China">Taiwan, Province of | |
267 | - China</option> | |
268 | - <option value="Tajikistan">Tajikistan</option> | |
269 | - <option value="Tanzania, United Republic of">Tanzania, United Republic | |
270 | - of</option> | |
271 | - <option value="Thailand">Thailand</option> | |
272 | - <option value="Timor-leste">Timor-leste</option> | |
273 | - <option value="Togo">Togo</option> | |
274 | - <option value="Tokelau">Tokelau</option> | |
275 | - <option value="Tonga">Tonga</option> | |
276 | - <option value="Trinidad and Tobago">Trinidad and Tobago</option> | |
277 | - <option value="Tunisia">Tunisia</option> | |
278 | - <option value="Turkey">Turkey</option> | |
279 | - <option value="Turkmenistan">Turkmenistan</option> | |
280 | - <option value="Turks and Caicos Islands">Turks and Caicos Islands</option> | |
281 | - <option value="Tuvalu">Tuvalu</option> | |
282 | - <option value="Uganda">Uganda</option> | |
283 | - <option value="Ukraine">Ukraine</option> | |
284 | - <option value="United Arab Emirates">United Arab Emirates</option> | |
285 | - <option value="United Kingdom">United Kingdom</option> | |
286 | - <option value="United States">United States</option> | |
287 | - <option value="United States Minor Outlying Islands">United States Minor | |
288 | - Outlying Islands</option> | |
289 | - <option value="Uruguay">Uruguay</option> | |
290 | - <option value="Uzbekistan">Uzbekistan</option> | |
291 | - <option value="Vanuatu">Vanuatu</option> | |
292 | - <option value="Venezuela">Venezuela</option> | |
293 | - <option value="Viet Nam">Viet Nam</option> | |
294 | - <option value="Virgin Islands, British">Virgin Islands, British</option> | |
295 | - <option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option> | |
296 | - <option value="Wallis and Futuna">Wallis and Futuna</option> | |
297 | - <option value="Western Sahara">Western Sahara</option> | |
298 | - <option value="Yemen">Yemen</option> | |
299 | - <option value="Zambia">Zambia</option> | |
300 | - <option value="Zimbabwe">Zimbabwe</option> | |
301 | - </select> | |
302 | - </label></p><br />--> | |
303 | - <p> <label class="text-left"> | |
304 | - Comments:<br /> | |
305 | - <textarea name="comments" value="" rows="2" cols="50"></textarea> | |
306 | - </label></p> | |
307 | - <p><input type="submit" name="send_button" value="Submit" class="glass" | |
308 | - id="finish-button"><p> | |
309 | - </form> | |
22 | +<div style="margin-left:150px;" id="optionalform"> | |
23 | +<center> | |
24 | +<form action="thanks" method="post" enctype="multipart/form-data" name="identification_form"> | |
25 | + <p> | |
26 | + <label> | |
27 | + <input type="hidden" name="user_id" value=$user_id> | |
28 | + Name <input class="text" type="text" name="name" value="" size="40"> | |
29 | + </label></p> | |
30 | + <p> | |
31 | + <label> | |
32 | + E-mail <input class="text" type="text" name="email" value="" size="40"> | |
33 | + </label></p> | |
34 | + <p> | |
35 | + <label style="align:left"> | |
36 | + General comments or suggestions<br /> | |
37 | + <textarea name="comments" value="" rows="2" cols="50"></textarea> | |
38 | + </label></p> | |
39 | + <p><input type="submit" name="send_button" value="Submit" class="glass" id="finish-button"><p> | |
40 | +</form> | |
310 | 41 | |
311 | 42 | <div><!-- optionalform --> |
312 | 43 | </center> | ... | ... |