Prevented one form of DoS attack by limiting number of tags in query to 6.
[wolnelektury.git] / wolnelektury / templates / catalogue / main_page.html
index 0c58ada..94eba67 100644 (file)
@@ -3,15 +3,6 @@
 
 {% block bodyid %}main-page{% endblock %}
 
 
 {% block bodyid %}main-page{% endblock %}
 
-{% block extrahead %}
-    <script type="text/javascript" charset="utf-8">
-        $(function() {
-            $('#categories-list ul').columnize({width: 180});
-            $('#themes-list ul').columnize({width: 180});
-        });
-    </script>
-{% endblock %}
-
 {% block body %}
     <div id="site-description">
         {% chunk "site-description" %}
 {% block body %}
     <div id="site-description">
         {% chunk "site-description" %}
         <p>{{ form.q }} {{ form.tags }} <input type="submit" value="Szukaj" /> <strong>lub</strong> <a href="{% url catalogue.views.book_list %}">zobacz spis utworów</a> w naszym zbiorze</p>
     </form>
     
         <p>{{ form.q }} {{ form.tags }} <input type="submit" value="Szukaj" /> <strong>lub</strong> <a href="{% url catalogue.views.book_list %}">zobacz spis utworów</a> w naszym zbiorze</p>
     </form>
     
-    <div id="tags-list">
-        <div id="categories-list">
-            {% if categories.set %}
-                <h2>Półki</h2>
-                <ul>
-                {% for set in categories.set %}
-                    <li><a href="{% catalogue_url set %}">{{ set }}&nbsp;({{ set.count }})</a></li>
-                {% endfor %}
-                </ul>
-            {% endif %}
-            
-            {% if categories.author %}
-                <h2>Autorzy</h2>
-                <ul>
-                {% for author in categories.author %}
-                    <li><a href="{% catalogue_url author %}">{{ author }}&nbsp;({{ author.count }})</a></li>
+    <div id="intro">
+        <p id="tags-description">↓ Przeglądaj lektury według wybranych kategorii i motywów literackich ↓</p>
+        <div id="propaganda">
+            <h2>Twoje półki z lekturami</h2>
+            {% if user.is_authenticated %}
+                {% if shelves %}
+                <ul class="shelf-list">
+                {% for shelf in shelves %}
+                    <li><a href="{% url delete_shelf shelf.slug %}" class="delete-shelf">usuń</a> <a href="{{ shelf.get_absolute_url }}" class="visit-shelf">{{ shelf.name }}</a></li>
                 {% endfor %}
                 </ul>
                 {% endfor %}
                 </ul>
-            {% endif %}
-            
-            {% if categories.epoch %}
-            <h2>Epoki</h2>
-                <ul>
-                {% for epoch in categories.epoch %}
-                    <li><a href="{% catalogue_url epoch %}">{{ epoch }}&nbsp;({{ epoch.count }})</a></li>
-                {% endfor %}
-                </ul>                
-            {% endif %}
-            
-            {% if categories.kind %}
-                <h2>Rodzaje</h2>
-                <ul>
-                {% for kind in categories.kind %}
-                    <li><a href="{% catalogue_url kind %}">{{ kind }}&nbsp;({{ kind.count }})</a></li>
-                {% endfor %}
-                </ul>                
-            {% endif %}
-            
-            {% if categories.genre %}
-                <h2>Gatunki literackie</h2>
-                <ul>
-                {% for genre in categories.genre %}
-                    <li><a href="{% catalogue_url genre %}">{{ genre }}&nbsp;({{ genre.count }})</a></li>
-                {% endfor %}
-                </ul>                
+                {% else %}
+                <p>Nie posiadasz żadnych półek. Jeśli chcesz, możesz utworzyć półkę poniżej.</p>
+                {% endif %}
+                <hr />
+                <form action="{% url catalogue.views.new_set %}" method="post" accept-charset="utf-8" class="cuteform">
+                <ol>
+                    <li>{{ new_set_form.name }} <input type="submit" value="Utwórz półkę"/></li>
+                </ol>
+                </form>
+            {% else %}
+                <p>Stwórz własny zestaw lektur. Możesz się nim później podzielić z innymi, przesyłając im link do Twojej półki.</p>
+                <p>Aby zarządzać swoimi półkami, musisz się <a class="login-register-link" href="#">zalogować</a>.</p>
             {% endif %}
         </div>
             {% endif %}
         </div>
-        <div id="themes-list">
-            {% if categories.theme %}
-                <h2>Motywy</h2>
-                <ul>
-                {% for theme in fragment_tags %}
-                    <li><a href="{% catalogue_url theme %}">{{ theme }}&nbsp;({{ theme.count }})</a></li>
-                {% endfor %}
-                </ul>                
-            {% endif %}
+        <div id="tags-list">
+            <div id="categories-list">
+                {% if categories.author %}
+                    <h2>Autorzy</h2>
+                    {% folded_tag_list categories.author %}
+                {% endif %}
+                {% if categories.kind %}
+                    <h2>Rodzaje</h2>
+                    {% folded_tag_list categories.kind %}
+                {% endif %}
+                {% if categories.genre %}
+                    <h2>Gatunki literackie</h2>
+                    {% folded_tag_list categories.genre %}
+                {% endif %}
+                {% if categories.epoch %}
+                    <h2>Epoki</h2>
+                    {% folded_tag_list categories.epoch %}
+                {% endif %}
+            </div>
+            <div id="themes-list">
+                {% if fragment_tags %}
+                    <h2>Motywy i tematy</h2>
+                    {% folded_tag_list fragment_tags %}
+                {% endif %}
+                <h2>Rodziny motywów</h2>
+                <div class="shown-tags">
+                    <ol>
+                        <li>świat w perspektywie etycznej
+                            <span class="subcategories">    
+                                <a href="/katalog/dobro/">Dobro</a>, <a href="/katalog/zlo">Zło</a>,
+                                <a href="/katalog/sumienie/">Sumienie</a>, <a href="/katalog/kuszenie/">Kuszenie</a>
+                            </span>
+                        </li>
+                        <li>polityczny obraz świata
+                            <span class="subcategories">
+                                <a href="/katalog/panstwo/">Państwo</a>, <a href="/katalog/obywatel/">Obywatel</a>,
+                                <a href="/katalog/patriota/">Patriota</a>, <a href="/katalog/ojczyzna/">Ojczyzna</a>
+                            </span>
+                        </li>
+                        <li>przyroda
+                            <span class="subcategories">
+                                <a href="/katalog/natura/">Natura</a>, <a href="/katalog/zywioly/">Żywioły</a>,
+                                <a href="/katalog/ogien/">Ogień</a>, <a href="/katalog/ziemia/">Ziemia</a>
+                            </span>
+                        </li>
+                    </ol>
+                    <p><a href="#" class="show-all-tags">Zobacz więcej</a></p>
+                </div>
+                <div class="all-tags">
+                    <ol>
+                        <li>świat w perspektywie etycznej
+                            <span class="subcategories">    
+                                <a href="/katalog/dobro/">Dobro</a>, <a href="/katalog/zlo">Zło</a>,
+                                <a href="/katalog/sumienie/">Sumienie</a>, <a href="/katalog/kuszenie/">Kuszenie</a>
+                            </span>
+                        </li>
+                        <li>polityczny obraz świata
+                            <span class="subcategories">
+                                <a href="/katalog/panstwo/">Państwo</a>, <a href="/katalog/obywatel/">Obywatel</a>,
+                                <a href="/katalog/patriota/">Patriota</a>, <a href="/katalog/ojczyzna/">Ojczyzna</a>
+                            </span>
+                        </li>
+                        <li>przyroda
+                            <span class="subcategories">
+                                <a href="/katalog/natura/">Natura</a>, <a href="/katalog/zywioly/">Żywioły</a>,
+                                <a href="/katalog/ogien/">Ogień</a>, <a href="/katalog/ziemia/">Ziemia</a>
+                            </span>
+                        </li>
+                    </ol>
+                </div>
+            </div>
+            <div class="clearboth"></div>
         </div>
         </div>
-        <div class="clearboth"></div>
     </div>
     </div>
+    <div class="clearboth"></div>
     
     
-    <div id="latest-blog-posts">
-        <h2>Aktualności z naszego bloga</h2>
-        {% cache 1800 latest-blog-posts %}
-        {% latest_blog_posts "http://wolnepodreczniki.pl/feed/?s=Wolne%20Lektury" %}
-        {% endcache %}
+    <div id="site-info">
+        <div id="latest-blog-posts">
+            <h2>Aktualności</h2>
+            {% cache 1800 latest-blog-posts %}
+            {% latest_blog_posts "http://wolnepodreczniki.pl/feed/?s=Wolne%20Lektury" %}
+            {% endcache %}
+        </div>
+        <div id="you-can-help">
+            <h2>Możesz nam pomóc!</h2>
+            <p>Utwory włączane sukcesywnie do naszej biblioteki staramy się opracowywać jak najdokładniej. Jest to możliwe tylko dzięki współpracującym z nami wolontariuszom.</p>
+            <p>Zapraszamy wszystkie osoby, które chcą współtworzyć szkolną bibliotekę internetową Wolne Lektury.</p>
+        </div>
+        <div id="about-us">
+            <h2>O projekcie</h2>
+            <p>Biblioteka internetowa z lekturami szkolnymi „Wolne Lektury” (<a href="http://wolnelektury.pl">www.wolnelektury.pl</a>) to projekt realizowany przez Fundację Nowoczesna Polska. Działa od 2007 roku i udostępnia w swoich zbiorach lektury szkolne, które są zalecane do użytku przez Ministerstwo Edukacji Narodowej i które trafiły już do domeny publicznej.</p>
+        </div>
     </div>
 {% endblock %}
     </div>
 {% endblock %}