Changeset 864

Show
Ignore:
Timestamp:
09/08/05 10:44:24 (3 years ago)
Author:
mbonetti
Message:

fix for #160. Also moved the javascript code to the "external file" model which supports conditional get.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/rss/plugins/dblclicktoread.php

    r657 r864  
    3030/// Author: Marco Bonetti 
    3131/// Description: Marks an item as read when you doubleclick it 
    32 /// Version: 1.2 
     32/// Version: 1.3 
    3333 
    34 function __dblclickToRead_js($in) { 
     34 
     35 
     36 
     37function __dblclicktoread_js_register($js) { 
     38    $js[] = getPath(). RSS_PLUGINS_DIR . "/dblclicktoread.php?dcljs"; 
     39    return $js; 
     40} 
     41 
     42function __dblclickToRead_init_js($dummy) { 
     43    echo "\n<script type=\"text/javascript\">\n" 
     44    ."<!--\n" 
     45    ."__dbclickToRead_jsInit();\n" 
     46    ."-->\n" 
     47    ."</script>\n"; 
     48    return $dummy; 
     49} 
     50 
     51if (isset($_REQUEST['dcljs'])) { 
     52    //required for DBUNAME 
     53    if (!defined('DBUNAME')) { 
     54        require_once('../dbinit.php'); 
     55    } 
     56    //required for ETagHandler and hidePrivate 
     57    if (!function_exists('ETagHandler')) { 
     58        require_once('../util.php'); 
     59    } 
     60    //required for the feedstate constants 
     61    if (!defined('FEED_MODE_UNREAD_STATE')) { 
     62        require_once('../constants.php'); 
     63    } 
     64     
     65     
     66    ETagHandler(md5("dblclicktoread".'$Revision: 845 $')); 
    3567    if (hidePrivate()) { 
    3668        return; 
    3769    } 
    3870?> 
    39 <script type="text/javascript"> 
    40 // <!-- 
    41     var isIE=document.all?true:false; 
    42     function __dblclickToRead_js_getId(o) { 
    43         if (html = o.innerHTML) {             
    44             if (r1 = new RegExp(".*es.([0-9]+),([0-9]+).*","gm").exec(html)) { 
    45                 if (!isIE) { 
    46                     c = unreadCnt(-1); 
    47                 } else { 
    48                     c = 1; 
    49                 } 
    50                 id=r1[1]; 
    51                 s =r1[2] & <?= SET_MODE_READ_STATE ?>; 
    52                 if ((sel = document.getElementById('<?= SHOW_WHAT ?>')) && 
    53                     sel.options[sel.selectedIndex].value == <?= SHOW_UNREAD_ONLY ?>) { 
    54                     setItemHide(id, (c == 0)); 
    55                 } else{  
    56                     setItemClass(id, 'item even');                    
     71 
     72 
     73 
     74var isIE=document.all?true:false; 
     75function __dblclickToRead_js_getId(o) { 
     76    if (html = o.innerHTML) { 
     77        if (r1 = new RegExp(".*es.([0-9]+),([0-9]+).*","gm").exec(html)) { 
     78            if (!isIE) { 
     79                c = unreadCnt(-1); 
     80            } else { 
     81                c = 1; 
     82            } 
     83            id=r1[1]; 
     84            s =r1[2] & <?= SET_MODE_READ_STATE ?>; 
     85            if ((sel = document.getElementById('<?= SHOW_WHAT ?>')) && 
     86                sel.options[sel.selectedIndex].value == <?= SHOW_UNREAD_ONLY ?>) { 
     87                setItemHide(id, (c == 0)); 
     88            } else{ 
     89                setItemClass(id, 'item even'); 
     90                if (document.all) { 
     91                    o.ondblclick = function() {return false;} 
     92                } else { 
     93                    o.setAttribute("ondblclick","return false;"); 
    5794                } 
     95            } 
    5896 
    59                 setState(id,s); 
    60             }  
     97            setState(id,s); 
    6198        } 
    6299    } 
    63      
     100} 
     101function __dbclickToRead_jsInit() { 
    64102    var isIE=document.all?true:false; 
    65103    var items = document.getElementsByTagName('li'); 
     
    72110                item.setAttribute("ondblclick","__dblclickToRead_js_getId(this); return false;"); 
    73111            } 
    74         }  
     112        } 
    75113    } 
    76      
    77 // --> 
    78 </script> 
    79 <?php 
    80     return null; 
    81114} 
    82115 
    83 rss_set_hook('rss.plugins.bodyend','__dblclickToRead_js'); 
     116<?php 
     117    flush(); 
     118    exit(); 
     119} 
     120 
     121rss_set_hook('rss.plugins.javascript','__dblclicktoread_js_register'); 
     122rss_set_hook('rss.plugins.bodyend','__dblclickToRead_init_js'); 
    84123?>