Changeset 388

Show
Ignore:
Timestamp:
06/22/09 13:38:25 (11 years ago)
Author:
kovell
Message:

Page cache fixes for comments.
refresh no longer reposts comment.
comments display again.
304 sent for refresh of cached pages.
html fixes

Location:
dev
Files:
9 modified

Legend:

Unmodified
Added
Removed
  • dev/common/admin/option_acache.php

    r382 r388  
    88options::fadd('Caching enabled', 'cache_enabled', 'checkbox'); 
    99options::fadd('Cache directory', 'cache_dir', 'edit:size:40'); 
    10 options::fadd('Ignore pages', 'cache_ignore', 'edit:size:60'); 
    11 options::fadd('Cache times', 'cache_times', 'edit:size:60'); 
     10options::fadd('Ignore pages (xx,yy)', 'cache_ignore', 'edit:size:60'); 
     11options::fadd('Cache times (xx:1,yy:2)', 'cache_times', 'edit:size:60'); 
    1212 
    1313options::cat('Advanced', 'Cache', 'Query Cache'); 
  • dev/common/comments.php

    r343 r388  
    2525            } 
    2626            $comments->addComment($name, $comment); 
     27                        //Remove cached file. 
     28                        if(KB_CACHE) cache::deleteCache(); 
     29                        //Redirect to avoid refresh reposting comments. 
     30                        header('Location: '.$_SERVER['REQUEST_URI'],TRUE,303); 
     31                        die(); 
    2732        } 
    2833    } 
  • dev/common/includes/class.cache.php

    r383 r388  
    6464            } 
    6565                        // Include session info in the hash to support session-based security. 
    66             $cachefile = KB_CACHEDIR.'/'.KB_SITE.'/'.md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].implode($_SESSION)).'.cache'; 
    67 /* 
    68             // cache is unlimited in reinforced mode 
    69             if (config::get('is_reinforced') && file_exists($cachefile)) 
    70             { 
    71                 ob_start('ob_gzhandler'); 
    72                 @readfile($cachefile); 
    73                 ob_end_flush(); 
    74                 exit(); 
    75             } 
    76             elseif (config::get('is_reinforced')) 
    77             { 
    78                 global $smarty; 
    79                 $smarty->assign('message', 'Note: This killboard has entered reinforced operation mode.'); 
    80             } 
    81 */ 
     66            $cachefile = cache::genCacheName(); 
    8267            $times = explode(',', config::get('cache_times')); 
    8368            foreach ($times as $string) 
     
    9378            else 
    9479            { 
    95                 $cachetime = 1; 
     80                $cachetime = 10; 
    9681            } 
    9782            $cachetime = $cachetime * 60; 
     
    10489                                $cachetime = $cachetime * 20; 
    10590            } 
    106                         if(file_exists($cachefile)) 
    107                         { 
    108                                 $timestamp = @filemtime($cachefile); 
    109                                 if(time() - $cachetime > $timestamp) unlink($cachefile); 
    110                         } 
     91                        if(file_exists($cachefile)) $timestamp = @filemtime($cachefile); 
    11192                        else $timestamp = 0; 
    11293            //$timestamp = ((@file_exists($cachefile))) ? @filemtime($cachefile) : 0; 
    11394            if (time() - $cachetime < $timestamp) 
    11495            { 
    115                 ob_start('ob_gzhandler'); 
     96                                $etag=md5($cachefile); 
     97                                header("Last-Modified: ".gmdate("D, d M Y H:i:s", $timestamp)." GMT"); 
     98// Breaks comment posting. 
     99//                              header('Expires: ' . gmdate('D, d M Y H:i:s', $timestamp + $cachetime) . ' GMT'); 
     100                                header("Etag: ".md5($etag)); 
     101                                header("Cache-Control:"); 
     102                                header('Pragma:'); 
     103 
     104                                if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $timestamp || 
     105                                        trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) 
     106                                { 
     107                                        header("HTTP/1.1 304 Not Modified"); 
     108                                        exit; 
     109                                } 
     110 
     111                if(!ini_get('zlib.output_compression')) ob_start('ob_gzhandler'); 
     112                                else ob_start(); 
    116113                @readfile($cachefile); 
    117114                ob_end_flush(); 
     
    120117            ob_start(); 
    121118        } 
     119                header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); 
     120//              header('Expires: ' . gmdate('D, d M Y H:i:s', time()+60) . ' GMT'); 
     121                header("Etag: ".md5($cachefile)); 
     122                header("Cache-Control:"); 
     123                header('Pragma:'); 
    122124    } 
    123125 
     
    126128        if (cache::shouldCache()) 
    127129        { 
    128             $cachefile = KB_CACHEDIR.'/'.KB_SITE.'/'.md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']).'.cache'; 
     130            $cachefile = cache::genCacheName(); 
    129131            $fp = @fopen($cachefile, 'w'); 
    130132                        //@fwrite($fp, ob_get_contents()); 
     
    136138        } 
    137139    } 
     140 
     141        function deleteCache() 
     142        { 
     143                $cachefile = cache::genCacheName(); 
     144                @unlink($cachefile); 
     145        } 
     146 
     147        function genCacheName() 
     148        { 
     149                return KB_CACHEDIR.'/'.KB_SITE.'/'.md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].implode($_SESSION)).'.cache'; 
     150        } 
    138151} 
    139152?> 
  • dev/common/includes/class.comments.php

    r370 r388  
    1111     */ 
    1212    function Comments($kll_id)  
    13     {  
     13    { 
    1414        $this->id_ = $kll_id;  
    1515        $this->raw_ = false;  
     
    2626        $qry = new DBQuery(true);  
    2727        $qry->execute("SELECT *,id FROM kb3_comments WHERE `kll_id` = '". 
    28             $kll_id."' order by posttime asc");  
     28            $this->id_."' order by posttime asc"); 
    2929        while ($row = $qry->getRow())  
    3030        {  
     
    3232              'comment' => stripslashes($row['comment']), 'id' => $row['id']);  
    3333        }  
    34         $smarty->assign_by_ref('comments', $this->comments_);  
     34        $smarty->assign_by_ref('comments', $this->comments_); 
     35                $smarty->assign('norep', time()%3700); 
    3536        return $smarty->fetch(get_tpl('block_comments'));  
    3637    }  
  • dev/common/kill_detail.php

    r381 r388  
    11<?php 
    22require_once('common/includes/class.kill.php'); 
     3 
     4$kll_id = intval($_GET['kll_id']); 
     5$kll_external_id = intval($_GET['kll_external_id']); 
     6if (!$kll_id && !$kll_external_id) 
     7{ 
     8    $html = "No kill id specified."; 
     9    $page->setContent($html); 
     10    $page->generate($html); 
     11    exit; 
     12} 
     13 
     14if($kll_id) 
     15{ 
     16        $kill = new Kill($kll_id); 
     17} 
     18else 
     19{ 
     20        $kill = new Kill($kll_external_id, true); 
     21        $kll_id = $kill->getID(); 
     22} 
     23$kill->setDetailedInvolved(); 
     24 
     25if (!$kill->exists()) 
     26{ 
     27    $html="That kill doesn't exist."; 
     28    $page->setContent($html); 
     29    $page->generate($html); 
     30    exit; 
     31} 
     32 
     33// If a comment is being posted then we don't exit this block. 
     34if(isset($_POST['comment']) && config::get('comments')) 
     35{ 
     36    include('common/comments.php'); 
     37} 
     38 
    339require_once('common/includes/class.pilot.php'); 
    440require_once('common/includes/class.corp.php'); 
     
    66102        $qry->execute("UPDATE kb3_items_".$table." SET itd_itl_id ='".$Val."' WHERE itd_itm_id=".$IID." AND itd_kll_id = ".$KID." AND itd_itl_id = ".$old); 
    67103    } 
    68 } 
    69  
    70 $kll_id = intval($_GET['kll_id']); 
    71 $kll_external_id = intval($_GET['kll_external_id']); 
    72 if (!$kll_id && !$kll_external_id) 
    73 { 
    74     $html = "No kill id specified."; 
    75     $page->setContent($html); 
    76     $page->generate($html); 
    77     exit; 
    78 } 
    79  
    80 if($kll_id) 
    81 { 
    82         $kill = new Kill($kll_id); 
    83         $kill->setDetailedInvolved(); 
    84 } 
    85 else 
    86 { 
    87         $kill = new Kill($kll_external_id, true); 
    88         $kill->setDetailedInvolved(); 
    89         $kll_id = $kill->getID(); 
    90 } 
    91  
    92 if (!$kill->exists()) 
    93 { 
    94     $html = "That kill doesn't exist."; 
    95     $page->setContent($html); 
    96     $page->generate($html); 
    97     exit; 
    98104} 
    99105 
     
    549555    else 
    550556    { 
    551         $menubox->addOption("link", "Fix Slots", "?a=kill_detail&amp;kll_id=".$kill->getID()."&view=FixSlot"); 
     557        $menubox->addOption("link", "Fix Slots", "?a=kill_detail&amp;kll_id=".$kill->getID()."&amp;view=FixSlot"); 
    552558    } 
    553559} 
  • dev/mods/apoc_fitting/kill_detail.php

    r381 r388  
    11<?php 
    22require_once('common/includes/class.kill.php'); 
     3 
     4$kll_id = intval($_GET['kll_id']); 
     5$kll_external_id = intval($_GET['kll_external_id']); 
     6if (!$kll_id && !$kll_external_id) 
     7{ 
     8    $html = "No kill id specified."; 
     9    $page->setContent($html); 
     10    $page->generate($html); 
     11    exit; 
     12} 
     13 
     14if($kll_id) 
     15{ 
     16        $kill = new Kill($kll_id); 
     17} 
     18else 
     19{ 
     20        $kill = new Kill($kll_external_id, true); 
     21        $kll_id = $kill->getID(); 
     22} 
     23$kill->setDetailedInvolved(); 
     24 
     25if (!$kill->exists()) 
     26{ 
     27    $html="That kill doesn't exist."; 
     28    $page->setContent($html); 
     29    $page->generate($html); 
     30    exit; 
     31} 
     32 
     33// If a comment is being posted then we don't exit this block. 
     34if(isset($_POST['comment']) && config::get('comments')) 
     35{ 
     36    include('common/comments.php'); 
     37} 
     38 
    339require_once('common/includes/class.killsummarytable.php'); 
    440require_once('common/includes/class.pilot.php'); 
     
    66102                          . " AND itd_kll_id = " . $KID . " AND itd_itl_id = " . $old); 
    67103        } 
    68     } 
    69  
    70 $kll_id = intval($_GET['kll_id']); 
    71 $kll_external_id = intval($_GET['kll_external_id']); 
    72 if (!$kll_id && !$kll_external_id) 
    73 { 
    74     $html = "No kill id specified."; 
    75     $page->setContent($html); 
    76     $page->generate($html); 
    77     exit; 
    78 } 
    79  
    80 if($kll_id) 
    81 { 
    82         $kill = new Kill($kll_id); 
    83         $kill->setDetailedInvolved(); 
    84 } 
    85 else 
    86 { 
    87         $kill = new Kill($kll_external_id, true); 
    88         $kill->setDetailedInvolved(); 
    89         $kll_id = $kill->getID(); 
    90 } 
    91  
    92 if (!$kill->exists()) 
    93     { 
    94     $html="That kill doesn't exist."; 
    95     $page->setContent($html); 
    96     $page->generate($html); 
    97     exit; 
    98104    } 
    99105 
     
    274280 
    275281if (config::get('comments')) 
    276     { 
     282{ 
    277283    include('common/comments.php'); 
    278284    $smarty->assign('comments', $comment); 
    279     } 
     285} 
    280286 
    281287// ship, ship details 
     
    852858    if (isset($_GET['view']) && $_GET['view'] == 'FixSlot') 
    853859        { 
    854         $menubox->addOption("link", "Adjust Values", "?a=kill_detail&kll_id=" . $kill->getID() . ""); 
     860        $menubox->addOption("link", "Adjust Values", "?a=kill_detail&amp;kll_id=" . $kill->getID() . ""); 
    855861        } 
    856862    else 
  • dev/mods/apoc_fitting/kill_detail.tpl

    r381 r388  
    171171 
    172172          <br /> 
    173           <div id="fitting" style="position:relative; height:398px; width:398px;" name="fitting"> 
     173          <div id="fitting" style="position:relative; height:398px; width:398px;" title="fitting"> 
    174174                <div id="mask" style="position:absolute; left:0px; top:0px; width:398px; height:398px; z-index:0;"> 
    175175                        <img border="0" style="position:absolute; height='398' width='398' filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( 
     
    258258        {if $admin and $config->get('item_values') and !$fixSlot} 
    259259                    <tr class="kb-table-row-even"> 
    260                       <form method="post" action=""> 
    261                         <td height="34" colspan="3" valign="top"> 
     260                      <td height="34" colspan="4" valign="top" align="right"><form method="post" action=""><table><tr> 
     261                        <td> 
    262262                            <div align="right"> 
    263263                                Current single Item Value: 
     
    266266                            </div></td> 
    267267                        <td height="34" valign="top"><input type="submit" name="submit" value="UpdateValue" class="comment-button"></td> 
    268                       </form> 
     268                      </tr></table></form></td> 
    269269                    </tr> 
    270270        {/if} 
     
    297297        {if $admin and $config->get('item_values') and !$fixSlot} 
    298298                    <tr class="kb-table-row-even"> 
    299                       <form method="post" action=""> 
    300                         <td height="34" colspan="3" valign="top"> 
     299                      <td height="34" colspan="4" valign="top" align="right"><form method="post" action=""><table><tr> 
     300                        <td> 
    301301                            <div align="right"> 
    302302                                Current single Item Value: 
     
    305305                            </div></td> 
    306306                        <td height="34" valign="top"><input type="submit" name="submit" value="UpdateValue" class="comment-button"></td> 
    307                       </form> 
     307                      </tr></table></form></td> 
    308308                    </tr> 
    309309        {/if} 
  • dev/templates/block_comments.tpl

    r343 r388  
    11<div class="block-header">Comments</div> 
    2 <table class="kb-table" width="360" border="0" cellspacing="1" border="0"> 
     2<table class="kb-table" width="360" border="0" cellspacing="1"> 
    33  <tr> 
    44    <td width="100%" align="left" valign="top"> 
    5       <table width="100%" border="0" cellspacing="0" border="0"> 
     5      <table width="100%" border="0" cellspacing="0"> 
    66{cycle reset=true print=false name=ccl values="kb-table-row-even,kb-table-row-odd"}{section name=i loop=$comments} 
    77        <tr class="{cycle name=ccl}"> 
    88          <td> 
    9             <div style="position: relative;"><a href="?a=search&searchtype=pilot&searchphrase={$comments[i].name}">{$comments[i].name}</a>: 
     9            <div style="position: relative;"><a href="?a=search&amp;searchtype=pilot&amp;searchphrase={$comments[i].name}">{$comments[i].name}</a>: 
    1010{if $comments[i].time} 
    1111            <span style="position:absolute; right: 0px;">{$comments[i].time}</span> 
     
    1313            <p>{$comments[i].comment}</p> 
    1414{if $page->isAdmin()} 
    15 <a href="javascript:openWindow('?a=admin_comments_delete&c_id={$comments[i].id}', null, 480, 350, '' );">Delete Comment</a> 
     15<a href="javascript:openWindow('?a=admin_comments_delete&amp;c_id={$comments[i].id}', null, 480, 350, '' );">Delete Comment</a> 
    1616<span style="position:absolute; right: 0px;"><u>Posters IP:{$comments[i].ip}</u></span> 
    1717{/if}  
    18           </td> 
     18          </div></td> 
    1919        </tr> 
    2020{/section} 
    21         <tr> 
    22           <td align="center"><form id="postform" name="postform" method="post" action=""> 
    23             <textarea class="comment" name="comment" cols="55" rows="5" wrap="PHYSICAL" style="width: 340px;" onkeyup="limitText(this.form.comment,document.getElementById('countdown'),200);" onkeypress="limitText(this.form.comment,document.getElementById('countdown'),200);"></textarea> 
     21        <tr><td><form id="postform" name="postform" method="post" action=""><table><tr> 
     22          <td align="center"> 
     23            <textarea class="comment" name="comment" cols="55" rows="5" wrap="virtual" style="width: 340px;" onkeyup="limitText(this.form.comment,document.getElementById('countdown'),200);" onkeypress="limitText(this.form.comment,document.getElementById('countdown'),200);"></textarea> 
    2424          </td> 
    2525        </tr> 
     
    2727          <td> 
    2828            <br/> 
    29             <span name="countdown" id="countdown">200</span> Letters left<br/> 
     29            <span title="countdown" id="countdown">200</span> Letters left<br/> 
    3030            <b>Name:</b> 
    3131            <input style="position:relative; right:-3px;" class="comment-button" name="name" type="text" size="24" maxlength="24">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
     
    3636{/if} 
    3737            <input class="comment-button" name="submit" type="submit" value="Add Comment"> 
    38             </form> 
    39           </td> 
     38             
     39          </td></tr></table></form></td> 
    4040        </tr> 
    4141      </table> 
  • dev/templates/kill_detail.tpl

    r370 r388  
    9494 
    9595{if $config->get('fp_show')} 
    96           <div id="fitting" style="position:relative; height:398px; width:398px; background-image:url({$img_url}/{$themedir}/{$panel_style}.png)" name="fitting"> 
     96          <div id="fitting" style="position:relative; height:398px; width:398px; background-image:url({$img_url}/{$themedir}/{$panel_style}.png)" title="fitting"> 
    9797                <div id="high0" style="position:absolute; left:0px; top:0px; width:398px; height:398px; z-index:0;"> 
    9898                        <img src="{$img_url}/{$themedir}/{$ssc->attrib.hiSlots.value}h.gif" border="0" alt=""></div> 
     
    211211        {if $admin and $config->get('item_values') and !$fixSlot} 
    212212                    <tr class="kb-table-row-even"> 
    213                       <form method="post" action=""> 
    214                         <td height="34" colspan="3" valign="top"> 
     213                      <td height="34" colspan="4" valign="top" align="right"><form method="post" action=""><table><tr> 
     214                        <td> 
    215215                            <div align="right"> 
    216216                                Current single Item Value: 
     
    219219                            </div></td> 
    220220                        <td height="34" valign="top"><input type="submit" name="submit" value="UpdateValue" class="comment-button"></td> 
    221                       </form> 
     221                      </tr></table></form></td> 
    222222                    </tr> 
    223223        {/if} 
     
    250250        {if $admin and $config->get('item_values') and !$fixSlot} 
    251251                    <tr class="kb-table-row-even"> 
    252                       <form method="post" action=""> 
    253                         <td height="34" colspan="3" valign="top"> 
     252                      <td height="34" colspan="4" valign="top" align="right"><form method="post" action=""><table><tr> 
     253                        <td> 
    254254                            <div align="right"> 
    255255                                Current single Item Value: 
    256256                                <input name="IID" value="{$i.itemID}" type="hidden"> 
    257257                                <input name="{$i.itemID}" type="text" class="comment-button" value="{$i.single_unit}" size="6"> 
    258                             </div> 
     258                            </div></td> 
    259259                        <td height="34" valign="top"><input type="submit" name="submit" value="UpdateValue" class="comment-button"></td> 
    260                       </form> 
     260                      </tr></table></form></td> 
    261261                    </tr> 
    262262        {/if}