home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / phpbb2plus / phpBB2_plus_1.52.exe / phpBB2 / links.js.php < prev    next >
PHP Script  |  2004-07-18  |  5KB  |  160 lines

  1. <?php
  2. /***************************************************************************
  3. *                            links.js.php
  4. *                            -------------------
  5. *  MOD add-on page. Contains GPL code copyright of phpBB group.
  6. *  Author: OOHOO < webdev@phpbb-tw.net >
  7. *  Author: Stefan2k1 and ddonker from www.portedmods.com
  8. *  Demo: http://phpbb-tw.net/
  9. *  Version: 1.0.X - 2002/03/22 - for phpBB RC serial, and was named Related_Links_MOD
  10. *  Version: 1.1.0 - 2002/04/25 - Re-packed for phpBB 2.0.0, and renamed to Links_MOD
  11. *  Version: 1.2.0 - 2003/06/15 - Enhanced and Re-packed for phpBB 2.0.4
  12. *  Version: 1.2.1 - 2003/10/15 - Enhanced by CRLin
  13. ***************************************************************************/
  14. /***************************************************************************
  15. *
  16. *   This program is free software; you can redistribute it and/or modify
  17. *   it under the terms of the GNU General Public License as published by
  18. *   the Free Software Foundation; either version 2 of the License, or
  19. *   (at your option) any later version.
  20. *
  21. ***************************************************************************/ 
  22.  
  23. define('IN_PHPBB', true);
  24.  
  25. $phpbb_root_path = "./";
  26. include($phpbb_root_path . 'extension.inc');
  27. include($phpbb_root_path . "common.$phpEx");
  28.  
  29. //
  30. // gzip_compression
  31. //
  32. $do_gzip_compress = FALSE;
  33. if($board_config['gzip_compress'])
  34. {
  35.     $phpver = phpversion();
  36.  
  37.     if($phpver >= "4.0.4pl1")
  38.     {
  39.         if(extension_loaded("zlib"))
  40.         {
  41.             ob_start("ob_gzhandler");
  42.         }
  43.     }
  44.     else if($phpver > "4.0")
  45.     {
  46.         if(strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip'))
  47.         {
  48.             if(extension_loaded("zlib"))
  49.             {
  50.                 $do_gzip_compress = TRUE;
  51.                 ob_start();
  52.                 ob_implicit_flush(0);
  53.  
  54.                 header("Content-Encoding: gzip");
  55.             }
  56.         }
  57.     }
  58. }
  59.  
  60. header ("Cache-Control: no-store, no-cache, must-revalidate");
  61. header ("Cache-Control: pre-check=0, post-check=0, max-age=0", false);
  62. header ("Pragma: no-cache");
  63. header ("Expires: " . gmdate("D, d M Y H:i:s", time()) . " GMT");
  64. header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  65.  
  66. //
  67. // Start session management
  68. //
  69. $userdata = session_pagestart($user_ip, PAGE_INDEX);
  70. init_userprefs($userdata);
  71. //
  72. // End session management
  73. //
  74.  
  75. $template->set_filenames(array(
  76.     'body' => "links_js_body.tpl"
  77. ));
  78.  
  79. //
  80. // Grab data
  81. //
  82. $sql = "SELECT *
  83.         FROM ". LINK_CONFIG_TABLE;
  84.     if(!$result = $db->sql_query($sql))
  85.     {
  86.         message_die(GENERAL_ERROR, "Could not query Link config information", "", __LINE__, __FILE__, $sql);
  87.     }
  88.     
  89.     while( $row = $db->sql_fetchrow($result) )
  90.     {
  91.         $link_config_name = $row['config_name'];
  92.         $link_config_value = $row['config_value'];
  93.         $link_config[$link_config_name] = $link_config_value;
  94.         $link_self_img = $link_config['site_logo'];
  95.         $site_logo_height = $link_config['height'];
  96.         $site_logo_width = $link_config['width'];
  97.         $display_interval = $link_config['display_interval'];
  98.         $display_logo_num = $link_config['display_logo_num'];
  99.     }
  100.  
  101. $sql = "SELECT link_id, link_title, link_logo_src
  102.     FROM " . LINKS_TABLE . "
  103.     WHERE link_active = 1
  104.     ORDER BY link_hits DESC";
  105.  
  106. // If failed just ignore
  107. if( $result = $db->sql_query($sql) )
  108. {
  109.     $links_logo = "";
  110.     while($row = $db->sql_fetchrow($result))
  111.     {
  112.         //if (empty($row['link_logo_src'])) $row['link_logo_src'] = 'images/links/no_logo88a.gif';
  113.         if ($row['link_logo_src']) {
  114.             $links_logo .= ('\'<a href="' . append_sid("links.$phpEx?action=go&link_id=" . $row['link_id']) . '" target="_blank"><img src="' . $row['link_logo_src'] . '" alt="' . $row['link_title'] . '" width="' . $site_logo_width . '" height="' . $site_logo_height . '" border="0" hspace="1" /></a>\',' . "\n");
  115.         }
  116.     }
  117.  
  118.     if ($links_logo) {
  119.         $links_logo = substr($links_logo, 0, -2);
  120.  
  121.         $template->assign_vars(array(
  122.             'S_CONTENT_ENCODING' => $lang['ENCODING'],
  123.             'T_BODY_BGCOLOR' => '#'.$theme['td_color1'],
  124.  
  125.             'DISPLAY_INTERVAL' => $display_interval,
  126.             'DISPLAY_LOGO_NUM' => $display_logo_num,
  127.             'LINKS_LOGO' => $links_logo
  128.         ));
  129.     }
  130. }
  131.  
  132. $template->pparse("body");
  133.  
  134. $db->sql_close();
  135. //
  136. // Compress buffered output if required
  137. // and send to browser
  138. //
  139. if($do_gzip_compress)
  140. {
  141.     //
  142.     // Borrowed from php.net!
  143.     //
  144.     $gzip_contents = ob_get_contents();
  145.     ob_end_clean();
  146.  
  147.     $gzip_size = strlen($gzip_contents);
  148.     $gzip_crc = crc32($gzip_contents);
  149.  
  150.     $gzip_contents = gzcompress($gzip_contents, 9);
  151.     $gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4);
  152.  
  153.     echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
  154.     echo $gzip_contents;
  155.     echo pack("V", $gzip_crc);
  156.     echo pack("V", $gzip_size);
  157. }
  158.  
  159. exit;
  160. ?>