0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
advancedguestbook
/
2.4.4-2
/
standard
/
htdocs
/
lib
/
[
Home
]
File: gb.class.php
<?php /** * ---------------------------------------------- * Advanced Guestbook 2.4.4 (PHP/MySQL) * Copyright (c) Chi Kien Uong * URL: http://www.proxy2.de * ---------------------------------------------- */ class guestbook { var $total; var $db; var $template; var $path; function guestbook($path='') { $this->db = new guestbook_vars($path); $this->db->getVars(); $this->total = 0; $this->path = $path; $this->template = &$this->db->template; } function get_nav($entry=0) { global $_SERVER, $GB_PG; $entry = intval($entry); $self = (IS_MODULE && eregi("\?",$GB_PG["index"])) ? "$GB_PG[index]&entry=" : basename($_SERVER['PHP_SELF'])."?entry="; $next_page = $entry+$this->db->VARS['entries_per_page']; $prev_page = $entry-$this->db->VARS['entries_per_page']; $navigation = ''; if ($prev_page >= 0) { $navigation = " <img src=\"$GB_PG[base_url]/img/back.gif\" width=\"16\" height=\"14\"><a href=\"$self$prev_page\">".$this->db->LANG["NavPrev"]."</a>\n"; } if ($next_page < $this->total) { $navigation = $navigation." <a href=\"$self$next_page\">".$this->db->LANG["NavNext"]."</a><img src=\"$GB_PG[base_url]/img/next.gif\" width=\"16\" height=\"14\">\n"; } return $navigation; } function show_entries($entry=0) { global $GB_PG; $entry = intval($entry); $LANG = &$this->db->LANG; $VARS = &$this->db->VARS; $this->db->fetch_array($this->db->query("select count(*) as total from ".$this->db->table['data'])); $this->total = $this->db->record["total"]; $TPL = $this->get_entries($entry,$this->db->VARS["entries_per_page"]); $TPL['GB_TOTAL'] = $this->total; $TPL['GB_JUMPMENU'] = implode("\n",$this->generate_JumpMenu()); $TPL['GB_TIME'] = $this->db->DateFormat(time()); $TPL['GB_NAVIGATION'] = $this->get_nav($entry); $TPL['GB_HTML_CODE'] = ($this->db->VARS["allow_html"] == 1) ? $this->db->LANG["BookMess2"] : $this->db->LANG["BookMess1"]; $guestbook_html = ""; eval("\$guestbook_html = \"".$this->template->get_template($this->db->GB_TPL['header'])."\";"); eval("\$guestbook_html .= \"".$this->template->get_template($this->db->GB_TPL['body'])."\";"); eval("\$guestbook_html .= \"".$this->template->get_template($this->db->GB_TPL['footer'])."\";"); return $guestbook_html; } function generate_JumpMenu() { $menu_array[] = "<select name=\"entry\" class=\"select\">"; $menu_array[] = "<option value=\"0\" selected>".$this->db->LANG["FormSelect"]."</option>"; if ($this->db->VARS["entries_per_page"] < $this->total) { $remain = $this->total % $this->db->VARS["entries_per_page"]; $i = $this->total-$remain; while ($i > 0) { $num_max = $i; $num_min = $num_max-$this->db->VARS["entries_per_page"]; $num_min++; $menu_array[] = "<option value=\"$remain\">$num_min-$num_max</option>"; $i = $num_min-1; $remain += $this->db->VARS["entries_per_page"]; } } $menu_array[] = "</select>"; $menu_array[] = "<input type=\"submit\" value=\"".$this->db->LANG["FormButton"]."\" class=\"input\">"; return $menu_array; } function get_entries($entry,$last_entry) { global $GB_UPLOAD, $GB_PG; $entry = intval($entry); $last_entry = intval($last_entry); $img = new gb_image(); $img->set_border_size($this->db->VARS["img_width"], $this->db->VARS["img_height"]); $LANG = &$this->db->LANG; $id = $this->total-$entry; $HOST = ''; $COMMENT = ''; $GB_ENTRIES = ''; $i=0; $template['entry'] = $this->template->get_template($this->db->GB_TPL['entry']); $template['com'] = $this->template->get_template($this->db->GB_TPL['com']); $template['url'] = $this->template->get_template($this->db->GB_TPL['url']); $template['icq'] = $this->template->get_template($this->db->GB_TPL['icq']); $template['aim'] = $this->template->get_template($this->db->GB_TPL['aim']); $template['email'] = $this->template->get_template($this->db->GB_TPL['email']); $template['image'] = $this->template->get_template($this->db->GB_TPL['image']); $result = $this->db->query( "select x.*, y.p_filename, y.width, y.height from ".$this->db->table['data']." x left join ".$this->db->table['pics']." y on (x.id=y.msg_id and y.book_id=2) order by x.id desc limit $entry, $last_entry" ); while ($row = $this->db->fetch_array($result)) { $row['email2'] = ""; $DATE = $this->db->DateFormat($row['date']); $MESSAGE = nl2br($row['comment']); if ($row['p_filename'] && ereg("^img-",$row['p_filename'])) { if (file_exists("$this->path/$GB_UPLOAD/t_$row[p_filename]")) { $row['p_filename'] = "t_$row[p_filename]"; } $new_img_size = $img->get_img_size_format($row['width'], $row['height']); eval("\$USER_PIC = \"".$template['image']."\";"); } else { $USER_PIC = ''; } if ($this->db->VARS["smilies"] == 1) { $MESSAGE = $this->db->emotion($MESSAGE); } if (!$row['location']) { $row['location'] = "-"; } $bgcolor = ($i % 2) ? $this->db->VARS["tb_color_2"] : $this->db->VARS["tb_color_1"]; $i++; if ($row['url']) { eval("\$URL = \"".$template['url']."\";"); } else { $URL = ''; } if ($row['icq'] && $this->db->VARS["allow_icq"]==1) { eval("\$ICQ = \"".$template['icq']."\";"); } else { $ICQ = ''; } if ($row['aim'] && $this->db->VARS["allow_aim"]==1) { eval("\$AIM = \"".$template['aim']."\";"); } else { $AIM = ''; } if ($row['email']) { /* E-mail Hack */ $row['email2'] = str_replace("@", "(at)", $row['email']); $row['email2'] = str_replace(".", "(dot)", $row['email2']); $row['email'] = "javascript:getEmail('".$this->db->encryptEmail("mailto:".$row['email'])."')"; eval("\$EMAIL = \"".$template['email']."\";"); } else { $EMAIL = ''; } if ($this->db->VARS["allow_gender"]==1) { $GENDER = ($row['gender']=="f") ? " <img src=\"$GB_PG[base_url]/img/female.gif\" width=\"12\" height=\"12\">" : " <img src=\"$GB_PG[base_url]/img/male.gif\" width=\"12\" height=\"12\">"; } else { $GENDER = ''; } if ($this->db->VARS["show_ip"] == 1) { $hostname = ( eregi("^[-a-z_]+", $row['host']) ) ? "Host" : "IP"; $HOST = "$hostname: $row[host]\n"; } $this->db->query("select * from ".$this->db->table['com']." where id='$row[id]' order by com_id asc"); while ($com = $this->db->fetch_array($this->db->result)) { $com['comments'] = nl2br($com['comments']); eval("\$COMMENT .= \"".$template['com']."\";"); } $GB_COMMENT = (IS_MODULE && eregi("\?",$GB_PG["comment"])) ? "$GB_PG[comment]&gb_id=$row[id]" : "$GB_PG[comment]?gb_id=$row[id]"; eval("\$GB_ENTRIES .= \"".$template['entry']."\";"); $COMMENT = ""; $id--; } $TPL['GB_ENTRIES'] = $GB_ENTRIES; return $TPL; } } ?>