hydra-theme-engine/0002755000203200000620000000000007563000274013731 5ustar wavexxstaffhydra-theme-engine/htdocs/0002755000203200000620000000000010323166724015216 5ustar wavexxstaffhydra-theme-engine/htdocs/main.php0000644000203200000620000000125507562776773016702 0ustar wavexxstaff \n"; if(count($users)) foreach($users as $user) echo "
  • $user\n"; else echo "
  • No public users on this system\n"; echo "\n"; stdpage_end(); ?> hydra-theme-engine/htdocs/incs/0002755000203200000620000000000010323166766016160 5ustar wavexxstaffhydra-theme-engine/htdocs/incs/style.php0000644000203200000620000000264707562776722020052 0ustar wavexxstaff "uninitialized"); function Style($filename) { if (!file_exists($filename)) { $this->values["status"] = "error"; return; } $file = fopen($filename, "r"); // check for the style header $line = fgets($file, 1024); if(strncmp($line, styleHeader, strlen(styleHeader))) { $this->values["status"] = "error"; return; } // load the remaining file while (!feof($file)) { $line = fgets($file, 1024); $pos = strpos($line, '='); if (!strlen($line) || $pos == false || $line[0] == '#') continue; $id = trim(substr($line, 0, $pos)); $value = trim(substr($line, $pos + 1)); $this->values[$id] = $value; } fclose($file); // add some usefull costants $this->values["filename"] = $filename; $this->values["directory"] = dirname($filename); $this->values["name"] = stName($filename); $this->values["drDir"] = drDir($filename); // style is sucessfully loaded $this->values["status"] = "loaded"; } } // utility function function isInvalidStyle(&$style) { return ($style->values["status"] == "error"); } ?> hydra-theme-engine/htdocs/incs/session.php0000644000203200000620000000365407562776722020374 0ustar wavexxstaff hydra-theme-engine/htdocs/incs/page.php0000644000203200000620000000114207562776722017613 0ustar wavexxstaffvalues["color"]; $bgcolor = &$style->values["bgcolor"]; $link = &$style->values["link"]; $vlink = &$style->values["vlink"]; $alink = &$style->values["alink"]; echo "\n", " \n", " $title\n", " \n", " \n"; } function page_end() { echo " \n", "\n"; } ?> hydra-theme-engine/htdocs/incs/utils.php0000644000203200000620000000324007562776722020040 0ustar wavexxstaff\n", " \n", " \n"; } function hsplit_next($c2parameters = "") { echo " \n", "  \n", " \n"; } function hsplit_end() { echo " \n", " \n", "\n"; } function notice($text, $params = "") { section_start("Notice", "-1", $params); echo "$text\n"; section_end(); } // check if an html color (text or hex) is dark function isDark($color) { if ($color[0] != "#") { // textual component if ($color == "black") return true; return false; } // extract the three colors components $r = hexdec(substr($color, 1, 2)); $g = hexdec(substr($color, 3, 2)); $b = hexdec(substr($color, 5, 2)); if ($r > 100 || $g > 100 || $b > 100) return false; return true; } // returns the path component of HTTP_REFERER function getPReferer() { if (empty($_SERVER["HTTP_REFERER"])) return "/main"; $url = parse_url($_SERVER["HTTP_REFERER"]); return $url["path"]; } // strip an extension from the filename function stripExtension($string) { $p = strrpos($string, "."); if($p) return substr($string, 0, $p); else return $string; } // return the self-document url without the extension function getSelf() { return stripExtension($_SERVER["PHP_SELF"]); } ?> hydra-theme-engine/htdocs/incs/section.php0000644000203200000620000000114507562776722020346 0ustar wavexxstaff$title\n", "
    \n"; } function section_end() { layer_end(); echo "
    \n"; } // simplified section (standard heading, with initial space) function heading($title, $importance = "+2", $params = "width=\"100%\"") { layer_start($params); echo "$title\n"; layer_end(); } ?> hydra-theme-engine/htdocs/incs/links.php0000644000203200000620000000177107562777334020027 0ustar wavexxstaffdisclaimer"; } function link_rqRemoval() { global $style; $name = &$style->values["name"]; $request = "subject=" . urlencode("request removal of $name") . "&body=" . urlencode("I'm the author of the aftermentioned image and I " . "don't want to\nhave it show'd here!\n\nPlease remove it."); echo "request removal/", "web"; } function link_comment() { $subject = "subject=" . urlencode("comments about " . getSelf() . "."); echo "send comments/", "web"; } function link_randomTheme() { echo "random theme"; } function link_selectTheme() { echo "select theme"; } ?> hydra-theme-engine/htdocs/incs/layout.php0000644000203200000620000000330607562777276020225 0ustar wavexxstaffvalues["bgcolor"]; echo "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    \n", " YOUR SITE\n", " \n", "  \n", " \n", " \n", " $title (back,\n", " main,\n", " index)\n", " \n", "
    \n", " \n", " \n"; link_randomTheme(); echo ", "; link_selectTheme(); echo ", "; link_comment(); echo " \n", "
    \n"; layer_end(); echo "
    \n"; } function stdpage_start($title) { page_start($title); stdHeader($title); } function stdFooter() { heading("Copyright© 2001-2002 by Myself. " . "Contents are (unless expressed) distributed in a \"as is\" " . "distribution basis, without any kind of warranty.", -4); } function stdpage_end() { stdFooter(); page_end(); } ?> hydra-theme-engine/htdocs/incs/layer.php0000644000203200000620000000521107562776722020014 0ustar wavexxstaffvalues["bgcolor"]; $layer_color = &$style->values["layer_color"]; echo "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    \n", " \n", " \n", "
    \n", " \n", " \n"; } function layer_end() { global $style; $bgcolor = &$style->values["bgcolor"]; $layer_shadow = &$style->values["layer_shadow"]; echo " \n", " \n", " \n", "
    \n", " \n", "
    \n", " \n", "
    \n"; } // virtual engraved effect function engraved_start($params = "width=\"100%\"") { global $style; $color = &$style->values["color"]; $bgcolor = &$style->values["bgcolor"]; $layer_shadow = &$style->values["layer_shadow"]; echo "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    \n", " \n", "
    \n", " \n", " \n"; } function engraved_end() { global $style; $layer_shadow = &$style->values["layer_shadow"]; echo " \n", " \n", "
    \n", " \n", "
    \n"; } ?> hydra-theme-engine/htdocs/incs/rndstyle.php0000644000203200000620000000365607562776722020557 0ustar wavexxstaff hydra-theme-engine/htdocs/incs/stutils.php0000644000203200000620000000100607562776722020405 0ustar wavexxstaff hydra-theme-engine/htdocs/incs/userlist.php0000644000203200000620000000064307562776722020556 0ustar wavexxstaff 1) array_push($users, $line); } fclose($file); } } sort($users); } ?> hydra-theme-engine/htdocs/images/0002755000203200000620000000000010323166743016464 5ustar wavexxstaffhydra-theme-engine/htdocs/images/birds/0002755000203200000620000000000010323166736017571 5ustar wavexxstaffhydra-theme-engine/htdocs/images/birds/eagle0/0002755000203200000620000000000007562777167020747 5ustar wavexxstaffhydra-theme-engine/htdocs/images/birds/eagle0/data.txt0000644000203200000620000000051107562776722022410 0ustar wavexxstaff# savage theme layout=vertical text_align=center text_valign=bottom image_align=right image_valign=bottom image_width=599 image_height=370 image_source=http://www.palmettobayinc.com/photos.html thumb_width=201 thumb_height=124 color=white link=white vlink=white alink=white bgcolor=#3c3f6a layer_color=#757bce layer_shadow=black hydra-theme-engine/htdocs/images/butterflies/0002755000203200000620000000000007562776722021033 5ustar wavexxstaffhydra-theme-engine/htdocs/images/butterflies/butterflies0/0002755000203200000620000000000007562777167023447 5ustar wavexxstaffhydra-theme-engine/htdocs/images/butterflies/butterflies0/data.txt0000644000203200000620000000100307562776722025105 0ustar wavexxstaff# savage theme # Layout (possible values are: vertical[rf], horizontal[rf]) layout=horizontal # Main text alignement text_align=right text_valign=middle # Image alignement image_align=right image_valign=bottom # Image parameters image_width=350 image_height=381 image_source=http://www.palmettobayinc.com/photos.html # Thumbnail size thumb_width=194 thumb_height=200 # Page theme color=white link=white vlink=white alink=white bgcolor=#020202 # Virtual layer colors layer_color=#9d9d9d layer_shadow=#434040 hydra-theme-engine/htdocs/images/snakes/0002755000203200000620000000000007562776723017770 5ustar wavexxstaffhydra-theme-engine/htdocs/images/snakes/king0/0002755000203200000620000000000007562777167021003 5ustar wavexxstaffhydra-theme-engine/htdocs/images/snakes/king0/data.txt0000644000203200000620000000077607562776723022462 0ustar wavexxstaff# savage theme # Layout (possible values are: vertical[rf], horizontal[rf]) layout=vertical # Main text alignement text_align=center text_valign=bottom # Image alignement image_align=left image_valign=bottom # Image parameters image_width=650 image_height=213 image_source=http://www.palmettobayinc.com/photos.html # Thumbnail size thumb_width=199 thumb_height=65 # Page theme color=white link=white vlink=white alink=white bgcolor=#8f1814 # Virtual layer colors layer_color=#e06d71 layer_shadow=black hydra-theme-engine/htdocs/images/aquatic/0002755000203200000620000000000007562776723020133 5ustar wavexxstaffhydra-theme-engine/htdocs/images/aquatic/seal0/0002755000203200000620000000000007562777167021142 5ustar wavexxstaffhydra-theme-engine/htdocs/images/aquatic/seal0/data.txt0000644000203200000620000000051007562776723022603 0ustar wavexxstaff# savage theme layout=vertical text_align=center text_valign=bottom image_align=left image_valign=bottom image_width=310 image_height=205 image_source=http://www.palmettobayinc.com/photos.html thumb_width=201 thumb_height=133 color=black link=white vlink=white alink=white bgcolor=#83856d layer_color=#4d5e4d layer_shadow=black hydra-theme-engine/htdocs/disclaimer.php0000644000203200000620000000030707562777423020060 0ustar wavexxstaff

    A test page.

    hydra-theme-engine/htdocs/index.php0000644000203200000620000000437607562777020017056 0ustar wavexxstaffvalues); page_start("YOUR SITE"); echo "\n", " \n"; // text function writes and aligns the main text function text($params) { echo "\n"; } // image function writes and aligns main image function image($params, $reversed = false) { global $style, $styleFile, $image_width, $image_height, $image_source, $drDir; $rImageFile = $drDir . "/retouched.jpg"; $oImageFile = $drDir . "/original.jpg"; echo "\n"; } if (strncmp($layout, "vertical", 8)) $pLayout = "horizontal"; else $pLayout = "vertical"; $pParams = substr($layout, strlen($pLayout)); $pInverse = (strpos($pParams, "r") === false)?false:true; $pFlipped = (strpos($pParams, "f") === false)?false:true; if ($pInverse) { // reversed vertical layout image("valign=\"$image_valign\" align=\"$image_align\"", $pFlipped); if ($pLayout == "vertical") echo " \n"; text("valign=\"$text_valign\" align=\"$text_align\""); } else { // normal vertical layout text("valign=\"$text_valign\" align=\"$text_align\""); if ($pLayout == "vertical") echo " \n"; image("valign=\"$image_valign\" align=\"$image_align\"", $pFlipped); } echo " \n", "
    \n", " YOUR SITE\n", "\n"; if (!$reversed) { echo "
    \n"; } // text near the image echo " \n"; echo " original, \n", " source: $image_source, \n"; link_randomTheme(); echo ", \n"; link_selectTheme(); echo " \n"; if ($reversed) { echo "
    \n"; } echo "
    \n"; page_end(); ?> hydra-theme-engine/htdocs/mail.php0000644000203200000620000000472307562776723016676 0ustar wavexxstaff\n", " Your email ($subject) was accepted and delivered. Do not\n", " reload this page: depending on your browser reload behavior\n", " this email can be sent twice.\n", "

    \n"; } else { echo "
    \n"; layer_start(""); echo " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    \n"; if (isset($_REQUEST["send"]) && !validEmail($email)) echo " Your email:\n"; else echo " Your email:\n"; echo "  \n", " \n", "
    \n"; if (isset($_REQUEST["send"]) && empty($_REQUEST["subject"])) echo " Subject:\n"; else echo " Subject:\n"; echo " \n", " \n", "
    \n"; layer_end(); echo "
    \n"; if (isset($_REQUEST["send"]) && empty($_REQUEST["body"])) echo " You must write something there
    \n"; echo " \n", "

    \n", " \n", " \n", "
    \n"; } stdpage_end(); ?> hydra-theme-engine/htdocs/res/0002755000203200000620000000000010323166766016015 5ustar wavexxstaffhydra-theme-engine/htdocs/res/downtimes0000644000203200000620000000077207562776723017770 0ustar wavexxstaff11/10/2002: that's it! changed the underlying hardware and switched to 2.4.19. 30/08/2002(19:40-19:41): another 2.4 kernel freeze under heavy load. where's linux legendary stability? should I switch back to savage? 10/08/2002(18:00-18:30): upgrade to kernel 2.4 (great performance improvement!). 05/08/2002(18:00-18:10): power source reconfiguration 03/07/2002: the machine apparently hung with a bit of real charge. lost 69 days of uptime. 17/06/2002(15:40-16:30): swapping lines and dns reconfiguration. hydra-theme-engine/htdocs/res/notices0000644000203200000620000000000007562776723017403 0ustar wavexxstaffhydra-theme-engine/htdocs/res/schedules0000644000203200000620000000000007562776723017716 0ustar wavexxstaffhydra-theme-engine/htdocs/res/users0000644000203200000620000000002107562777131017075 0ustar wavexxstaffuser anotheruser hydra-theme-engine/htdocs/themes.php0000644000203200000620000001072307562776723017236 0ustar wavexxstaff

    From here you can select the appearance of this website. Below you can see various thumbnails of the avaible themes. If you select a theme from here, the appearance of this website will never change unless you've selected the special random one, or, you come back here later.

    Consider that even if you choose the random theme, the pages won't change continuosly at each reload. Instead, the randomly choosen theme will be kept for the whole session (i.e.: until you close the browser window).


    If you have a conformant web browser this site should appear with shadows. Mozilla 0.9 is know to ignore these shadows hints. This site will remain, however, browsable as usual. As this site uses only tables, It is confirmed to be perfectly browsable also with textual browsers like links/lynx.

    Just for kidding, two links at the top of every page were inserted for switching dinamically between themes on the fly™. If you have questions, problems or you're grabbing these photos from this website, please read this "; heading("Themes"); echo "

    \n", " \n", " \n", " \n", " \n", " \n", "
    \n", " \n", " \n", " Random theme\n", "
    \n", "
    \n"; $files = array(); dirscan("images", $files); sort($files); // we use the temporary style for formatting, save the global one global $style; $oStyle = $style; foreach ($files as $file) { $tmp = new Style($file); $dir = dirname($file); $name = basename($dir); $thumb = $dir . "/thumb.jpg"; $original = $dir . "/original.jpg"; // revert the global style to tmp $style = $tmp; // extract style values extract($style->values); // check if bgcolor is dark enough to switch border to white if (isDark($bgcolor)) $bcolor = "white"; else $bcolor = "black"; echo "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    \n", "  \n", " \n", " $name (original, source:\n", " $image_source)\n", "
    \n", " \n", " \n", " \n", " \n", " \n", "
    \"theme\n", "

    \n", " Sample text\n"; layer_start(""); echo "Sample text\n"; layer_end(); echo "

    \n", "
    \n", "
    \n", "
    \n"; } // restore the original style $style = $oStyle; echo " \n", "
    \n"; stdpage_end(); ?> hydra-theme-engine/htdocs/uptime.php0000644000203200000620000000271407562776723017255 0ustar wavexxstaff\n", " $uptime.\n", "

    \n"; function rdLstFile($file, $max = 50) { $fn = "res/$file"; if(file_exists($fn)) { $file = fopen("res/$file", "r"); $lines = 0; if($file) { while(!feof($file) && ($lines++ < $max)) { $line = fgets($file, 1024); if(strlen($line) > 1) echo "
  • $line\n"; } fclose($file); } else return 0; } else return 0; return $lines - 1; } hsplit_start(); section_start("Server notices"); // parse the notices file echo "\n"; section_end(); hsplit_next(); section_start("Scheduled downtimes"); // parse the downtimes file echo "\n"; section_end(); hsplit_end(); section_start("Past downtimes"); // parse the downtimes file echo "\n"; section_end(); stdpage_end(); ?> hydra-theme-engine/AUTHORS0000644000203200000620000000005307563000206014770 0ustar wavexxstaffwave++ "Yuri D'Elia" hydra-theme-engine/README0000644000203200000620000000044107562777671014633 0ustar wavexxstaffImages aren't included. You must find some by yourself. Place htdocs as the root of your webserver. You'll need to change the name of your site into the sources. See COPYING for the license. Mail wavexx@users.sf.net (me) for suggestion or comments. wave++, Fri Nov 8 18:16:51 UTC 2002 hydra-theme-engine/COPYING0000644000203200000620000000272707563000165014771 0ustar wavexxstaffCopyright (c) 2002 Yuri D'Elia (wave++) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Yuri D'Elia (wave++) nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.