aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojciech Polak <polak@gnu.org>2005-02-15 15:46:50 +0000
committerWojciech Polak <polak@gnu.org>2005-02-15 15:46:50 +0000
commit0e708947ae02c011561cafa1fd76b132c4f66476 (patch)
tree0ac58bf4d350e179279aee84fd680369aa621de1
parent99d99d898ad34e515dbeb708225503d87c2fef8a (diff)
downloadblogright-0e708947ae02c011561cafa1fd76b132c4f66476.tar.gz
blogright-0e708947ae02c011561cafa1fd76b132c4f66476.tar.bz2
removed
-rw-r--r--index.php484
1 files changed, 0 insertions, 484 deletions
diff --git a/index.php b/index.php
deleted file mode 100644
index 05c9655..0000000
--- a/index.php
+++ /dev/null
@@ -1,484 +0,0 @@
-<?php
-
-// blogRight! version 1.4
-// Copyright (C) 2004 Wojciech Polak.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-require 'config.php';
-
-/////////////////////////////
-
-$start_time = microtime ();
-
-if (isset ($_REQUEST['q']))
-{
- $q = $_REQUEST['q'];
- $result = array ();
- ereg ('([0-9]{4})?[-/]?([0-1][0-9])?[-/]?([0-3][0-9])?', $q, $result);
-
- if (isset ($result[1]) && $result[1] != '')
- {
- $search_y = $result[1];
-
- if (isset ($result[2]) && $result[2] != '')
- $search_m = $result[2] <= 12 ? $result[2] > 0 ? $result[2] : 1 : 12;
-
- if (isset ($result[3]) && $result[3] != '')
- $search_d = $result[3] <= 31 ? $result[3] > 0 ? $result[3] : 1 : 31;
- }
- else
- {
- if (eregi ('^all$', $q))
- unset ($recent);
- }
-}
-
-/////////////////////////////
-
-if (isset ($datadir) && $datadir != '')
-{
- $cwd = $datadir;
-}
-else
-{
- $datadir = '';
- $cwd = getcwd ();
-}
-
-if (file_exists ($datadir.$orderfile))
-{
- $lines = file ($datadir.$orderfile);
- foreach ($lines as $line)
- $searchdirs[] = chop ($line);
- $searchdirs = array_unique ($searchdirs);
-}
-else if (isset ($search_y))
-{
- $searchdirs[] = $search_y;
-}
-else // scan the directory
-{
- if (!($dp = opendir ($cwd)))
- die ("Can't open the data directory.");
- while ($name = readdir ($dp))
- {
- if (is_numeric ($name))
- $searchdirs[] = $name;
- }
- closedir ($dp);
- sort ($searchdirs);
-
- if ($sortorder == 'desc')
- $searchdirs = array_reverse ($searchdirs);
-}
-
-/////////////////////////////
-
-$include_files = array ();
-
-foreach ($searchdirs as $dir)
-{
- $path = $datadir.$dir;
- $dirlist = array ();
-
- // ignore hidden files/dirs.
- if ($dir[0] != '.' && $dir[0] != '' && is_dir ($path))
- {
- if (file_exists ($path.'/'.$orderfile))
- {
- $lines = file ($path.'/'.$orderfile);
- foreach ($lines as $line)
- $dirlist[] = $path.'/'.chop ($line);
- }
- else // scan the directory
- {
- if (!($dp = opendir ($path)))
- die ("Can't open the data subdirectory.");
- else
- {
- $i = 0;
- while ($name = readdir ($dp))
- {
- if ($name[0] != '.' && $name != 'index.html')
- {
- $dirlist[filemtime ($path.'/'.$name) . $i] = $path.'/'.$name;
- $i++;
- }
- }
- closedir ($dp);
-
- if ($sortby == "timestamp")
- ksort ($dirlist);
- else // sort by name
- sort ($dirlist);
- }
- }
-
- if ($sortorder == 'desc' && !isset ($search_y))
- $dirlist = array_reverse ($dirlist);
-
- $include_files = array_merge ($include_files, $dirlist);
- }
-}
-
-/////////////////////////////
-
-$cur_y = date ('Y');
-$cur_m = date ('m');
-
-function cmonth ($var)
-{
- global $cur_y, $cur_m, $suffix;
- if (ereg ("$cur_y/$cur_m-.*$suffix\$", $var))
- return true;
- else
- return false;
-}
-
-// show only N recent entries or current month
-if (!isset ($search_y) && isset ($recent))
-{
- if (is_numeric ($recent))
- {
- $include_files = array_slice ($include_files, 0, $recent);
- }
- else if ($recent == 'month')
- {
- $month_files = array_filter ($include_files, 'cmonth');
- while (!count ($month_files))
- {
- $cur_m = sprintf ('%02d', $cur_m - 1);
- if ($cur_m == '00')
- {
- $cur_m = 12;
- $cur_y -= 1;
- if ($cur_y < 1983) // set your minimal value ;)
- break; // fatal error; anti-loop protection
- }
- $month_files = array_filter ($include_files, 'cmonth');
- }
- $include_files = $month_files;
- }
-}
-
-/////////////////////////////
-
-if (isset ($RSS) || isset ($_REQUEST['rss']))
-{
- global $site, $rssTitle, $rssDescription;
- global $rssCopyright, $rssLanguage, $rssEditor;
-
- $pubDate = date ("D, d M Y H:i:s O", filemtime ($include_files[0]));
-
- print '<?xml version="1.0"?>'."\n";
- print '<rss version="2.0">'."\n";
- print " <channel>\n";
- print " <title>$rssTitle</title>\n";
- print " <description>$rssDescription</description>\n";
- print " <link>$site/$weblogdir/</link>\n";
- print " <copyright>$rssCopyright</copyright>\n";
- print " <language>$rssLanguage</language>\n";
- print " <pubDate>$pubDate</pubDate>\n";
- print " <docs>http://blogs.law.harvard.edu/tech/rss</docs>\n";
- print " <generator>blogRight!</generator>\n";
- print " <managingEditor>$rssEditor</managingEditor>\n";
-
- foreach ($include_files as $inc)
- {
- if (ereg (".*$suffix\$", basename ($inc)))
- {
- $cdd = basename (dirname ($inc)); // current data dir
- if (is_numeric ($cdd))
- {
- ereg ('^(.*)-(.*)\.', basename ($inc), $res);
- $year = $cdd; // let's assume that...
-
- if (isset ($res[1]) && isset ($res[2]))
- {
- $month = $res[1];
- $day = $res[2];
- }
-
- $fmtime = mktime (0, 0, 0, $month, $day, $year);
- }
- else {
- $fmtime = filemtime ($inc);
- }
-
- $pubDate = date ("D, d M Y H:i:s O", $fmtime);
- $itemTitle = date ('d M Y', $fmtime);
- $permaLink = date ('Ymd', $fmtime);
-
- print " <item>\n";
- print " <title>$itemTitle</title>\n";
- print " <link>$site/$weblogdir/?q=$permaLink</link>\n";
- print " <description>\n";
-
- indent_include (9, $inc);
-
- print " </description>\n";
- print " <guid isPermaLink=\"true\">$site/$weblogdir/?q=$permaLink</guid>\n";
- print " <pubDate>$pubDate</pubDate>\n";
- print " </item>\n";
- }
- }
-
- print " </channel>\n";
- print '</rss>'."\n";
-}
-else // HTML
-{
- @include ($datadir.$header_file);
-
- foreach ($include_files as $inc)
- {
- // the query engine...
- if (isset ($search_m))
- {
- if (isset ($search_d))
- {
- if (ereg ("^$search_m-$search_d.*$suffix\$", basename ($inc)))
- include_file ($inc);
- }
- else
- if (ereg ("^$search_m-.*$suffix\$", basename ($inc)))
- include_file ($inc);
- }
- else
- if (ereg (".*$suffix\$", basename ($inc)))
- include_file ($inc);
- }
-
- @include ($datadir.$footer_file);
- $duration = microtime_diff ($start_time, microtime ());
- $duration = sprintf ("%0.6f", $duration);
- print "\n<!-- processing took $duration seconds -->";
- print "\n<!-- powered by blogRight! -->\n";
-}
-
-/////////////////////////////
-
-$footnotes = array(); // Array of footnote texts. Indexed by $local_fn
-$local_fn = 0; // Local (within the entry) number of the next footnote.
-$global_fn = 0; // Global number of the next footnote. This is unique
- // within a html page and is used for creating unique
- // anchors.
-
-// Return full url of the script
-function script_url()
-{
- global $site,$weblogdir;
- if (isset($_REQUEST['q']))
- return $site.'/'.$weblogdir.'?q='.$_REQUEST['q'];
- return $site.'/'.$weblogdir.'/';
-}
-
-// Save away the collected footnote text and replace it by an appropriate
-// link.
-function footnote_handler ($matches)
-{
- global $site,$global_fn,$local_fn,$footnotes;
- $footnotes[$local_fn++] = $matches[1];
- $global_fn++;
- return '<a href="'.script_url().'#footnote'.$global_fn.'" name="FNRET'.$global_fn.'"><sup>'.$local_fn.')</sup></a> ';
-}
-
-// Process a single input line from the file being included.
-// Returns processed line, if it is ready for output. Otherwise,
-// tucks the line to the global variable $collect and returns false.
-// Make sure you unset $collect before the *first* invocation of process_line()
-// for the given input file.
-function process_line ($line)
-{
- global $site, $photodir, $imagedir, $search_d;
- global $local_fn, $global_fn, $footnotes;
- global $collect;
-
- if (isset($collect))
- {
- $collect = $collect . ' ' . rtrim ($line);
-
- if (!preg_match('^</footnote>^', $line))
- return false;
- $line = $collect . "\n";
- unset($GLOBALS['collect']);
- }
-
- $line = preg_replace_callback('^<footnote>(.*)</footnote>^',
- "footnote_handler",
- $line);
-
- if (preg_match ('^<footnote>^', $line))
- {
- $collect = rtrim ($line);
- return false;
- }
-
- if (!preg_match ('/="(https?|ftp|mailto):\/\/.*?"/i', $line))
- // is a local path
- {
- $line = preg_replace ('/<img src="(.*?)"(.*?)>/i',
- '<img src="'.$site.'/'.$imagedir.'/$1" border="0" alt="[image]"$2>',
- $line);
-
- $line = preg_replace ('/<photo src="(.*?)"(.*?)>/i',
- '<a href="'.$photodir.'/photo.php?q=$1"><span class="photo"><img src="'
- .$site.'/'.$photodir.'/small/small-$1" alt="[photo]"$2></span></a>',
- $line);
-
- $line = preg_replace ('/<a href="(.*?)">/i', '<a href="'.$site.'/$1">', $line);
- }
- return $line;
-}
-
-// Process the footnotes collected for the entry.
-// Arguments:
-// $out - name of the output function. The function must be
-// declared as 'function foo($data, $string). It is passed $data closure
-// and the $string to be output.
-// $data - Any function-specific data $out may need.
-function process_footnotes ($out, $data)
-{
- global $local_fn, $global_fn, $footnotes;
-
- if ($local_fn > 0)
- {
- $out ($data, '<div class="footnote">');
- for ($i = 0; $i < $local_fn; $i++)
- {
- $n = $global_fn-$local_fn+$i+1;
- $out ($data, '<p><a href="'.script_url().'#FNRET'.$n.'" name="footnote'.$n.'"><sup>'.($i+1).')</sup></a> ');
- $out ($data, $footnotes[$i]);
- $out ($data, '</p>');
- }
- $out ($data, '</div>');
- }
-}
-
-// Simple printer (alias for print, to be used with process_footnotes)
-function printer ($data, $string)
-{
- print ($string);
-}
-
-// HTML output
-function include_file ($file)
-{
- global $site, $photodir, $imagedir, $search_d;
- global $local_fn;
-
- $res = array ();
- $cdd = basename (dirname ($file)); // current data dir
-
- $local_fn = 0;
- if (is_numeric ($cdd))
- {
- ereg ('^(.*)-(.*)\.', basename ($file), $res);
- $year = $cdd; // assume that...
-
- if (isset ($res[1]) && isset ($res[2]))
- {
- $month = $res[1];
- $day = $res[2];
- }
-
- $entryDate = mktime (0, 0, 0, $month, $day, $year);
- $permaLink = date ('Ymd', $entryDate);
- $entryDate = date ('d M Y', $entryDate);
- }
- else
- {
- $permaLink = date ('Ymd', filemtime ($file));
- $entryDate = date ('d M Y', filemtime ($file));
- }
-
- $fd = file ($file);
- if ($fd)
- {
- print '<p><div class="entryTitle">'.$entryDate;
-
- if (!isset ($search_d))
- print ' (<a href="?q='.$permaLink.'">permalink</a>)';
-
- print '</div>'."\n";
- print '<div class="entryBody">'."\n";
-
- unset($GLOBALS['collect']);
- foreach ($fd as $line)
- {
- $line = process_line($line);
- if ($line)
- print ($line);
- }
-
- process_footnotes ('printer', 0);
-
- print '</div>'."\n\n";
- }
-}
-
-function printer_html ($level, $string)
-{
- for ($i = 0; $i < $level; $i++)
- print ' ';
- print (htmlentities ($string) . "\n");
-}
-
-
-// RSS 2.0 output
-function indent_include ($level, $file)
-{
- global $site, $imagedir, $photodir, $weblogdir;
- global $local_fn;
-
- $cdd = basename (dirname ($file)); // current data dir
-
- $local_fn = 0;
- $fd = file ($file);
- if ($fd)
- {
- unset($GLOBALS['collect']);
- foreach ($fd as $line)
- {
- $line = process_line($line);
- if ($line)
- {
- for ($i = 0; $i < $level; $i++)
- print ' ';
- print (htmlentities2 ($line));
- }
- }
-
- process_footnotes ('printer_html', $level);
- }
-}
-
-function htmlentities2 ($htmlcode)
-{
- $table = get_html_translation_table (HTML_ENTITIES, ENT_QUOTES);
- $table[chr(38)] = '&';
- return preg_replace ("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/", "&amp;",
- strtr ($htmlcode, $table));
-}
-
-function microtime_diff ($a, $b)
-{
- list ($a_dec, $a_sec) = explode (' ', $a);
- list ($b_dec, $b_sec) = explode (' ', $b);
- return $b_sec - $a_sec + $b_dec - $a_dec;
-}
-
-?>

Return to:

Send suggestions and report system problems to the System administrator.