Changeset 265 in t29-www


Ignore:
Timestamp:
May 31, 2012, 2:39:20 AM (7 years ago)
Author:
sven
Message:

Bugfixes:

  • menu.js, template.php, style.css: Loesung fuer abhauenden Menubutton (get-menu) am Ende der Seite (schob sich unter Footer) gefunden, Menue kann jetzt zu jeder Zeit eingeblendet werden.
  • cache.php: Dokumentation
  • navigation.xml: Typos beseitigt
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • de-v6/navigation.xml

    r262 r265  
    110110                        <li><a seiten_id="tontechnik" href="/de-v6/kommunikationstechnik/tontechnik.php">Tontechnik</a></li>
    111111                        <li><a seiten_id="fernsehen" href="/de-v6/kommunikationstechnik/fernsehen.php">Fernsehen</a></li>
    112                         <li><a seiten_id="faxtechnik" href="/de-v6/kommunikationstechnik/faxtechnik.pjp">Telegraphie und Faximile</a></li>
     112                        <li><a seiten_id="faxtechnik" href="/de-v6/kommunikationstechnik/faxtechnik.php">Telegraphie und Faximile</a></li>
    113113                </ul>
    114114        </li>
  • en-v6/navigation.xml

    r262 r265  
    6262                                </ul>
    6363                        </li>
    64                         <li><a seiten_id="commercial" href="/en-v6/computer/commercial.php">Commercial Computers</a>
     64                        <li><a seiten_id="kommerzielle" href="/en-v6/computer/commercial.php">Commercial Computers</a>
    6565                                <ul class="u3">
    6666                                        <li><a href="/en-v6/computer/commercial.php#olivetti-p203">Olivetti P203</a></li>
  • lib/cache.php

    r264 r265  
    3131        public $verbose = false; // print html comments and errors
    3232
    33         public $cache_file;
    34         public $test_files = array();
     33        // these must be set after constructing!
     34        public $cache_file; // must be set!
     35        public $test_files = array(); // must be set!
    3536
    3637        private $mtime_cache_file = null; // needed for cache header output
     
    6162        }
    6263
     64        /**
     65         * Calculates and compares the mtimes of the cache file and testing files.
     66         * Doesn't obey any debug/skip/purge rules, just gives out if the cache file
     67         * is valid or not.
     68         * The result is cached in $is_valid, so you can call this (heavy to calc)
     69         * method frequently.
     70         **/
    6371        function is_valid() {
    6472                // no double calculation
     
    8997        }
    9098
     99        /**
     100         * The "front end" to is_valid: Takes skipping and purging rules into
     101         * account to decide whether you shall use the cache or not.
     102         * @returns boolean value if cache is supposed to be valid or not.
     103         **/
    91104        function shall_use() {
    92105                $test = $this->is_valid() && !$this->skip && !$this->purge;
     
    97110        }
    98111       
     112        /**
     113         * Prints out cache file with according HTTP headers and HTTP caching
     114         * (HTTP_IF_MODIFIED_SINCE). You must not print out anything after such a http
     115         * header! Therefore consider using the convenience method print_cache_and_exit()
     116         * instead of this one or exit on yourself.
     117         **/
    99118        function print_cache() {
    100119                // make sure we already have called is_valid
     
    124143        }
    125144       
     145        /**
     146         * Convenience method which will exit the program after calling print_cache().
     147         **/
    126148        function print_cache_and_exit() {
    127149                $this->print_cache();
     
    129151        }
    130152
     153        /**
     154         * Convenience method for calling the typical workflow: Test if the cache file
     155         * shall be used, and if yes, print it out and exit the program. If this method
     156         * returns, you can be sure that you have to create a (new) cache file. So your
     157         * typical code will look like:
     158         *
     159         *  $cache = new t29Cache();
     160         *  // initialization stuff $cache->... = ...
     161         *  $cache->try_cache_and_exit();
     162         *  // so we are still alive - go making content!
     163         *  $cache->start_cache(...);
     164         *  echo "be happy";
     165         *  $cache->write_cache(); // at least if you didn't use any registered shutdown function.
     166         *
     167         **/
    131168        function try_cache_and_exit() {
    132169                if($this->shall_use())
     
    216253        }
    217254       
    218         function print_info($string, $even_if_nonverbose=false) {
     255       
     256        private function print_info($string, $even_if_nonverbose=false) {
    219257                if($this->verbose || $even_if_nonverbose)
    220258                        echo "<!-- t29Cache: $string -->\n";
    221259        }
    222260       
    223         function print_error($string, $even_if_nonverbose=false) {
     261        private function print_error($string, $even_if_nonverbose=false) {
    224262                if($this->verbose || $even_if_nonverbose)
    225263                        echo "<div class='error t29cache'>t29Cache: $string</div>\n";
  • lib/template.php

    r264 r265  
    134134        </section>
    135135        <hr>
    136         <section class="sidebar">
     136        <section class="sidebar top">
    137137                        <h2 class="visuallyhidden"><?php $p("sidebar-h2-tour"); ?></h2>
    138138                        <nav class="side">
     
    140140                        </nav>
    141141                        <!-- menu changing buttons are made with javascript -->
     142        </section>
     143        <section class="sidebar bottom">
     144                <!-- inhalte die unten ueber dem header sind -->
    142145        </section>
    143146        </div><!-- div id="background-color-container" helper end -->
  • shared/css-v6/style.css

    r261 r265  
    423423}
    424424
     425section.sidebar.bottom {
     426        position: absolute;
     427        bottom: 0; left: 0;
     428}
     429
     430section.sidebar.bottom .button.get-menu {
     431        position: static;
     432        margin-bottom: -25px;
     433}
     434
     435html.button-stick-bottom section.sidebar.top .button.get-menu {
     436        display: none;
     437}
     438
    425439/* Footer */
    426440footer {
  • shared/js-v6/modules/menu.js

    r260 r265  
    125125                                break;
    126126                        case t29.menu.scroll.States.FIX:
     127                        case t29.menu.scroll.States.STICK_BOTTOM:
    127128                                // zu Static uebergehen, mit Animation.
    128129                                t29.menu.side.fadeOut(function(){
     
    130131                                break;
    131132                        case t29.menu.scroll.States.STICK_TOP:
    132                         case t29.menu.scroll.States.STICK_BOTTOM:
    133133                        default:
    134134                                // diese Faelle sollten nicht vorkommen.
     
    141141        t29.menu.scroll.max_bottom = $("footer").offset().top - t29.menu.side.height();
    142142        t29.menu.scroll.stick_bottom = $("footer").offset().top - t29.menu.side.height() - $("#background-color-container").offset().top;
     143        t29.menu.scroll.button_max_bottom = $("footer").offset().top;
    143144        //t29.menu.scroll.max_bottom - $("#background-color-container").offset().top;
    144145
    145146        $(window).scroll(function(){
    146147                var y = $(this).scrollTop();
     148
    147149                switch(t29.menu.scroll.state) {
    148                         case t29.menu.scroll.States.STATIC: return; // System inaktiv.
     150                        case t29.menu.scroll.States.STATIC: break; // System inaktiv.
    149151                        case t29.menu.scroll.States.FIX:
    150152                                if(y < t29.menu.scroll.origin_top)
     
    171173                                }
    172174                                break;
     175                }
     176
     177                // Sichtbarkeit des Fixed-Buttons am unteren Seitenrand
     178                // festlegen:
     179                if(y + $(window).height() > t29.menu.scroll.button_max_bottom) {
     180                        $("html").addClass('button-stick-bottom');
     181                } else if($("html").hasClass('button-stick-bottom')) {
     182                        $("html").removeClass('button-stick-bottom');
    173183                }
    174184        }); // end event window.scroll.
Note: See TracChangeset for help on using the changeset viewer.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License