Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Sunny C.

Pages: 1 ... 111 112 113 114 [115] 116
1711
Also nur mal so zur Frage,

es geht aber nicht das der Counter weiter gezählt wird? Oder habe ich das jetzt falsch verstanden?

1712
Hallo zusammen,

ich wollte mal fragen, ob jemand folgende Module bzw. Addons oder auch Plugins erstellen kann!?

1.)
Kommentare Downloaden.
Dem User selber soll gegönnt sein, seine Kommentare die er erhalten hat zu downloaden. Es reicht als Textdatei.

2.)
Erlaubnis des Downloads
User sollen via Upload bestimmen können, ob das Bild gedownloaded werden darf oder nicht und dies somit ein oder ausschaltet!

3.)
Namenslänge
Ist es möglich (wenn nicht kann das einer erstellen), dass User z.B eine Maximalangabe bzw. Länge Ihres Namens angeben können/dürfen/sollen ? Also wenn ich z.B im Adminbereich einestelle 3, dürfen die User Maximal nur 3 Buchstaben verwenden und wenn ich 10 Einstelle, dann halt 10.



Ps.: Finde die Tutorials echt klasse, die hier zu finden sind, ebenso die Mods. Kennt jemand noch nette Seite von denen man einige Mods bekommt? Da ich nicht sehr gut englisch kann bis garnicht, fällt es mir schwer diverse Mods in meinem Projekt einzupflegen bis garnicht..

Würde es auch klasse finden, wenn man "Sammelthread" eröffnen könnte, in denen aktuelle + funktionierende Addons aufgelistet werden in verschiedenen Version von 4images Quasi, wenn ein Addon, welches für 1.7.1 geschrieben wurde, dass diese auch in dem 1.7.6 Sammelthread kommt, sofern dies unter dieser Version funktioniert... aber das ist eigentlich ein anderes Thema!

Ps².: Mit den Addons spreche ich die Allgemeinheit an, möchte das nur erläutern, dass es nicht nachher heisst, dass diese nur für mich wären.

Gruß
Phisker

1713
Discussion & Troubleshooting / Re: Einbinden
« on: April 05, 2008, 02:17:25 PM »
Geht das denn überhaupt? Würde mir das jemand machen, wenn er Zeit hat?

1714
Discussion & Troubleshooting / Einbinden
« on: April 03, 2008, 11:35:49 PM »
Hallo zusammen,

an dieser Stelle möchte ich mich bei den jenigen bedanken die mir bisher geholfen haben! Selbstverständliche fasse ich die ganzen Informationen auf und versuche die stehts zu behalten!

Durch das erfragen kann ich lernen, demnach habe ich auch heute wieder eine Frage:

Ich fand dieses nette "Bullet Image Link Script " und möchte dieses nun in meinem Projekt als Standard einbauen!
http://www.dynamicdrive.com/dynamicindex5/bulletlink.htm

Ich möchte das so einbinden, so dass ich nicht jeden Link extra anpassen muss.

Das wäre demnach meine style.css Datei:

Code: [Select]
/*
The Style8 for 4images gallery
Created by: KW
*/


/* ------------------------------ Body All over --------------------------------------------
Here you can change the colors and the background for the page.
Hier kannst Du die Farben und den Hintergrund der Page ändern.
*/


body {
background-color: #111111;
background-image: url(../../page_images/bgband_orange.gif);
background-repeat: repeat-x;
position:absolute;
left:0px;
color: #FF820E;
font-size: 10px;
font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
SCROLLBAR-FACE-COLOR: #111111;
SCROLLBAR-HIGHLIGHT-COLOR: #FF820E;
SCROLLBAR-SHADOW-COLOR: #FF820E;
SCROLLBAR-3DLIGHT-COLOR: #111111;
SCROLLBAR-ARROW-COLOR: #;
SCROLLBAR-TRACK-COLOR: #111111;
SCROLLBAR-DARKSHADOW-COLOR: #111111;
}

/* ----- Page Size -- PageGröße ------*/

.page_size {
width: 700px;
height: 480px;
border: 1px solid rgb(30,30,30);
}

/* ----- Textcolors,sizes of the tablesheads -- Schriftfarben,Größen der Tabellenköpfe ------*/

.menue_table {
border: 1px solid rgb(0,0,0);
color: #FF820E;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}

.thumb_table {
border: 1px solid rgb(34,34,34);
background-color: #181818;
color: #181818;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}

.thumb_table_2 {
background-image: url(../../page_images/rauschen.gif);
border: 1px solid rgb(34,34,34);
background-color: #181818;
color: #181818;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}

.all_other_tables {
border: 1px solid rgb(34,34,34);
background-color: #111111;
color: #FF820E;
font-size: 11px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}

.head1 {
border: 1px solid rgb(34,34,34);
background-color: #181818;
color: #FF820E;
font-size: 11px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
/* ------------------------------------------------------------------------------------------*/





/* -------------- Textcolor of the Site Name --- Schriftfarbe des Seitennamens --------------*/

.site_name {
color: #FF820E;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 18px;
}
/* ------------------------------------------------------------------------------------------*/





/* ------------------ Color of the search formfield --- Farbe der Suchform ------------------
Here you can change the color and the background for the searchform.
Hier kannst Du die Farben und den Hintergrund der Suchform ändern.
*/

.searchinput {
border: 1px solid rgb(0,0,0);
background-image: url(../../page_images/login_orange.gif);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 110px;
}

.searchinput_button {
border: 1px solid rgb(0,0,0);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 60px;
}
/* ------------------------------------------------------------------------------------------*/





/* ------------------ Color of the login formfield --- Farbe der Loginform ------------------
Here you can change the color and the background for the loginform.
Hier kannst Du die Farben und den Hintergrund der Loginform ändern.
*/

.logininput {
border: 1px solid rgb(0,0,0);
background-image: url(../../page_images/login_orange.gif);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 110px;
}

.login_input_button {
border: 1px solid rgb(0,0,0);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 70px;
}
/* ------------------------------------------------------------------------------------------*/






/* -- Colors of the comment and ecard formfield --- Farben der Kommentar und eCard Formfelder ----
Here you can change the color and the background for the comment nad ecard formfields.
Hier kannst Du die Farben und den Hintergrund der Kommentar und eCard Formfelder ändern.
*/

.ecard_input {
border: 1px solid rgb(0,0,0);
background-image: url(../../page_images/login_orange.gif);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 110px;
}

.ecard_input_big {
border: 1px solid rgb(0,0,0);
background-image: url(../../page_images/form_big_orange.gif);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 300px;
}


.ecard_input_button {
border: 1px solid rgb(0,0,0);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 70px;
}
/* ------------------------------------------------------------------------------------------*/




/* -- Colors of the PM formfield --- Farben der PM Formfelder ----
Here you can change the color and the background for the comment nad ecard formfields.
Hier kannst Du die Farben und den Hintergrund der Kommentar und eCard Formfelder ändern.
*/

.comment_input {
border: 1px solid rgb(0,0,0);
background-image: url(../../page_images/login_orange.gif);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 110px;
}

.comment_button {
border: 1px solid rgb(0,0,0);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 130px;
}

.comment_big_input {
border: 1px solid rgb(0,0,0);
background-image: url(../../page_images/form_big_orange.gif);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 300px;
}
/* ------------------------------------------------------------------------------------------*/






/* ------------ Color of all other formfields --- Farbe aller anderen Formfelder --------------
Here you can change the color and the background for all other loginforms.
Hier kannst Du die Farben und den Hintergrund aller anderen Formfelder ändern.
*/

.all_other_input {
border: 1px solid rgb(0,0,0);
background-image: url(../../page_images/login_orange.gif);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 110px;
}

.all_other_input_big {
border: 1px solid rgb(0,0,0);
background-image: url(../../page_images/form_orange.gif);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
WIDTH: 300px;
}

.all_other_button {
border: 1px solid rgb(0,0,0);
background-color: #FF820E;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
}
/* ------------------------------------------------------------------------------------------*/




/* All Links */
a:link { text-decoration: none; color : #FF820E; background-color: #;
}
a:active { text-decoration: none; color : #FF820E; background-color: #;
}
a:visited { text-decoration: none; color : #FF820E; background-color: #;
}
a:hover { text-decoration: overline; color : #ffffff; background-color: #; background-image: url(../../page_images/rauschen.gif);
}

hr {
border: 1px solid rgb(30,30,30);
}

ul, li, p, td {
color: #FF820E;
font-background-color: #;
font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
text-decoration: none;
}

.smalltext {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
font-size: 10px;
font-weight: normal;
}

.site_stats {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
font-size: 9px;
font-weight: normal;
}

.user_online {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
font-size: 9px;
font-weight: normal;
}

.marktext {
background-color: #3CE100;
border: 1px solid rgb(0,136,0);
color: #000000;
height: 15;
}

.cp_link {
background-color: #;
}

.new {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
font-size: 10px;
color: #FFFF00;
}

.textarea {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #FF820E;
font-size: 11px;
width: 230px;
}

.input {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
font-size: 11px;
width: 230px;
}

.select {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
background-color: #FF820E;
color: #000000;
font-size: 11px;
}

.setperpageselect {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #000000;
background-color: #FF820E;
font-size: 11px;
}

.categoryselect {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
background-color: #FF820E;
color: #000000;
font-size: 11px;
}

.dropdownmarker {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
background-color: #FF820E;
color: #000000;
font-size: 11px;
}

.button {
font-family: Verdana,Arial, Helvetica, sans-serif;
background-color: #FF820E;
border: 1px solid rgb(0,0,0);
color: #000000;
font-size: 11px;
}

/*--Categories------------------------------------------------*/

.maincat {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
font-size: 11px;
}

.subcat {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
font-size: 10px;
}

/*--Images----------------------------------------------------*/
.imagerow1 {
}

.imagerow2 {
}

/*--Comments--------------------------------------------------*/

.commentspacerrow {
background-color: #;
color: #1A1A1A;
}

.commenttextarea {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #0f5475;
font-size: 11px;
width: 270px;
}

.commentinput {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #0f5475;
font-size: 11px;
width: 270px;
}
.msg0 {
background-color: #FFCECE;
color: #2F6B9D;
}
.msg1 {
background-color: #004000;
color: #2F6B9D;
}

.msg_good {
background-color: #004000;
font-weight: bold;
border: 1px solid #5E6C80;
padding: 3px 3px 3px 3px ;
margin: 3px 0px 3px 0px ;
}

.msg_error {
background-color: #800000;
font-weight: bold;
border: 1px solid #5E6C80;
padding: 3px 3px 3px 3px ;
margin: 3px 0px 3px 0px ;
}

.msg_plain {
background-color: transparent;
font-weight: bold;
border: 1px solid #5E6C80;
padding: 3px 3px 3px 3px ;
margin: 3px 0px 3px 0px ;
}
/*--BBCode--------------------------------------------------*/
input.bbcbutton {
background-color : #EFEFEF;
color : #000000;
font-size: 11px; font-family: Verdana, Arial, Helvetica, sans-serif;
}
.helpline {
width: 300px;
height: 30px;
overflow: hidden;
background-color: transparent;
border-style: none;
font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif;
font-size : 10px;
color: #666666;
}
div.quotehead {
font-size: 11px;
color: black;
padding: 0px 24px 0px 24px ;
}
div.quoteblock {
border: 1px solid #5E6C80;
font-size: 10px;
padding: 8px 8px 8px 8px ;
}
div.codehead {
font-size: 11px;
color: black;
padding: 0px 24px 0px 24px ;
}
div.codeblock {
border: 1px solid #5E6C80;
font-family: Courier, 'Courier New', sans-serif;
font-size: 10px;
padding: 8px 8px 8px 8px ;
background-color: #F5F5F5;
white-space: pre;
}
<!-- Smilie Mod -->
.smilie {
background-color: transparent;
background-repeat: no-repeat;
border: none; cursor:hand;
}
<!-- End Smilie Mod -->
.voted {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #0f5475;
font-size: 9px;
}
.thanks {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #0f5475;
font-size: 9px;
}
.static {
color:#7C6843;
font-size: 9px;
}

Ich bedanke mich in diesem Fall im Voraus!

1715
Mods & Plugins (Requests & Discussions) / Bot-Trap
« on: April 03, 2008, 06:58:09 AM »
Hallo,

wo baue ich den Bottrap genau ein? In die index.php? An welcher Stelle? ganz oben, in der mitte... es gibt da ja so Regeln oder?

http://www.bot-trap.de/home/

ich habs in die Index so eingebunden:
Code: [Select]
define('GET_CACHES', 1);
define('ROOT_PATH', './');
define('GET_USER_ONLINE', 1);
include(ROOT_PATH.'global.php');
require(ROOT_PATH.'includes/sessions.php');
require(ROOT_PATH.'includes/page.restrictor.php');
$user_access = get_permission();

1716
Ich kann es nicht installieren, ich verstehe das mit der functions.php nicht! Da ich kein Englisch kann ist das extrem schwierig, sowas einzubauen wenn es auf Englisch ist!

Ich verstehe STEP 6 + STEP 6.2 nicht!
http://www.4homepages.de/forum/index.php?topic=6692.0

Kann mir bitte einer helfen wie ich das einbaue?

Das ist meine functions.php

Code: [Select]
<?php
/**************************************************************************
 *                                                                        *
 *    4images - A Web Based Image Gallery Management System               *
 *    ----------------------------------------------------------------    *
 *                                                                        *
 *             File: functions.php                                        *
 *        Copyright: (C) 2002 Jan Sorgalla                                *
 *            Email: jan@4homepages.de                                    *
 *              Web: http://www.4homepages.de                             *
 *    Scriptversion: 1.7.6                                                *
 *                                                                        *
 *    Never released without support from: Nicky (http://www.nicky.net)   *
 *                                                                        *
 **************************************************************************
 *                                                                        *
 *    Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz-       *
 *    bedingungen (Lizenz.txt) für weitere Informationen.                 *
 *    ---------------------------------------------------------------     *
 *    This script is NOT freeware! Please read the Copyright Notice       *
 *    (Licence.txt) for further information.                              *
 *                                                                        *
 *************************************************************************/
if (!defined('ROOT_PATH')) {
  die(
"Security violation");
}

function 
set_download_token($token) {
  global 
$site_sess$user_info;

  if (
$user_info['user_level'] == ADMIN) {
    return;
  }

  
$download_token = @unserialize($site_sess->get_session_var('download_token'));

  if (!
$download_token) {
    
$download_token = array();
  }

  
$download_token[md5($token)] = 1;

  
$site_sess->set_session_var('download_token'serialize($download_token));
}

function 
clear_download_token($token) {
  global 
$site_sess$user_info;

  if (
$user_info['user_level'] == ADMIN) {
    return;
  }

  
$download_token = @unserialize($site_sess->get_session_var('download_token'));

  if (!
$download_token) {
    return;
  }

  
$token md5($token);

  if (isset(
$download_token[$token])) {
    unset(
$download_token[$token]);
    
$site_sess->set_session_var('download_token'serialize($download_token));
  }
}

function 
check_download_token($token) {
  global 
$site_sess$user_info;

  if (
$user_info['user_level'] == ADMIN) {
    return 
true;
  }

  
$download_token = @unserialize($site_sess->get_session_var('download_token'));

  if (isset(
$download_token[md5($token)])) {
    return 
true;
  }

  return 
false;
}

function 
get_gallery_image($image_name) {
  global 
$config;
  if (
file_exists(TEMPLATE_PATH."/images_".$config['language_dir']."/".$image_name)) {
    return 
TEMPLATE_PATH."/images_".$config['language_dir']."/".$image_name;
  }
  else {
    return 
TEMPLATE_PATH."/images/".$image_name;
  }
}

function 
get_basename($path) {
  
$path str_replace("\\""/"$path);
  
$name substr(strrchr($path"/"), 1);
  return 
$name $name $path;
}

function 
get_basefile($path) {
  
$basename get_basename($path);
  
ereg("(.+)\?(.+)"$basename$regs);
  return isset(
$regs[1]) ? $regs[1] : $basename;
}

function 
redirect($url) {
  global 
$script_url$site_sess;
  if (
strpos($url'://') === false) {
    
$url $script_url.'/'.$url;
  }
  
$location = @preg_match('/Microsoft|WebSTAR|Xitami/'getenv('SERVER_SOFTWARE')) ? 'Refresh: 0; URL=' 'Location: ';
  if (
is_object($site_sess)) {
    
$url $site_sess->url($url"&");
  }
  
header($location.$url);
  exit;
}

function 
is_remote($file_name) {
  return 
strpos($file_name'://') > 0;
}

function 
is_remote_file($file_name) {
  return 
is_remote($file_name) && preg_match("#\.[a-zA-Z0-9]{1,4}$#"$file_name) ? 0;
}

function 
is_local_file($file_name) {
  return !
is_remote($file_name) && get_basefile($file_name) != $file_name && preg_match("#\.[a-zA-Z0-9]{1,4}$#"$file_name) ? 0;
}

function 
check_remote_media($remote_media_file) {
  global 
$config;
  return 
is_remote($remote_media_file) && preg_match("#\.[".$config['allowed_mediatypes_match']."]+$#i"$remote_media_file) ? 0;
}

function 
check_local_media($local_media_file) {
  global 
$config;
  return !
is_remote($local_media_file) && get_basefile($local_media_file) != $local_media_file && preg_match("#\.[".$config['allowed_mediatypes_match']."]+$#i"$local_media_file) ? 0;
}

function 
check_remote_thumb($remote_thumb_file) {
  return 
is_remote($remote_thumb_file) && preg_match("#\.[gif|jpg|jpeg|png]+$#is"$remote_thumb_file) ? 0;
}

function 
check_local_thumb($local_thumb_file) {
  return !
is_remote($local_thumb_file) && get_basefile($local_thumb_file) != $local_thumb_file && preg_match("#\.[gif|jpg|jpeg|png]+$#i"$local_thumb_file) ? 0;
}

function 
get_file_extension($file_name) {
  
ereg("(.+)\.(.+)"get_basefile($file_name), $regs);
  return 
strtolower($regs[2]);
}

function 
get_file_name($file_name) {
  
ereg("(.+)\.(.+)"get_basefile($file_name), $regs);
  return 
$regs[1];
}

function 
check_media_type($file_name) {
  global 
$config;
  return (
in_array(get_file_extension($file_name), $config['allowed_mediatypes_array'])) ? 0;
}

function 
check_thumb_type($file_name) {
  return (
preg_match("#(gif|jpg|jpeg|png)$#is"$file_name)) ? 0;
}

function 
check_executable($file_name) {
  if (
substr(PHP_OS03) == "WIN" && !eregi("\.exe$"$file_name)) {
    
$file_name .= ".exe";
  }
  elseif (
substr(PHP_OS03) != "WIN") {
    
$file_name eregi_replace("\.exe$"""$file_name);
  }
  return 
$file_name;
}

function 
get_file_path($file_name ""$image_type "media"$cat_id 0$in_admin 0$return_icon 1$check_remote CHECK_REMOTE_FILES) {
  
$return_code = ($return_icon) ? ICON_PATH."/404.gif" 0;
  if (empty(
$file_name)) {
    return 
$return_code;
  }
  if (
is_remote($file_name)) {
    
$check_handle "check_remote_".$image_type;
    return (
$check_handle($file_name) && remote_file_exists($file_name$check_remote)) ? (($in_admin && !preg_match("#(gif|jpg|jpeg|png)$#is"$file_name)) ? ICON_PATH."/".get_file_extension($file_name).".gif" $file_name) : $return_code;
  }
  elseif (
is_local_file($file_name)) {
    
$check_handle "check_local_".$image_type;
    
$file_name = ($in_admin && preg_match("/^([\.]+|[^\/])/"$file_name)) ? "../".$file_name $file_name;
    if (!
file_exists($file_name)) {
      
$file_path preg_replace("/\/{2,}/""/"get_document_root()."/".$file_name);
      return (
$check_handle($file_name) && file_exists($file_path)) ? (($in_admin && !preg_match("#(gif|jpg|jpeg|png)$#is"$file_name)) ? ICON_PATH."/".get_file_extension($file_name).".gif" $file_name) : $return_code;
    }
    else {
      return 
$file_name;
    }
  }
  else {
    
$check_handle "check_".$image_type."_type";
    
$path = (($image_type == "media") ? (($cat_id) ? MEDIA_PATH."/".$cat_id MEDIA_TEMP_PATH) : (($cat_id) ? THUMB_PATH."/".$cat_id THUMB_TEMP_PATH))."/".$file_name;
    return (
$check_handle($file_name) && file_exists($path)) ? (($in_admin && !preg_match("#(gif|jpg|jpeg|png)$#is"$file_name)) ? ICON_PATH."/".get_file_extension($file_name).".gif" $path) : $return_code;
  }
}

function 
safe_htmlspecialchars($chars) {
  
// Translate all non-unicode entities
  
$chars preg_replace(
    
'/&(?!(#[0-9]+|[a-z]+);)/si',
    
'&amp;',
    
$chars
  
);

  
$chars str_replace(">""&gt;",   $chars);
  
$chars str_replace("<""&lt;",   $chars);
  
$chars str_replace('"'"&quot;"$chars);
  return 
$chars;
}

function 
un_htmlspecialchars($text) {
  
$text str_replace(
    array(
'&lt;''&gt;''&quot;''&amp;'),
    array(
'<',    '>',    '"',      '&'),
    
$text
  
);

  return 
$text;
}

function 
get_iptc_info($info) {
  
$iptc_match = array();
  
$iptc_match['2#120'] = "caption";
  
$iptc_match['2#122'] = "caption_writer";
  
$iptc_match['2#105'] = "headline";
  
$iptc_match['2#040'] = "special_instructions";
  
$iptc_match['2#080'] = "byline";
  
$iptc_match['2#085'] = "byline_title";
  
$iptc_match['2#110'] = "credit";
  
$iptc_match['2#115'] = "source";
  
$iptc_match['2#005'] = "object_name";
  
$iptc_match['2#055'] = "date_created";
  
$iptc_match['2#090'] = "city";
  
$iptc_match['2#095'] = "state";
  
$iptc_match['2#101'] = "country";
  
$iptc_match['2#103'] = "original_transmission_reference";
  
$iptc_match['2#015'] = "category";
  
$iptc_match['2#020'] = "supplemental_category";
  
$iptc_match['2#025'] = "keyword";
  
$iptc_match['2#116'] = "copyright_notice";

  
$iptc iptcparse($info);
  
$iptc_array = array();
  if (
is_array($iptc)) {
    foreach (
$iptc as $key => $val) {
      if (isset(
$iptc_match[$key])) {
        
$iptc_info "";
        foreach (
$val as $val2) {
          
$iptc_info .= (($iptc_info != "" ) ? ", " "").$val2;
        }
        if (
$key == "2#055") {
          
$iptc_array[$iptc_match[$key]] = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/""\\3.\\2.\\1"$iptc_info);
        }
        else {
          
$iptc_array[$iptc_match[$key]] = $iptc_info;
        }
      }
    }
  }
  return 
$iptc_array;
}

function 
get_exif_info($exif) {
  
$exif_match = array();
  
$exif_match['Make'] = "make";
  
$exif_match['Model'] = "model";
  
$exif_match['DateTimeOriginal'] = "datetime";
  
$exif_match['ISOSpeedRatings'] = "isospeed";
  
$exif_match['ExposureTime'] = "exposure";
  
$exif_match['FNumber'] = "aperture";
  
$exif_match['FocalLength'] = "focallen";

  
$exif_array = array();
  if (
is_array($exif)) {
    foreach (
$exif as $key => $val) {
      if (isset(
$exif_match[$key])) {
        
$exif_info $val;
        if (
$key == "DateTimeOriginal") {
          
$exif_array[$exif_match[$key]] = preg_replace("/([0-9]{4}):([0-9]{2}):([0-9]{2})/""\\3.\\2.\\1"$exif_info);
        }
        elseif (
$key == "ExposureTime") {
  $exposure explode("/"$exif_info);
          
$exif_array[$exif_match[$key]] = "1/" . ($exposure[1] / $exposure[0]);
        }
        elseif (
$key == "FNumber") {
  $aperture explode("/"$exif_info);
          
$exif_array[$exif_match[$key]] = "F/" . ($aperture[0] / $aperture[1]);
        }
        elseif (
$key == "FocalLength") {
  $focalLen explode("/"$exif_info);
          
$exif_array[$exif_match[$key]] = ($focalLen[0] / $focalLen[1]) . "mm";
        }
        else {
          
$exif_array[$exif_match[$key]] = $exif_info;
        }
      }
    }
  }
  return 
$exif_array;
}

function 
show_image($image_row$mode ""$show_link 1$detailed_view 0) {
  global 
$self_url$site_template$site_sess$user_info$config$cat_cache$lang$additional_image_fields$user_table_fields$url_show_profile;

  
$is_new = ($image_row['image_date'] >= (time() - 60 60 24 $config['new_cutoff'])) ? 0;
  
$description = (!empty($image_row['image_description'])) ? format_text($image_row['image_description'], 101) : REPLACE_EMPTY;

  if (!empty(
$image_row['image_keywords'])) {
    
$split_keywords explode(" "$image_row['image_keywords']);
    
$keywords "";
    foreach (
$split_keywords as $key => $val) {
      
$keywords .= (($keywords != "" ) ? ", " "")."<a href=\"".$site_sess->url(ROOT_PATH."search.php?search_keywords=".urlencode($val))."\">".format_text($val2)."</a>";
    }
  }
  else {
    
$keywords REPLACE_EMPTY;
  }

  if (!
check_permission("auth_readcomment"$image_row['cat_id'])) {
    
$image_row['image_allow_comments'] = 0;
  }

  
$num_comments = ($image_row['image_allow_comments'] == 1) ? $image_row['image_comments'] : "";

  if (
$user_info['user_level'] != GUEST) {
    
$lightbox_url $self_url;
    
$lightbox_url .= (!empty($mode)) ? ((strpos($lightbox_url'?') !== false) ? "&amp;" "?")."mode=".$mode "";
    
$lightbox_url .= strpos($lightbox_url'?') !== false "&amp;" "?";
    if (
check_lightbox($image_row['image_id'])) {
      
$lightbox_url .= "action=removefromlightbox&amp;id=".$image_row['image_id'];
      
$lightbox_button "<a href=\"".$site_sess->url($lightbox_url)."\"><img src=\"".get_gallery_image("lightbox_yes.gif")."\" border=\"0\" alt=\"\" /></a>";
    }
    else {
      
$lightbox_url .= "action=addtolightbox&amp;id=".$image_row['image_id'];
      
$lightbox_button "<a href=\"".$site_sess->url($lightbox_url)."\"><img src=\"".get_gallery_image("lightbox_no.gif")."\" border=\"0\" alt=\"\" /></a>";
    }
  }
  else {
    
$lightbox_button "<img src=\"".get_gallery_image("lightbox_off.gif")."\" border=\"0\" alt=\"\" />";
  }

  if (!
check_permission("auth_download"$image_row['cat_id'])) {
    
$download_button "<img src=\"".get_gallery_image("download_off.gif")."\" border=\"0\" alt=\"\" />";
    
$download_zip_button = (function_exists("gzcompress") && function_exists("crc32")) ? "<img src=\"".get_gallery_image("download_zip_off.gif")."\" border=\"0\" alt=\"\" />" "";
    
$allow_download 0;
    
clear_download_token($image_row['image_id']);
  }
  else {
    
$target = (!empty($image_row['image_download_url']) && !is_remote_file($image_row['image_download_url']) && !is_local_file($image_row['image_download_url'])) ? "target=\"_blank\"" "";
    
$download_button "<a href=\"".$site_sess->url(ROOT_PATH."download.php?".URL_IMAGE_ID."=".$image_row['image_id'])."\"".$target."><img src=\"".get_gallery_image("download.gif")."\" border=\"0\" alt=\"\" /></a>";
    
$download_zip_button = ($target == "" && function_exists("gzcompress") && function_exists("crc32")) ? "<a href=\"".$site_sess->url(ROOT_PATH."download.php?action=zip&amp;".URL_IMAGE_ID."=".$image_row['image_id'])."\"".$target."><img src=\"".get_gallery_image("download_zip.gif")."\" border=\"0\" alt=\"\" /></a>" "";
    
$allow_download 1;
    
set_download_token($image_row['image_id']);
  }

  if (!
check_permission("auth_sendpostcard"$image_row['cat_id'])) {
    
$postcard_button "<img src=\"".get_gallery_image("postcard_off.gif")."\" border=\"0\" alt=\"\" />";
  }
  else {
    
$postcard_button "<a href=\"".$site_sess->url(ROOT_PATH."postcards.php?".URL_IMAGE_ID."=".$image_row['image_id'].((!empty($mode)) ? "&amp;mode=".$mode ""))."\"><img src=\"".get_gallery_image("postcard.gif")."\" border=\"0\" alt=\"\" /></a>";
  }

  if (!
check_permission("auth_viewimage"$image_row['cat_id']) || !check_permission("auth_viewcat"$image_row['cat_id'])) {
    
$show_link 0;
  }

  
$file_size "n/a";
  if (!
is_remote($image_row['image_media_file'])) {
    if (
$file_size = @filesize(MEDIA_PATH."/".$image_row['cat_id']."/".$image_row['image_media_file'])) {
      
$file_size format_file_size($file_size);
    }
  }
  elseif (
$detailed_view) {
    
$file_size get_remote_file_size($image_row['image_media_file']);
  }

  if (isset(
$image_row[$user_table_fields['user_name']]) && $image_row['user_id'] != GUEST) {
    
$user_name format_text($image_row[$user_table_fields['user_name']], 2);

    
$user_profile_link = (!empty($url_show_profile)) ? str_replace("{user_id}"$image_row['user_id'], $url_show_profile) : ROOT_PATH."member.php?action=showprofile&amp;".URL_USER_ID."=".$image_row['user_id'];
    
$user_name_link "<a href=\"".$site_sess->url($user_profile_link)."\">".$user_name."</a>";
  }
  else {
    
$user_name format_text($lang['userlevel_guest'], 2);
    
$user_name_link $user_name;
  }

  
$site_template->register_vars(array(
    
"image_id" => $image_row['image_id'],
    
"user_id" => $image_row['user_id'],
    
"user_name" => $user_name,
    
"user_name_link" => $user_name_link,
    
"image_name" => format_text($image_row['image_name'], 2),
    
"image_description" => $description,
    
"image_keywords" => $keywords,
    
"image_date" => format_date($config['date_format']." ".$config['time_format'],$image_row['image_date']),
    
"image_is_new" => $is_new,
    
"lang_new" => $lang['new'],
    
"image_active" => $image_row['image_active'],
    
"cat_id" => $image_row['cat_id'],
    
"cat_name" => format_text($image_row['cat_name'], 2),
    
"cat_url" => $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$image_row['cat_id']),
    
"image_downloads" => $image_row['image_downloads'],
    
"image_votes" => $image_row['image_votes'],
    
"image_rating" => $image_row['image_rating'],
    
"image_hits" => $image_row['image_hits'],
    
"allow_comments" => $image_row['image_allow_comments'],
    
"lang_comments" => $lang['comments'],
    
"image_comments" => $num_comments,
    
"lightbox_button" => $lightbox_button,
    
"postcard_button" => $postcard_button,
    
"download_button" => $download_button,
    
"download_zip_button" => $download_zip_button,
    
"image_download_url" => $image_row['image_download_url'],
    
"allow_download" => $allow_download,
    
"url_download" => $site_sess->url(ROOT_PATH."download.php?".URL_IMAGE_ID."=".$image_row['image_id']),
    
"image_file_size" => $file_size,
    
"image_url" => ($show_link) ? $site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_row['image_id'].((!empty($mode)) ? "&amp;mode=".$mode "")) : "",
    
"image" => get_media_code($image_row['image_media_file'], $image_row['image_id'], $image_row['cat_id'], $image_row['image_name'], $mode$show_link$detailed_view),
    
"thumbnail" => get_thumbnail_code($image_row['image_media_file'], $image_row['image_thumb_file'], $image_row['image_id'], $image_row['cat_id'], $image_row['image_name'], $mode$show_link),
    
"thumbnail_openwindow" => get_thumbnail_code($image_row['image_media_file'], $image_row['image_thumb_file'], $image_row['image_id'], $image_row['cat_id'], $image_row['image_name'], $mode$show_link1),
    
"image_file_name" => $image_row['image_media_file'],
    
"thumbnail_file_name" => $image_row['image_thumb_file']
  ));

  if (!empty(
$additional_image_fields)) {
    
$additional_field_array = array();
    foreach (
$additional_image_fields as $key => $val) {
      
$additional_field_array[$key] = (!empty($image_row[$key])) ? format_text($image_row[$key], 1) : REPLACE_EMPTY;
      
$additional_field_array['lang_'.$key] = $val[0];
    }
    if (!empty(
$additional_field_array)) {
      
$site_template->register_vars($additional_field_array);
    }
  }

  
$rate_form "";
  if (
check_permission("auth_vote"$image_row['cat_id'])) {
    
$site_template->register_vars("rate"$lang['rate']);
    
$rate_form $site_template->parse_template("rate_form");
  }
  
$site_template->register_vars("rate_form"$rate_form);
  return 
true;
}

// ################ Start Mod Star Rating * Mouseover/ Hover * Rating without pagereload ##################
function rating_bar($image_id,$units='',$units_detail,$rating_image_width,$static='') {
global 
$site_db$config$site_sess$lang$user_info$setting;

$rating_details $config['starrating_details'];
$rating_images $config['starrating_details_images'];
$rating_details_text $config['starrating_details_text'];
$rating_thumbs_text $config['starrating_thumbs_text'];
$rating_image_width $config['starrating_details_width'];
$thumbnails_rating $config['starrating_thumbs'];
$thumbnails_rating_images $config['starrating_thumbs_images'];
$thumbnails_rating_image_width $config['starrating_thumbs_width'];

if (!
$rating_images) {$rating_images 10;}
if (!
$thumbnails_rating_images) {$thumbnails_rating_images 5;}
if (!
$static) {$static FALSE;}

$sql "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_active, i.image_votes, i.image_rating, i.image_hits, i.image_used_ids, c.cat_id, c.auth_vote
        FROM ("
.IMAGES_TABLE." i,  ".CATEGORIES_TABLE." c)
        WHERE i.image_id = 
$image_id AND c.cat_id = i.cat_id";
$image_row $site_db->query_firstrow($sql);
$cat_id = (isset($image_row['cat_id'])) ? $image_row['cat_id'] : 0;
$auth_vote = (isset($image_row['auth_vote'])) ? $image_row['auth_vote'] : 0;
$image_used_ids_array explode(","$image_row['image_used_ids']);
$ip $_SERVER['REMOTE_ADDR'];

if (
$image_row['image_votes'] < 1) {
$count 0;
}
else {
$count$image_row['image_votes'];
}
if (
$user_info['user_id'] == $image_row['user_id']) {
$is_image_owner 1// replace 1 with 0, if Guests can upload images and vote
$is_already_voted 0;
}
elseif ((
in_array($user_info['user_id'], $image_used_ids_array)) && ($user_info['user_level'] != GUEST)) {
$is_image_owner 1;
$is_already_voted 1;
}
else {
$is_image_owner 0;
$is_already_voted 0;
}

$current_rating $image_row['image_rating'];
$current_rating_text = @number_format($current_rating,1);
$thumbnails_current_rating = @number_format($current_rating/$rating_images*$thumbnails_rating_images,2);
$thumbnails_current_rating_text = @number_format($current_rating/$rating_images*$thumbnails_rating_images,1);

$tense=($count==1) ? $lang['vote'] : $lang['votes'];
$voted=mysql_num_rows(mysql_query("SELECT image_used_ips FROM ".IMAGES_TABLE." WHERE image_used_ips LIKE '%".$ip."%' AND image_id='".$image_id."' "));

$rating_width = @number_format($current_rating,2)*$rating_image_width;
$thumbnails_rating_width = @number_format($thumbnails_current_rating,2)*$thumbnails_rating_image_width;
$image_idx2 = ($image_id*2);

// --- Thumbnails static ---

                
$static_rater_thumb[]  ='<br /><br /><table border="0" cellspacing="0" cellpadding="1" width="10" align="center"><tr><td class="bordercolor">';
                
$static_rater_thumb[] .='<table border="0" cellspacing="0" cellpadding="3"><tr><td bgcolor="#ffffff" align="left">';
                
$static_rater_thumb[] .= '<div class="ratingblock">';
                
$static_rater_thumb[] .= '<div id="unit_long'.$image_id.'">';
                if (
$is_already_voted == 1) {
                
$static_rater_thumb[] .= '<ul id="unit_ul'.$image_id.'" class="unit-rating-thumbnails" style="width:'.$thumbnails_rating_image_width*$thumbnails_rating_images.'px;" title ="'.$lang['already_voted'].'">';
                
$static_rater_thumb[] .= '<li class="current-rating-thumbnails" style="width:'.$thumbnails_rating_width.'px;" title="'.$lang['rating'].'&nbsp;'.$thumbnails_current_rating.'&nbsp;'.$lang['vote_between'].'&nbsp;'.$thumbnails_rating_images.'&nbsp;&nbsp;&nbsp;'.$lang['already_voted'].'"></li>';
                }
                elseif (
$is_image_owner == 1) {
                
$static_rater_thumb[] .= '<ul id="unit_ul'.$image_id.'" class="unit-rating-thumbnails" style="width:'.$thumbnails_rating_image_width*$thumbnails_rating_images.'px;" title ="'.$lang['image_owner'].'">';
                
$static_rater_thumb[] .= '<li class="current-rating-thumbnails" style="width:'.$thumbnails_rating_width.'px;" title="'.$lang['rating'].'&nbsp;'.$thumbnails_current_rating.'&nbsp;'.$lang['vote_between'].'&nbsp;'.$thumbnails_rating_images.'&nbsp;&nbsp;&nbsp;'.$lang['image_owner'].'"></li>';
                }
                else {
                
$static_rater_thumb[] .= '<ul id="unit_ul'.$image_id.'" class="unit-rating-thumbnails" style="width:'.$thumbnails_rating_image_width*$thumbnails_rating_images.'px;" title ="">';
                
$static_rater_thumb[] .= '<li class="current-rating-thumbnails" style="width:'.$thumbnails_rating_width.'px;" title="'.$lang['rating'].'&nbsp;'.$thumbnails_current_rating.'&nbsp;'.$lang['vote_between'].'&nbsp;'.$thumbnails_rating_images.'"></li>';
                }
                 
$static_rater_thumb[] .= '</ul>';
                if (
$rating_thumbs_text == 'enable') {
                
$static_rater_thumb[] .='<font class="voted"><center>'.$thumbnails_current_rating.'&nbsp;('.$count.' '.$tense.')</center></font>';
                }
                
$static_rater_thumb[] .= '</div>';
                
$static_rater_thumb[] .= '</div>';
                
$static_rater_thumb[] .= '</td></tr></table></td></tr></table>';

// --- Thumbnails rater ---

                
$rater_thumb  ='<br /><br /><table border="0" cellspacing="0" cellpadding="1" width="10" align="center"><tr><td class="bordercolor">';
                
$rater_thumb .='<table border="0" cellspacing="0" cellpadding="3"><tr><td bgcolor="#ffffff" align="left">';
                
$rater_thumb .='<div class="ratingblock">';
                
$rater_thumb .='<div id="unit_long'.$image_id.'">';
                if(!
$voted) {
                
$rater_thumb .='<ul id="unit_ul'.$image_id.'" class="unit-rating-thumbnails" style="width:'.$thumbnails_rating_image_width*$thumbnails_rating_images.'px;">';
                }
                else {
                
$rater_thumb .='<ul id="unit_ul'.$image_id.'" class="unit-rating-thumbnails" style="width:'.$thumbnails_rating_image_width*$thumbnails_rating_images.'px;" title="'.$lang['already_voted'].'">';
                }
                
$rater_thumb .='<li class="current-rating-thumbnails" style="width:'.$thumbnails_rating_width.'px;" title="'.$lang['rating'].'&nbsp;'.$thumbnails_current_rating_text.'&nbsp;'.$lang['vote_between'].'&nbsp;'.$thumbnails_rating_images.'"></li>';

                for (
$ncount 1$ncount <= $thumbnails_rating_images$ncount++) {
                if(!
$voted) {
                
$rater_thumb .='<li><a href="index.php?j='.$ncount.'&q='.$image_id.'&c='.$thumbnails_rating_images.'&cd='.$rating_images.'&w='.$thumbnails_rating_image_width.'&v=1" title="'.$lang['rate'].': '.$ncount.' '.$lang['vote_between'].' '.$thumbnails_rating_images.'" class="r'.$ncount.'-unit-thumbnails rater" rel="nofollow">'.$ncount.'</a></li>';
                }
                else {
                
$rater_thumb .='<li class="current-rating-thumbnails" style="width:'.$thumbnails_rating_width.'px;" title="'.$lang['already_voted'].'"></li>';
                }
                }
                
$ncount=0;
                
$rater_thumb .='</ul>';
                if(
$voted){ $rater_thumb .=''; }
                if (
$rating_thumbs_text == 'enable') {
                
$rater_thumb .='<font class="voted"><center>'.$thumbnails_current_rating.'&nbsp;('.$count.' '.$tense.')</center></font>';
                }
                
$rater_thumb .='</div></div></td></tr></table></td></tr></table>';

// --- Details static---

                
$static_rater_details[]  ='<table border="0" cellspacing="0" cellpadding="0" width="10" align="center"><tr><td>';
                
$static_rater_details[] .='<table border="0" cellspacing="0" cellpadding="3"><tr><td align="left">';
                
$static_rater_details[] .= '<div class="ratingblock">';
                
$static_rater_details[] .= '<div id="unit_long'.$image_id.'">';
                if (
$is_already_voted == 1) {
                
$static_rater_details[] .= '<ul id="unit_ul'.$image_id.'" class="unit-rating" style="width:'.$rating_image_width*$rating_images.'px;" title="'.$lang['already_voted'].'">';
                
$static_rater_details[] .= '<li class="current-rating" style="width:'.$rating_width.'px;" title="'.$lang['already_voted'].'"></li>';
                }
                elseif (
$is_image_owner == 1) {
                
$static_rater_details[] .= '<ul id="unit_ul'.$image_id.'" class="unit-rating" style="width:'.$rating_image_width*$rating_images.'px;" title="'.$lang['image_owner'].'">';
                
$static_rater_details[] .= '<li class="current-rating" style="width:'.$rating_width.'px;" title="'.$lang['image_owner'].'"></li>';
                }
                else {
                
$static_rater_details[] .= '<ul id="unit_ul'.$image_id.'" class="unit-rating" style="width:'.$rating_image_width*$rating_images.'px;" title="'.$lang['already_voted'].'">';
                
$static_rater_details[] .= '<li class="current-rating" style="width:'.$rating_width.'px;" title="'.$lang['already_voted'].'"></li>';
                }
                
$static_rater_details[] .= '</ul>';
                if (
$rating_details_text == 'enable') {
                
$static_rater_details[] .='<font class="voted"><center>'.$lang['rating'].'&nbsp;&nbsp;'.$current_rating.'&nbsp;('.$count.' '.$tense.')</center></font>';
                }
                
$static_rater_details[] .= '</div>';
                
$static_rater_details[] .= '</div>';
                
$static_rater_details[] .= '</td></tr></table></td></tr></table>';

// --- Details rater---

                
$rater_details  ='<div class="ratingblock">';
                
$rater_details .='<div id="unit_long'.$image_idx2.'">';
                if(!
$voted) {
                
$rater_details .='<ul id="unit_ul'.$image_idx2.'" class="unit-rating" style="width:'.$rating_image_width*$rating_images.'px;">';
                }
                else {
                
$rater_details .='<ul id="unit_ul'.$image_idx2.'" class="unit-rating" style="width:'.$rating_image_width*$rating_images.'px;" title="'.$lang['already_voted'].'">';
                }
                
$rater_details .='<li class="current-rating" style="width:'.$rating_width.'px;" title="'.$lang['rating'].'&nbsp;'.$current_rating_text.'&nbsp;'.$lang['vote_between'].'&nbsp;'.$rating_images.'"></li>';

                for (
$ncount 1$ncount <= $rating_images$ncount++) {
                if(!
$voted) {
                
$rater_details .='<li><a href="index.php?j='.$ncount.'&q='.$image_idx2.'&c='.$rating_images.'&cd='.$rating_images.'&w='.$rating_image_width.'&v=2" title="'.$lang['rate'].': '.$ncount.' '.$lang['vote_between'].' '.$rating_images.' " class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>';
                }
                else {
                
$rater_details .='<li class="current-rating" style="width:'.$rating_width.'px;" title="'.$lang['already_voted'].'"></li>';
                }
                }
                
$ncount=0;
                
$rater_details .='</ul>';
                if(
$voted){ $rater_details .=' '; }
                if (
$rating_details_text == 'enable') {
                
$rater_details .='<font class="voted"><center>'.$lang['rating'].'&nbsp;&nbsp;'.$current_rating.'&nbsp;('.$count.' '.$tense.')</center></font>';
                }
                
$rater_details .='</div></div>';


// --- Details ajax form---
if ($static == '6') {
                
$rater  ='<table border="0" cellspacing="0" cellpadding="0"><tr><td class="head1">';
                
$rater .='<table border="0" cellspacing="0" cellpadding="3" class="row1"><tr>';
                if (
$is_image_owner == '0') {
                
$rater .='<form method="post" action="details.php?image_id='.$image_id.'">';
                }
                
$rater .='<td valign="bottom">';
                
$rater .='<select name="rating" class="select">';
                
$rater .='<option value="">--</option>';
                
$rater .='<option value="5">5</option>';
                
$rater .='<option value="4">4</option>';
                
$rater .='<option value="3">3</option>';
                
$rater .='<option value="2">2</option>';
                
$rater .='<option value="1">1</option>';
                
$rater .='</select></td><td>';
                
$rater .='<input type="hidden" name="action" value="rateimage" />';
                
$rater .='<input type="hidden" name="id" value="'.$image_id.'" />';
                
$rater .='<input type="submit" value="'.$lang['rate'].'" class="button" name="submit" />';
                
$rater .='</td>';
                if (
$is_image_owner == '0') {
                
$rater .='</form>';
                }
                
$rater .='</tr></table></td></tr></table>';
                return 
$rater;
}
elseif (
$static == '4' && $user_info['user_level'] == GUEST && $auth_vote != 9) {
                
$static_rater $static_rater_details;
                return 
join("\n"$static_rater);
}
elseif (
$static == '4' && $is_image_owner == '0' && $user_info['user_level'] >= USER && $auth_vote != 9) {
                
$rater $rater_details;
                return 
$rater;
}
elseif (
$static == '4' && $is_image_owner == '1' && $user_info['user_level'] >= USER && $auth_vote != 9) {
                
$static_rater $static_rater_details;
                return 
join("\n"$static_rater);
}
elseif (
$static == '5' && $is_image_owner == '0' && $auth_vote != 9) {
                
$rater $rater_details;
                return 
$rater;
}
elseif (
$static == '5' && $is_image_owner == '1' && $auth_vote != 9) {
                
$static_rater $static_rater_details;
                return 
join("\n"$static_rater);
}
// --- Thumbnails Ajax form ---
elseif ($static == '1' && $auth_vote != 9) {
                
$static_rater $static_rater_thumb;
                return 
join("\n"$static_rater);
}
elseif (
$static == '2' && $user_info['user_level'] == GUEST && $auth_vote != 9) {
                
$static_rater $static_rater_thumb;
                return 
join("\n"$static_rater);
}
elseif (
$static == '2' && $is_image_owner == '0' && $user_info['user_level'] >= USER && $auth_vote != 9) {
                
$rater $rater_thumb;
                return 
$rater;
}
elseif (
$static == '2' && $is_image_owner == '1' && $user_info['user_level'] >= USER && $auth_vote != 9) {
                
$static_rater $static_rater_thumb;
                return 
join("\n"$static_rater);
}
elseif (
$static == '3' && $is_image_owner == '0' && $auth_vote != 9) {
                
$rater $rater_thumb;
                return 
$rater;
}
elseif (
$static == '3' && $is_image_owner == '1' && $auth_vote != 9) {
                
$static_rater $static_rater_thumb;
                return 
join("\n"$static_rater);
}
else {
                
$rater  ='<br />';
                return 
$rater;
}
}
// ################## End Mod Star Rating * Mouseover/ Hover * Rating without pagereload ##############

function get_thumbnail_code($media_file_name$thumb_file_name ""$image_id$cat_id$image_name ""$mode ""$show_link 1$open_window 0) {
  global 
$site_sess$config$user_info$setting;

$thumbnails_rating $config['starrating_thumbs'];

  if (!
check_media_type($media_file_name)) {
    
$thumb "<img src=\"".ICON_PATH."/404.gif\" border=\"0\" alt=\"\" />";
  }
  else {
    if (!
get_file_path($thumb_file_name"thumb"$cat_id00)) {
      
$file_src ICON_PATH."/".get_file_extension($media_file_name).".gif";
      
$image_info = @getimagesize($file_src);
      
$width_height = (!empty($image_info[3])) ? " ".$image_info[3] : "";
      
$thumb "<img src=\"".$file_src."\" border=\"0\"".$width_height." alt=\"".$image_name."\" />";
    }
    else {
      
$file_src get_file_path($thumb_file_name"thumb"$cat_id01);
      
$image_info = @getimagesize($file_src);
      
$width_height = (!empty($image_info[3])) ? " ".$image_info[3] : "";
      
$thumb "<img src=\"".$file_src."\" border=\"".$config['image_border']."\"".$width_height." alt=\"".$image_name."\" />";
// ################## Start Mod Star Rating * Mouseover/ Hover * Rating without pagereload ##############
      
$thumb .= rating_bar(''.$image_id.'','$thumbnails_rating_images','$rating_images','$thumbnails_rating_image_width',''.$thumbnails_rating.'','1');
// ################## End Mod Star Rating * Mouseover/ Hover * Rating without pagereload ##############
    
}
  }

  if (
$show_link) {
    if (
$open_window) {
      
$thumb "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id.((!empty($mode)) ? "&amp;mode=".$mode ""))."\" onclick=\"opendetailwindow()\" target=\"detailwindow\">".$thumb."</a>";
    }
    else {
      
$thumb "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id.((!empty($mode)) ? "&amp;mode=".$mode ""))."\">".$thumb."</a>";
    }
  }
  return 
$thumb;
}

function 
get_media_code($media_file_name$image_id 0$cat_id 0$image_name ""$mode ""$show_link 0$detailed_view 0) {
  global 
$site_template$site_sess$lang$mode;

  if (!
get_file_path($media_file_name"media"$cat_id00)) {
    
$media "<img src=\"".ICON_PATH."/404.gif\" border=\"0\" alt=\"\" />";
    
$site_template->register_vars("iptc_info""");
    
$site_template->register_vars("exif_info""");
  }
  else {
    
$media_src get_file_path($media_file_name"media"$cat_id01);
    
$file_extension get_file_extension($media_file_name);
    
$media_icon "<img src=\"".ICON_PATH."/".$file_extension.".gif\" border=\"0\" alt=\"".format_text($image_name2)."\" />";
    if (
$show_link) {
      
$media_icon "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id.((!empty($mode)) ? "&amp;mode=".$mode ""))."\">".$media_icon."</a>";
    }
    
$width_height "";
    
$width "";
    
$height "";
    
$iptc_info "";
    
$exif_info "";
    if (!
is_remote($media_src)) {
      
$src = (!file_exists($media_src) && file_exists(preg_replace("/\/{2,}/""/"get_document_root()."/".$media_src))) ? preg_replace("/\/{2,}/""/"get_document_root()."/".$media_src) : $media_src;
      if (
in_array(strtolower($file_extension), array('gif','jpg','jpeg','png','swf')) && $image_info = @getimagesize($src$info)) {
        
$width_height " ".$image_info[3];
        
$width $image_info[0];
        
$height $image_info[1];
        if (
$detailed_view && isset($info['APP13'])) {
          
$iptc_array get_iptc_info($info['APP13']);
          
$bgcounter 0;
          foreach (
$iptc_array as $key => $val) {
            
$row_bg_number = ($bgcounter++ % == 0) ? 2;
            
$site_template->register_vars(array(
              
"iptc_value" => format_text($val),
              
"iptc_name" => $lang['iptc_'.$key],
              
"row_bg_number" => $row_bg_number
            
));
            
$iptc_info .= $site_template->parse_template("iptc_bit");
          }
        }
        if (
$detailed_view && $image_info[2] == && function_exists('exif_read_data') && $exif_data = @exif_read_data($src'EXIF')) {
          
$exif_array get_exif_info($exif_data);
          
$bgcounter 0;
          foreach (
$exif_array as $key => $val) {
            
$row_bg_number = ($bgcounter++ % == 0) ? 2;
            
$site_template->register_vars(array(
              
"exif_value" => format_text($val),
              
"exif_name" => $lang['exif_'.$key],
              
"row_bg_number" => $row_bg_number
            
));
            
$exif_info .= $site_template->parse_template("exif_bit");
          }
        }
      }
    }
    
$site_template->register_vars(array(
      
"media_src" => $media_src,
      
"media_icon" => $media_icon,
      
"image_name" => format_text($image_name2),
      
"width_height" => $width_height,
      
"width" => $width,
      
"height" => $height,
      
"iptc_info" => $iptc_info,
      
"exif_info" => $exif_info
    
));
    
$media $site_template->parse_template("media/".$file_extension);
  }
  return 
$media;
}

function 
get_random_image_cache() {
  global 
$site_db$cat_cache$total_images;

  
$random_image_cache = array();
  
$cat_id_sql get_auth_cat_sql("auth_viewcat""NOTIN");

  if (
SHOW_RANDOM_CAT_IMAGE) {
    
$sql "SELECT DISTINCT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits, c.cat_name".get_user_table_field(", u.""user_name")."
            FROM ("
.IMAGES_TABLE." i,  ".CATEGORIES_TABLE." c)
            LEFT JOIN "
.USERS_TABLE." u ON (".get_user_table_field("u.""user_id")." = i.user_id)
            WHERE i.image_active = 1 AND i.cat_id NOT IN (
$cat_id_sql) AND c.cat_id = i.cat_id
            ORDER BY RAND()"
;
    
$result $site_db->query($sql);
    while (
$row $site_db->fetch_array($result)) {
      
$random_image_cache[$row['cat_id']] = $row;
    }
  }
  else {
    if (empty(
$total_images)) {
      
$sql "SELECT COUNT(*) as total_images
              FROM "
.IMAGES_TABLE."
              WHERE image_active = 1 AND cat_id NOT IN (
$cat_id_sql)";
      
$row $site_db->query_firstrow($sql);
      
$total_images $row['total_images'];
    }
    if (empty(
$total_images)) {
      return 
$random_image_cache;
    }
    
mt_srand((double)microtime() * 1000000);
    
$number = ($total_images 1) ? mt_rand(0$total_images 1) : 0;

    
$sql "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits, c.cat_name".get_user_table_field(", u.""user_name")."
            FROM ("
.IMAGES_TABLE." i,  ".CATEGORIES_TABLE." c)
            LEFT JOIN "
.USERS_TABLE." u ON (".get_user_table_field("u.""user_id")." = i.user_id)
            WHERE i.image_active = 1 AND i.cat_id NOT IN (
$cat_id_sql) AND c.cat_id = i.cat_id
            LIMIT 
$number, 1";
    
$random_image_cache[0] = $site_db->query_firstrow($sql);
  }
  return 
$random_image_cache;
}

function 
get_random_image($cat_id 0$show_link 1$return_file 0) {
  global 
$site_template$random_image_cache;

  if (!isset(
$random_image_cache)) {
    
$random_image_cache get_random_image_cache();
  }

  if (
$cat_id && SHOW_RANDOM_CAT_IMAGE) {
    
$template 'random_cat_image';
    
$category_id $cat_id;
  }
  else {
    
$template 'random_image';
    if (
SHOW_RANDOM_CAT_IMAGE) {
      
srand((float)microtime() * 1000000);
      
$category_id array_rand($random_image_cache);
    }
    else {
      
$category_id 0;
    }
  }

  if (!empty(
$random_image_cache[$category_id])) {
    if (!
$return_file) {
      
show_image($random_image_cache[$category_id], ""$show_link);
      
$random_image $site_template->parse_template($template);
      return 
$random_image;
    }
    else {
      return 
get_file_path($random_image_cache[$category_id]['image_thumb_file'], "thumb"$category_id01);
    }
  }
}

function 
format_file_size($file_size 0) {
  
//$file_size = intval($file_size);
  
if (!$file_size) {
    return 
"n/a";
  }
  if (
strlen($file_size) <= && strlen($file_size) >= 7) {
    
$file_size number_format($file_size 1048576,1);
    return 
$file_size."&nbsp;MB";
  }
  elseif (
strlen($file_size) >= 10) {
    
$file_size number_format($file_size 1073741824,1);
    return 
$file_size."&nbsp;GB";
  }
  else {
    
$file_size number_format($file_size 1024,1);
    return 
$file_size."&nbsp;KB";
  }
}

function 
get_remote_file_size($file_path) {
  if (!
CHECK_REMOTE_FILES) {
    return 
'n/a';
  }
  
ob_start();
  @
readfile($file_path);
  
$file_data ob_get_contents();
  
ob_end_clean();
  return 
format_file_size(strlen($file_data));
}

function 
update_comment_count($image_id 0$user_id 0) {
  global 
$site_db$user_table_fields;
  if (
$image_id) {
    
$sql "SELECT COUNT(comment_id) AS comments
            FROM "
.COMMENTS_TABLE."
            WHERE image_id = 
$image_id";
    
$countcomments $site_db->query_firstrow($sql);
    
$sql "UPDATE ".IMAGES_TABLE."
            SET image_comments = "
.$countcomments['comments']."
            WHERE image_id = 
$image_id";
    
$site_db->query($sql);
  }
  if (
$user_id != GUEST && $user_id && !empty($user_table_fields['user_comments'])) {
    
$sql "SELECT COUNT(comment_id) AS comments
            FROM "
.COMMENTS_TABLE."
            WHERE user_id = 
$user_id";
    
$countcomments $site_db->query_firstrow($sql);
    
$sql "UPDATE ".USERS_TABLE."
            SET "
.get_user_table_field("""user_comments")." = ".$countcomments['comments']."
            WHERE "
.get_user_table_field("""user_id")." = $user_id";
    
$site_db->query($sql);
  }
}

function 
update_image_rating($image_id$rating) {
  global 
$site_db$user_info;
  
$sql "SELECT cat_id, image_votes, image_rating
          FROM "
.IMAGES_TABLE."
          WHERE image_id = 
$image_id";
  
$image_row $site_db->query_firstrow($sql);
  if (
check_permission("auth_vote"$image_row['cat_id'])) {
    
$old_votes $image_row['image_votes'];
    
$old_rating $image_row['image_rating'];
    
$new_rating = (($old_rating $old_votes) + $rating) / ($old_votes 1);
    
$new_rating sprintf("%.2f"$new_rating);
   if (
$user_info['user_id'] != GUEST) {
        
$sql "INSERT INTO ".VOTED_TABLE."
                (user_id, image_id, vote)
                VALUES
                ("
.$user_info['user_id'].", ".$image_id.", ".$rating.")";
        
$site_db->query($sql);
    }
    
$sql "UPDATE ".IMAGES_TABLE."
            SET image_votes = (
$old_votes + 1), image_rating = '$new_rating'
            WHERE image_id = 
$image_id";
    
$site_db->query($sql);
  }
}

function 
check_email($email) {
  return (
preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+@([-0-9A-Z]+\.)+([0-9A-Z]){2,4}$/i'$email)) ? 0;
}

function 
format_date($format$timestamp) {
  global 
$user_info;
  
$timezone_offset = (defined("TIME_OFFSET")) ? TIME_OFFSET 0;
  return 
date($format$timestamp + (3600 $timezone_offset));
}

function 
format_url($url) {
  if (empty(
$url)) {
    return 
'';
  }

  if (!
preg_match("/^https?:\/\//i"$url)) {
    
$url "http://".$url;
  }

  return 
$url;
}

function 
replace_url($text) {
  
$text " ".$text." ";
  
$url_search_array = array(
    
"#([^]_a-z0-9-=\"'\/])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[^, \(\)<>\n\r]*)?)#si",
    
"#([^]_a-z0-9-=\"'\/])([a-z]+?)://([^, \(\)<>\n\r]+)#si"
  
);

  
$url_replace_array = array(
    
"\\1<a href=\"http://www.\\2.\\3\\4\" target=\"_blank\" rel=\"nofollow\">www.\\2.\\3\\4</a>",
    
"\\1<a href=\"\\2://\\3\" target=\"_blank\" rel=\"nofollow\">\\2://\\3</a>",
  );
  
$text preg_replace($url_search_array$url_replace_array$text);

  if (
strpos($text"@")) {
    
$text preg_replace("#([\n ])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)#i""\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>"$text);
  }
  return 
substr($text1, -1);
}

function 
replace_badwords($text) {
  global 
$config$split_badwords;
  if (
$config['badword_list'] != "") {
    if (!isset(
$split_badwords)) {
      
$badwords trim($config['badword_list']);
      
$badwords preg_replace("/[\n\r]/is"" "$badwords);
      
$badwords str_replace(","," ",$badwords);
      
$badwords preg_quote($badwords);
      
$badwords str_replace('/''\\/'$badwords);
      
$split_badwords preg_split("/\s+/"$badwords);
    }

    foreach (
$split_badwords as $key => $val) {
      if (
$val != "") {
        if (
substr($val02) == "\\{") {
          
$val substr($val2, -2);
          
$text trim(preg_replace("/([^A-Za-z])".$val."(?=[^A-Za-z])/si""\\1".str_repeat($config['badword_replace_char'], strlen($val)), $text "));
        }
        else {
          
$text trim(preg_replace("/$val/si"str_repeat($config['badword_replace_char'], strlen($val)), $text "));
        }
      }
    }
  }
  return 
$text;
}

function 
format_text($text$html 0$word_wrap 0$bbcode 0$bbcode_img 0) {
  if (
$word_wrap && $text != "") {
    
$text preg_replace("/([^\n\r ?&\.\/<>\"\\-]{".$word_wrap."})/i"" \\1\n"$text);
  }

  if (
$html == || $html == 2) {
    
$text safe_htmlspecialchars($text);
  }

  
// Replace { to prevent parsing in templates
  
global $site_template;
  
$text preg_replace(
    
'='.preg_quote($site_template->start).'([A-Z0-9_]+)'.preg_quote($site_template->end).'=Usi',
    
'&#38;#123;\1&#38;#125;',
    
$text
  
);

  if (
$html !== 2) {
    
$text nl2br(trim($text));
    
$text replace_url($text);
  }

  if (
$bbcode == 1) {
    
$search_array = array(
      
"/(\[)(list)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/list)(((=)(\\4)([^\"']*)(\\4]))|(\]))/siU",
      
"/(\[)(list)(])(.*)(\[\/list\])/siU",
      
"/(\[\*\])/siU",
      
"/(\[\/\*\])/siU",
      
"/(\[)(url)(=)(['\"]?)(www\.)([^\"']*)(\\4])(.*)(\[\/url\])/siU",
      
"/(\[)(url)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/url\])/siU",
      
"/(\[)(url)(])(www\.)([^\"]*)(\[\/url\])/siU",
      
"/(\[)(url)(])([^\"]*)(\[\/url\])/siU",
      
"/(\[)(code)(])(\r\n)*(.*)(\[\/code\])/siU",
      
"/javascript:/si",
      
"/about:/si"
    
);
    
$replace_array = array(
      
"<ol type=\"\\5\">\\7</ol>",
      
"<ul>\\4</ul>",
      
"<li>",
      
"</li>",
      
"<a href=\"http://www.\\6\" target=\"_blank\" rel=\"nofollow\">\\8</a>",
      
"<a href=\"\\5\" target=\"_blank\" rel=\"nofollow\">\\7</a>",
      
"<a href=\"http://www.\\5\" target=\"_blank\" rel=\"nofollow\">www.\\5</a>",
      
"<a href=\"\\4\" target=\"_blank\" rel=\"nofollow\">\\4</a>",
      
"<pre>Code:<hr size=1>\\5<hr size=1></pre>",
      
"java script:",
      
"about :"
    
);
    
$text preg_replace($search_array$replace_array$text);
    if (!
$bbcode_img)  {
      
$text preg_replace("/(\[)(img)(])(\r\n)*([^\"]*)(\[\/img\])/siU""<a href=\"\\5\" target=\"_blank\">\\5</a>"$text);
    }
    else  {
      
$text preg_replace("/(\[)(img)(])(\r\n)*([^\"]*)(\[\/img\])/siU""<img src=\"\\5\">"$text);
    }
    
$text preg_replace("/(\[)(b)(])(\r\n)*([^\"]*)(\[\/b\])/siU""<b>\\5</b>"$text);
    
$text preg_replace("/(\[)(i)(])(\r\n)*([^\"]*)(\[\/i\])/siU""<i>\\5</i>"$text);
    
$text preg_replace("/(\[)(u)(])(\r\n)*([^\"]*)(\[\/u\])/siU""<u>\\5</u>"$text);

    
$text replace_badwords($text);
  }

  
$text str_replace("\\'""'"$text);
    
// Smilie Mod
  
$text show_smilies($text);
  
// End Smilie Mod

  
return $text;
}

function 
utf8_to_htmlentities($source) {
  
// array used to figure what number to decrement from character order
  // value
  // according to number of characters used to map unicode to ascii by
  // utf-8
  
$decrement = array();
  
$decrement[4] = 240;
  
$decrement[3] = 224;
  
$decrement[2] = 192;
  
$decrement[1] = 0;

  
// the number of bits to shift each charNum by
  
$shift = array();
  
$shift[1][0] = 0;
  
$shift[2][0] = 6;
  
$shift[2][1] = 0;
  
$shift[3][0] = 12;
  
$shift[3][1] = 6;
  
$shift[3][2] = 0;
  
$shift[4][0] = 18;
  
$shift[4][1] = 12;
  
$shift[4][2] = 6;
  
$shift[4][3] = 0;

  
$pos 0;
  
$len strlen($source);
  
$str '';
  while (
$pos $len) {
    
$asciiPos ord(substr($source$pos1));
    if ((
$asciiPos >= 240) && ($asciiPos <= 255)) {
      
// 4 chars representing one unicode character
      
$thisLetter substr($source$pos4);
      
$pos += 4;
    }
    elseif ((
$asciiPos >= 224) && ($asciiPos <= 239)) {
      
// 3 chars representing one unicode character
      
$thisLetter substr($source$pos3);
      
$pos += 3;
    }
    else if ((
$asciiPos >= 192) && ($asciiPos <= 223)) {
      
// 2 chars representing one unicode character
      
$thisLetter substr($source$pos2);
      
$pos += 2;
    }
    else {
      
// 1 char (lower ascii)
      
$thisLetter substr($source$pos1);
      
$pos += 1;
    }

    
// process the string representing the letter to a unicode entity
    
$thisLen strlen($thisLetter);
    
$thisPos 0;
    
$decimalCode 0;

    while (
$thisPos $thisLen) {
      
$thisCharOrd ord(substr($thisLetter$thisPos1));
      if (
$thisPos == 0) {
        
$charNum intval($thisCharOrd $decrement[$thisLen]);
        
$decimalCode += ($charNum << $shift[$thisLen][$thisPos]);
      } else {
        
$charNum intval($thisCharOrd 128);
        
$decimalCode += ($charNum << $shift[$thisLen][$thisPos]);
      }
      
$thisPos++;
    }
    if ((
$thisLen == 1) && ($decimalCode <= 128)) {
      
$encodedLetter $thisLetter;
    }
    else {
      
$encodedLetter '&#38;#' $decimalCode ';';
    }
    
$str .= $encodedLetter;
  }
  return 
$str;
}

function 
uni_to_utf8($char) {
  
$char intval($char);

  switch (
$char) {
    case (
$char 128) :
      
// its an ASCII char no encoding needed
      
return chr($char);

    case (
$char << 11) :
      
// its a 2 byte UTF-8 char
      
return chr(192 + ($char >> 6)) .
             
chr(128 + ($char 63));

    case (
$char << 16) :
      
// its a 3 byte UTF-8 char
      
return chr(224 + ($char >> 12)) .
             
chr(128 + (($char >> 6) & 63)) .
             
chr(128 + ($char 63));

    case (
$char << 21) :
      
// its a 4 byte UTF-8 char
      
return chr(240 + ($char >> 18)) .
             
chr(128 + (($char >> 12) & 63)) .
             
chr(128 + (($char >>  6) & 63)) .
             
chr(128 + ($char 63));

    case (
$char << 26) :
      
// its a 5 byte UTF-8 char
      
return chr(248 + ($char >> 24)) .
             
chr(128 + (($char >> 18) & 63)) .
             
chr(128 + (($char >> 12) & 63)) .
             
chr(128 + (($char >> 6) & 63)) .
             
chr(128 + ($char 63));
    default:
      
// its a 6 byte UTF-8 char
      
return chr(252 + ($char >> 30)) .
             
chr(128 + (($char >> 24) & 63)) .
             
chr(128 + (($char >> 18) & 63)) .
             
chr(128 + (($char >> 12) & 63)) .
             
chr(128 + (($char >> 6) & 63)) .
             
chr(128 + ($char 63));
  }
}

// Smilie Mod
function show_smilies($text) {
    
$search_smilie  = array(":)",":-)",":smile:",    ":D",":-D",":grin:",           ":(",":-(",":sad:""8o","8-o",":shock",":eek:"":?:",      ":?",":-?",":???:",               "8)","8-)",":cool:",  ":x",":-x",":mad:"":p",":P",":-p",":-P",":razz:",     ":*",":-*",":oops:",           ":'(",":'-(",":cry:"">:(",">:-(",":evil:",  ":roll:",   ";)",";-)",":wink:",  ":|",":-|",":neutral:",        ":o",":-o",              ">:)",">:-)",":twisted:",      ":lol:","LOL"":!:",     ":idea:"":arrow:"":mrgreen:");
    
$replace_smilie = array("smile","smile","smile""biggrin","biggrin","biggrin""sad","sad","sad",  "eek","eek","eek","eek",     "question""confused","confused","confused""cool","cool","cool""mad","mad","mad",  "razz","razz","razz","razz","razz""redface","redface","redface""cry","cry","cry",    "evil""evil""evil""rolleyes""wink","wink","wink""neutral","neutral","neutral""surprised","surprised""twisted","twisted","twisted""lol","lol",     "exclaim""idea",   "arrow",   "mrgreen");
  for(
$smile=0;$smile<count($search_smilie);$smile++){
    
$text str_replace($search_smilie[$smile],"<img src=\"".TEMPLATE_PATH."/smilies/icon_".$replace_smilie[$smile].".gif\">",$text);
  }

  return 
$text;
}
// End Smilie Mod

function get_user_info($user_id 0) {
  global 
$site_db$user_table_fields;
  
$user_info 0;
  if (
$user_id != && $user_id != GUEST) {
    
$sql "SELECT *
            FROM "
.USERS_TABLE."
            WHERE "
.get_user_table_field("""user_id")." = $user_id";
    if (
$user_info $site_db->query_firstrow($sql)) {
      foreach (
$user_table_fields as $key => $val) {
        if (isset(
$user_info[$val])) {
          
$user_info[$key] = $user_info[$val];
        }
        elseif (!isset(
$user_info[$key])) {
          
$user_info[$key] = "";
        }
      }
    }
  }
  return 
$user_info;
}

function 
get_icq_status($uin) {
  if (!
is_numeric($uin)) return false;

  
$fp = @fsockopen('status.icq.com'80$errno$errstr8);
  if (!
$fp) return false;

  
$request "HEAD /online.gif?icq=$uin&img=3 HTTP/1.0\r\n"
            
."Host: status.icq.com\r\n"
            
."Connection: close\r\n\r\n";
  
fputs($fp$request);

  do {
     
$response fgets($fp1024);
  }
  while (!
feof($fp) && !stristr($response'Location'));

  
fclose($fp);
  if (
strstr($response'online1')) return 'online';
  if (
strstr($response'online0')) return 'offline';
  if (
strstr($response'online2')) return 'disabled';
  return 
FALSE;
}

function 
add_to_lightbox($id) {
  global 
$user_info$site_db;
  
$id intval($id);
  if (!
$id) {
    return 
false;
  }
  
$lightbox_ids $user_info['lightbox_image_ids'];
  
$lightbox_array explode(" "$lightbox_ids);
  if (!
in_array($id$lightbox_array)) {
    
$lightbox_ids .= " ".$id;
  }
  
$user_info['lightbox_image_ids'] = trim($lightbox_ids);
  
$user_info['lightbox_lastaction'] = time();
  
$sql "UPDATE ".LIGHTBOXES_TABLE."
          SET lightbox_lastaction = "
.$user_info['lightbox_lastaction'].", lightbox_image_ids = '".$user_info['lightbox_image_ids']."'
          WHERE user_id = "
.$user_info['user_id'];
  return (
$site_db->query($sql)) ? 0;
}

function 
remove_from_lightbox($id) {
  global 
$user_info$site_db;
  
$lightbox_array explode(" ",$user_info['lightbox_image_ids']);
  foreach (
$lightbox_array as $key => $val) {
    if (
$val == $id) {
      unset(
$lightbox_array[$key]);
    }
  }
  
$user_info['lightbox_image_ids'] = trim(implode(" "$lightbox_array));
  
$user_info['lightbox_lastaction'] = time();
  
$sql "UPDATE ".LIGHTBOXES_TABLE."
          SET lightbox_lastaction = "
.$user_info['lightbox_lastaction'].", lightbox_image_ids = '".$user_info['lightbox_image_ids']."'
          WHERE user_id = "
.$user_info['user_id'];
  return (
$site_db->query($sql)) ? 0;
}

function 
clear_lightbox() {
  global 
$user_info$site_db;
  
$current_time time();
  
$sql "UPDATE ".LIGHTBOXES_TABLE."
          SET lightbox_image_ids = '', lightbox_lastaction = 
$current_time
          WHERE user_id = "
.$user_info['user_id'];
  if (
$site_db->query($sql)) {
    
$user_info['lightbox_image_ids'] = "";
    
$user_info['lightbox_lastaction'] = $current_time;
    return 
true;
  }
  else {
    return 
false;
  }
}

function 
check_lightbox($id) {
  global 
$user_info;
  
$lightbox_array explode(" "$user_info['lightbox_image_ids']);
  return 
in_array($id$lightbox_array);
}

function 
get_random_key($db_table ""$db_column "") {
  global 
$site_db;
  
$key md5(uniqid(microtime()));
  if (
$db_table != "" && $db_column != "") {
    
$i 0;
    while (
$i == 0) {
      
$sql "SELECT ".$db_column."
              FROM "
.$db_table."
              WHERE "
.$db_column." = '$key'";
      if (
$site_db->is_empty($sql)) {
        
$i 1;
      }
      else {
        
$i 0;
        
$key md5(uniqid(microtime()));
      }
    }
  }
  return 
$key;
}

function 
get_subcat_ids($cid 0$cat_id 0$cat_parent_cache) {
  global 
$subcat_ids;

  if (!isset(
$cat_parent_cache[$cid])) {
    return 
false;
  }
  foreach (
$cat_parent_cache[$cid] as $key => $val) {
    if (
check_permission("auth_viewcat"$val)) {
      
$subcat_ids[$cat_id][] = $val;
      
get_subcat_ids($val$cat_id$cat_parent_cache);
    }
  }
  return 
$subcat_ids;
}

function 
get_subcategories($parent_id) {
  global 
$cat_parent_cache$cat_cache$site_sess$config;

  if (!isset(
$cat_parent_cache[$parent_id]) || $config['num_subcats'] < 1) {
    return 
"";
  }

  
$visible_cat_cache = array();
  foreach (
$cat_parent_cache[$parent_id] as $key => $val) {
    if (
check_permission("auth_viewcat"$val)) {
      
$visible_cat_cache[$key] = $val;
    }
  }

  
$num_subs sizeof($visible_cat_cache);
  
$sub_cat_list "";
  
$i 1;
  foreach (
$visible_cat_cache as $subcat_id) {
    if (
$i <= $num_subs && $i <= $config['num_subcats']) {
      
$sub_url $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$subcat_id);
      
$sub_cat_list .= "<a href=\"".$sub_url."\" class=\"subcat\">".format_text($cat_cache[$subcat_id]['cat_name'], 2)."</a>";
      if (
$i != $config['num_subcats'] && $i $config['num_subcats'] && $i $num_subs) {
        
$sub_cat_list .= ", ";
      }
      if (
$i == $config['num_subcats'] && $i $num_subs) {
        
$sub_cat_list .= " ...\n";
      }
    }
    
$i++;
  }
  return 
$sub_cat_list;
}

function 
get_categories($cat_id 0) {
  global 
$site_template$site_db$site_sess$config$lang;
  global 
$cat_cache$cat_parent_cache$new_image_cache$subcat_ids;

  
$cattable_width ceil((intval($config['cat_table_width'])) / $config['cat_cells']);
  if ((
substr($config['cat_table_width'],-1)) == "%") {
    
$cattable_width .= "%";
  }

  if (!isset(
$cat_parent_cache[$cat_id])) {
    return 
"";
  }

  
$visible_cat_cache = array();
  foreach (
$cat_parent_cache[$cat_id] as $key => $val) {
    if (
check_permission("auth_viewcat"$val)) {
      
$visible_cat_cache[$key] = $val;
    }
  }

  if (empty(
$visible_cat_cache)) {
    return 
"";
  }

  
$total sizeof($visible_cat_cache);
  
$table_columns = (intval($config['cat_cells'])) ? intval($config['cat_cells']) : 2;
  if (
$total <= $table_columns) {
    
$table_rows 1;
  }
  else {
    
$table_rows $total $table_columns;
    if (
$total >= $table_columns && !is_integer($table_rows)) {
      
$table_rows intval($table_rows) + 1;
    }
  }

  
$categories "\n<table width=\"".$config['cat_table_width']."\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n<tr>\n<td valign=\"top\" width=\"".$cattable_width."\" class=\"catbgcolor\">\n";
  
$categories .= "<table border=\"0\" cellpadding=\"".$config['cat_table_cellpadding']."\" cellspacing=\"".$config['cat_table_cellspacing']."\">\n";
  
$count 0;
  
$count2 0;
  foreach (
$visible_cat_cache as $key => $category_id) {
    
$categories .= "<tr>\n<td valign=\"top\">\n";

    
$is_new = (isset($new_image_cache[$category_id]) && $new_image_cache[$category_id] > 0) ? 0;
    
$num_images = (isset($cat_cache[$category_id]['num_images'])) ? $cat_cache[$category_id]['num_images'] : 0;

    
$subcat_ids = array();
    
get_subcat_ids($category_id$category_id$cat_parent_cache);

    if (isset(
$subcat_ids[$category_id])) {
      foreach (
$subcat_ids[$category_id] as $val) {
        if (isset(
$new_image_cache[$val]) && $new_image_cache[$val] > 0) {
          
$is_new 1;
        }
        if (isset(
$cat_cache[$val]['num_images'])) {
          
$num_images += $cat_cache[$val]['num_images'];
        }
      }
    }

    if (
defined("SHOW_RANDOM_IMAGE") && SHOW_RANDOM_IMAGE == || defined("SHOW_RANDOM_CAT_IMAGE") && SHOW_RANDOM_CAT_IMAGE == 0) {
      
$random_cat_image_file "";
    }
    else {
      
$random_cat_image_file get_random_image($category_id01);
    }

    
$site_template->register_vars(array(
      
"cat_id" => $category_id,
      
"cat_name" => format_text($cat_cache[$category_id]['cat_name'], 2),
      
"cat_description" => format_text($cat_cache[$category_id]['cat_description'], 1),
      
"cat_hits" => $cat_cache[$category_id]['cat_hits'],
      
"cat_is_new" => $is_new,
      
"lang_new" => $lang['new'],
      
"sub_cats" => get_subcategories($category_id),
      
"cat_url" => $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$category_id),
      
"random_cat_image_file" => $random_cat_image_file,
      
"num_images" => $num_images
    
));
    
$categories .= $site_template->parse_template("category_bit");
    
$count++;
    
$count2++;
    
$categories .= "</td>\n</tr>\n";

    if (
$count == $table_rows && $count2 sizeof($visible_cat_cache)) {
      
$categories .= "</table></td>\n";
      
$categories .= "<td valign=\"top\" width=\"".$cattable_width."\" class=\"catbgcolor\">\n";
      
$categories .= "<table border=\"0\" cellpadding=\"".$config['cat_table_cellpadding']."\" cellspacing=\"".$config['cat_table_cellspacing']."\">\n";

      
$total $total $count2;
      
$table_columns $table_columns 1;
      
/*if ($total <= $table_columns && $table_columns > 1) {
        $table_rows = 1;
      }
      else {
        $table_rows = $total / $table_columns;
        if ($total >= $table_columns && !is_integer($table_rows)) {
          $table_rows = intval($table_rows) + 1;
        }
      }*/
      
$count 0;
    }
  }

  
$categories .= "</table>\n</td>\n</tr>\n</table>\n";
  return 
$categories;
}

function 
get_category_path($cat_id 0$detail_path 0) {
  global 
$site_sess$config$cat_cache$url;
  
$parent_id 1;
  while (
$parent_id) {
    if (!isset(
$cat_cache[$cat_id]['cat_parent_id'])) {
      return 
false;
    }
    
$parent_id $cat_cache[$cat_id]['cat_parent_id'];

    if (empty(
$path)) {
      if (
$detail_path) {
        
$cat_url ROOT_PATH."categories.php?".URL_CAT_ID."=".$cat_id;
        if (
preg_match("/".URL_PAGE."=([0-9]+)/"$url$regs)) {
          if (!empty(
$regs[1]) && $regs[1] != 1) {
            
$cat_url .= "&amp;".URL_PAGE."=".$regs[1];
          }
        }
        
$path "<a href=\"".$site_sess->url($cat_url)."\" class=\"clickstream\">".format_text($cat_cache[$cat_id]['cat_name'], 2)."</a>";
      }
      else  {
        
$path format_text($cat_cache[$cat_id]['cat_name'], 2);
      }
    }
    else {
      
$path "<a href=\"".$site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$cat_id)."\" class=\"clickstream\">".format_text($cat_cache[$cat_id]['cat_name'], 2)."</a>".$config['category_separator'].$path;
    }
    
$cat_id $parent_id;
  } 
// end while
  
return $path;
}

function 
get_category_dropdown_bits($cat_id$cid 0$depth 1) {
  global 
$site_db$drop_down_cat_cache$cat_cache;

  if (!isset(
$drop_down_cat_cache[$cid])) {
    return 
"";
  }
  
$category_list "";
  foreach (
$drop_down_cat_cache[$cid] as $key => $category_id) {
    if (
check_permission("auth_viewcat"$category_id)) {
      
$category_list .= "<option value=\"".$category_id."\"";
      if (
$cat_id == $category_id) {
        
$category_list .= " selected=\"selected\"";
      }
      if (
$cat_cache[$category_id]['cat_parent_id'] == 0) {
        
$category_list .= " class=\"dropdownmarker\"";
      }

      if (
$depth 1) {
        
$category_list .= ">".str_repeat("--"$depth 1)." ".format_text($cat_cache[$category_id]['cat_name'], 2)."</option>\n";
      }
      else {
        
$category_list .= ">".format_text($cat_cache[$category_id]['cat_name'], 2)."</option>\n";
      }
      
$category_list .= get_category_dropdown_bits($cat_id$category_id$depth 1);
    }
  }
  unset(
$drop_down_cat_cache[$cid]);
  return 
$category_list;
}

function 
get_category_dropdown($cat_id$jump 0$admin 0$i 0) {
  global 
$lang$drop_down_cat_cache$cat_parent_cache;
  
// $admin = 1  Main Cat (update/add cats)
  // $admin = 2  All Cats (find/validate images...)
  // $admin = 3  Select Cat (update/add image)
  // $admin = 4  No Cat (check new images)

  
switch ($admin) {
  case 
1:
    
$category "\n<select name=\"cat_parent_id\" class=\"categoryselect\">\n";
    
$category .= "<option value=\"0\">".$lang['main_category']."</option>\n";
    
$category .= "<option value=\"0\">--------------</option>\n";
    break;

  case 
2:
    
$category "\n<select name=\"cat_id\" class=\"categoryselect\">\n";
    
$category .= "<option value=\"0\">".$lang['all_categories']."</option>\n";
    
$category .= "<option value=\"0\">-------------------------------</option>\n";
    break;

  case 
3:
    
$i = ($i) ? "_".$i "";
    
$category "\n<select name=\"cat_id".$i."\" class=\"categoryselect\">\n";
    
$category .= "<option value=\"0\">".$lang['select_category']."</option>\n";
    
$category .= "<option value=\"0\">-------------------------------</option>\n";
    break;

  case 
4:
    
$category "\n<select name=\"cat_id\" class=\"categoryselect\">\n";
    
$category .= "<option value=\"0\">".$lang['no_category']."</option>\n";
    
$category .= "<option value=\"0\">-------------------------------</option>\n";
    break;

  case 
0:
  default:
    if (
$jump) {
      
$category "\n<select name=\"".URL_CAT_ID."\" onchange=\"if (this.options[this.selectedIndex].value != 0){ forms['jumpbox'].submit() }\" class=\"categoryselect\">\n";
    }
    else {
      
$category "\n<select name=\"".URL_CAT_ID."\" class=\"categoryselect\">\n";
    }
    
$category .= "<option value=\"0\">".$lang['select_category']."</option>\n";
    
$category .= "<option value=\"0\">-------------------------------</option>\n";
  } 
// end switch

  
$drop_down_cat_cache = array();
  
$drop_down_cat_cache $cat_parent_cache;
  
$category .= get_category_dropdown_bits($cat_id);
  
$category .= "</select>\n";
  return 
$category;
}

function 
show_error_page($error_msg$clickstream "") {
  global 
$site_template$site_sess$lang$config;
  if (empty(
$clickstream)) {
    
$clickstream "<a href=\"".$site_sess->url(ROOT_PATH."index.php")."\">".$lang['home']."</a>".$config['category_separator'].$lang['error'];
  }
  
$site_template->register_vars(array(
    
"error_msg" => $error_msg,
    
"lang_error" => $lang['error'],
    
"clickstream" => $clickstream,
    
"random_image" => ""
  
));
  
$site_template->print_template($site_template->parse_template("error"));
  exit;
}

function 
get_mysql_version() {
  global 
$global_info$site_db;
  if (!empty(
$global_info['mysql_version'])) {
    return 
$global_info['mysql_version'];
  }
  
$split_info = array();
  if (
$row $site_db->query_firstrow("SELECT VERSION() AS version")) {
    
$split_info explode('.'$row['version']);
  }
  else {
    if (
$row $site_db->query_firstrow("SHOW VARIABLES LIKE 'version'")){
      
$split_info explode('.'$row[1]);
    }
  }
  
$first  = (empty($split_info) || empty($split_info[0])) ? intval($split_info[0]);
  
$second = (empty($split_info[1])) ? 21 intval($split_info[1]);
  
$third  = (empty($split_info[2])) ? intval($split_info[2]);
  
$global_info['mysql_version'] = sprintf('%d%02d%02d'$first$second$third);
  return 
$global_info['mysql_version'];
}

function 
get_php_version() {
  global 
$global_info;
  if (!empty(
$global_info['php_version'])) {
    return 
$global_info['php_version'];
  }
  
$split_info = array();
  
preg_match("/([0-9]{1,2})\.([0-9]{1,2})(\.([0-9]{1,2}))?/"phpversion(), $split_info);

  
$global_info['php_version'] = 0;
  if (!empty(
$split_info) && !empty($split_info[1])) {
    
$first  intval($split_info[1]);
    
$second = (empty($split_info[2])) ? intval($split_info[2]);
    
$third  = (empty($split_info[4])) ? intval($split_info[4]);
    
$global_info['php_version'] = sprintf('%d%02d%02d'$first$second$third);
  }
  return 
$global_info['php_version'];
}

function 
get_user_os() {
  global 
$global_info$HTTP_USER_AGENT$HTTP_SERVER_VARS;
  if (!empty(
$global_info['user_os'])) {
    return 
$global_info['user_os'];
  }
  if (!empty(
$HTTP_SERVER_VARS['HTTP_USER_AGENT'])) {
    
$HTTP_USER_AGENT $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
  }
  elseif (
getenv("HTTP_USER_AGENT")) {
    
$HTTP_USER_AGENT getenv("HTTP_USER_AGENT");
  }
  elseif (empty(
$HTTP_USER_AGENT)) {
    
$HTTP_USER_AGENT "";
  }
  if (
eregi("Win"$HTTP_USER_AGENT)) {
    
$global_info['user_os'] = "WIN";
  }
  elseif (
eregi("Mac"$HTTP_USER_AGENT)) {
    
$global_info['user_os'] = "MAC";
  }
  else {
    
$global_info['user_os'] = "OTHER";
  }
  return 
$global_info['user_os'];
}

function 
get_browser_info() {
  global 
$global_info$HTTP_USER_AGENT$HTTP_SERVER_VARS;
  if (!empty(
$global_info['browser_agent'])) {
    return 
$global_info['browser_agent'];
  }
  if (!empty(
$HTTP_SERVER_VARS['HTTP_USER_AGENT'])) {
    
$HTTP_USER_AGENT $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
  }
  elseif (
getenv("HTTP_USER_AGENT")) {
    
$HTTP_USER_AGENT getenv("HTTP_USER_AGENT");
  }
  elseif (empty(
$HTTP_USER_AGENT)) {
    
$HTTP_USER_AGENT "";
  }
  if (
eregi("MSIE ([0-9].[0-9]{1,2})"$HTTP_USER_AGENT$regs)) {
    
$global_info['browser_agent'] = "MSIE";
    
$global_info['browser_version'] = $regs[1];
  }
  elseif (
eregi("Mozilla/([0-9].[0-9]{1,2})"$HTTP_USER_AGENT$regs)) {
    
$global_info['browser_agent'] = "MOZILLA";
    
$global_info['browser_version'] = $regs[1];
  }
  elseif (
eregi("Opera(/| )([0-9].[0-9]{1,2})"$HTTP_USER_AGENT$regs)) {
    
$global_info['browser_agent'] = "OPERA";
    
$global_info['browser_version'] = $regs[2];
  }
  else {
    
$global_info['browser_agent'] = "OTHER";
    
$global_info['browser_version'] = 0;
  }
  return 
$global_info['browser_agent'];
}

function 
get_document_root() {
  global 
$global_info$DOCUMENT_ROOT$HTTP_SERVER_VARS;
  if (!empty(
$global_info['document_root'])) {
    return 
$global_info['document_root'];
  }
  if (!empty(
$HTTP_SERVER_VARS['DOCUMENT_ROOT'])) {
    
$DOCUMENT_ROOT $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
  }
  elseif (
getenv("DOCUMENT_ROOT")) {
    
$DOCUMENT_ROOT getenv("DOCUMENT_ROOT");
  }
  elseif (empty(
$DOCUMENT_ROOT)) {
    
$DOCUMENT_ROOT "";
  }
  return 
$global_info['document_root'] = $DOCUMENT_ROOT;
}

function 
remote_file_exists($url$check_remote CHECK_REMOTE_FILES) { // similar to file_exists(), checks existence of remote files
  
if (!$check_remote || !CHECK_REMOTE_FILES) {
    return 
true;
  }
  
$url trim($url);
  if (!
preg_match("=://="$url)) $url "http://$url";
  if (!(
$url = @parse_url($url))) {
    return 
false;
  }
  if (!
eregi("http"$url['scheme'])) {
    return 
false;
  }
  
$url['port'] = (!isset($url['port'])) ? 80 $url['port'];
  
$url['path'] = (!isset($url['path'])) ? "/" $url['path'];
  
$fp fsockopen($url['host'], $url['port'], $errno$errstr30);
  if (!
$fp) {
    return 
false;
  }
  else {
    
$head "";
    
$httpRequest "HEAD ".$url['path']." HTTP/1.1\r\n"
                  
."HOST: ".$url['host']."\r\n"
                  
."Connection: close\r\n\r\n";
    
fputs($fp$httpRequest);
    while (!
feof($fp)) {
      
$head .= fgets($fp1024);
    }
    
fclose($fp);

    
preg_match("=^(HTTP/\d+\.\d+) (\d{3}) ([^\r\n]*)="$head$matches);
    if (
$matches[2] == 200) {
      return 
true;
    }
  }
}

if (!
function_exists('is_executable')) {
  function 
is_executable($file) {
    return 
is_file($file);
  }
}

if (!
function_exists('session_regenerate_id')) {
  function 
session_regenerate_id() {
   
$id md5(uniqid(microtime()));
   if (
session_id($id)) {
     return 
true;
   } else {
     return 
false;
   }
  }
}

function 
get_mime_content_type($file) {
    if (
function_exists('mime_content_type')) {
      
$type mime_content_type($file);
      if (
$type) {
        return 
$type;
      }
    }

    
$info = @getimagesize($file);

    if (isset(
$info['mime'])) {
      return 
$info['mime'];
    }

    
$type = @exec(trim('file -bi '.escapeshellarg($file)));

    if (
strpos($type';') !== false) {
      list(
$type) = explode(';'$type);
    }

    if (
$type) {
      return 
$type;
    }

    static 
$types = array(
      
'ai' => 'application/postscript',
     
'aif' => 'audio/x-aiff',
    
'aifc' => 'audio/x-aiff',
    
'aiff' => 'audio/x-aiff',
     
'asc' => 'text/plain',
      
'au' => 'audio/basic',
     
'avi' => 'video/x-msvideo',
   
'bcpio' => 'application/x-bcpio',
     
'bin' => 'application/octet-stream',
       
'c' => 'text/plain',
      
'cc' => 'text/plain',
    
'ccad' => 'application/clariscad',
     
'cdf' => 'application/x-netcdf',
   
'class' => 'application/octet-stream',
    
'cpio' => 'application/x-cpio',
     
'cpt' => 'application/mac-compactpro',
     
'csh' => 'application/x-csh',
     
'css' => 'text/css',
     
'dcr' => 'application/x-director',
     
'dir' => 'application/x-director',
     
'dms' => 'application/octet-stream',
     
'doc' => 'application/msword',
     
'drw' => 'application/drafting',
     
'dvi' => 'application/x-dvi',
     
'dwg' => 'application/acad',
     
'dxf' => 'application/dxf',
     
'dxr' => 'application/x-director',
     
'eps' => 'application/postscript',
     
'etx' => 'text/x-setext',
     
'exe' => 'application/octet-stream',
      
'ez' => 'application/andrew-inset',
       
'f' => 'text/plain',
     
'f90' => 'text/plain',
     
'fli' => 'video/x-fli',
     
'gif' => 'image/gif',
    
'gtar' => 'application/x-gtar',
      
'gz' => 'application/x-gzip',
       
'h' => 'text/plain',
     
'hdf' => 'application/x-hdf',
      
'hh' => 'text/plain',
     
'hqx' => 'application/mac-binhex40',
     
'htm' => 'text/html',
    
'html' => 'text/html',
     
'ice' => 'x-conference/x-cooltalk',
     
'ief' => 'image/ief',
    
'iges' => 'model/iges',
     
'igs' => 'model/iges',
     
'ips' => 'application/x-ipscript',
     
'ipx' => 'application/x-ipix',
     
'jpe' => 'image/jpeg',
    
'jpeg' => 'image/jpeg',
     
'jpg' => 'image/jpeg',
      
'js' => 'application/x-javascript',
     
'kar' => 'audio/midi',
   
'latex' => 'application/x-latex',
     
'lha' => 'application/octet-stream',
     
'lsp' => 'application/x-lisp',
     
'lzh' => 'application/octet-stream',
       
'm' => 'text/plain',
     
'man' => 'application/x-troff-man',
      
'me' => 'application/x-troff-me',
    
'mesh' => 'model/mesh',
     
'mid' => 'audio/midi',
    
'midi' => 'audio/midi',
     
'mif' => 'application/vnd.mif',
    
'mime' => 'www/mime',
     
'mov' => 'video/quicktime',
   
'movie' => 'video/x-sgi-movie',
     
'mp2' => 'audio/mpeg',
     
'mp3' => 'audio/mpeg',
     
'mpe' => 'video/mpeg',
    
'mpeg' => 'video/mpeg',
     
'mpg' => 'video/mpeg',
    
'mpga' => 'audio/mpeg',
      
'ms' => 'application/x-troff-ms',
     
'msh' => 'model/mesh',
      
'nc' => 'application/x-netcdf',
     
'oda' => 'application/oda',
     
'pbm' => 'image/x-portable-bitmap',
     
'pdb' => 'chemical/x-pdb',
     
'pdf' => 'application/pdf',
     
'pgm' => 'image/x-portable-graymap',
     
'pgn' => 'application/x-chess-pgn',
     
'png' => 'image/png',
     
'pnm' => 'image/x-portable-anymap',
     
'pot' => 'application/mspowerpoint',
     
'ppm' => 'image/x-portable-pixmap',
     
'pps' => 'application/mspowerpoint',
     
'ppt' => 'application/mspowerpoint',
     
'ppz' => 'application/mspowerpoint',
     
'pre' => 'application/x-freelance',
     
'prt' => 'application/pro_eng',
      
'ps' => 'application/postscript',
      
'qt' => 'video/quicktime',
      
'ra' => 'audio/x-realaudio',
     
'ram' => 'audio/x-pn-realaudio',
     
'ras' => 'image/cmu-raster',
     
'rgb' => 'image/x-rgb',
      
'rm' => 'audio/x-pn-realaudio',
    
'roff' => 'application/x-troff',
     
'rpm' => 'audio/x-pn-realaudio-plugin',
     
'rtf' => 'text/rtf',
     
'rtx' => 'text/richtext',
     
'scm' => 'application/x-lotusscreencam',
     
'set' => 'application/set',
     
'sgm' => 'text/sgml',
    
'sgml' => 'text/sgml',
      
'sh' => 'application/x-sh',
    
'shar' => 'application/x-shar',
    
'silo' => 'model/mesh',
     
'sit' => 'application/x-stuffit',
     
'skd' => 'application/x-koan',
     
'skm' => 'application/x-koan',
     
'skp' => 'application/x-koan',
     
'skt' => 'application/x-koan',
     
'smi' => 'application/smil',
    
'smil' => 'application/smil',
     
'snd' => 'audio/basic',
     
'sol' => 'application/solids',
     
'spl' => 'application/x-futuresplash',
     
'src' => 'application/x-wais-source',
    
'step' => 'application/STEP',
     
'stl' => 'application/SLA',
     
'stp' => 'application/STEP',
'sv4cpio' => 'application/x-sv4cpio',
  
'sv4crc' => 'application/x-sv4crc',
     
'swf' => 'application/x-shockwave-flash',
       
't' => 'application/x-troff',
     
'tar' => 'application/x-tar',
     
'tcl' => 'application/x-tcl',
     
'tex' => 'application/x-tex',
    
'texi' => 'application/x-texinfo',
  
'texinfo -  application/x-texinfo',
     
'tif' => 'image/tiff',
    
'tiff' => 'image/tiff',
      
'tr' => 'application/x-troff',
     
'tsi' => 'audio/TSP-audio',
     
'tsp' => 'application/dsptype',
     
'tsv' => 'text/tab-separated-values',
     
'txt' => 'text/plain',
     
'unv' => 'application/i-deas',
   
'ustar' => 'application/x-ustar',
     
'vcd' => 'application/x-cdlink',
     
'vda' => 'application/vda',
     
'viv' => 'video/vnd.vivo',
    
'vivo' => 'video/vnd.vivo',
    
'vrml' => 'model/vrml',
     
'wav' => 'audio/x-wav',
     
'wrl' => 'model/vrml',
     
'xbm' => 'image/x-xbitmap',
     
'xlc' => 'application/vnd.ms-excel',
     
'xll' => 'application/vnd.ms-excel',
     
'xlm' => 'application/vnd.ms-excel',
     
'xls' => 'application/vnd.ms-excel',
     
'xlw' => 'application/vnd.ms-excel',
     
'xml' => 'text/xml',
     
'xpm' => 'image/x-xpixmap',

     
'xwd' => 'image/x-xwindowdump',
     
'xyz' => 'chemical/x-pdb',
     
'zip' => 'application/zip',
    );

    
$ext get_file_extension($file);

    if (isset(
$types[$ext])) {
        return 
$types[$ext];
    }

    return 
'application/octet-stream';
}

?>

1717
Mods & Plugins (Requests & Discussions) / Style-Changer
« on: April 02, 2008, 06:55:08 AM »
Hallo,

ist es möglich einen Style-Changer zu nutzen?

Also nehmen wir mal an ich habe eine Style, welches aber in verschiedenen Farben gibt... man möchte den Usern diese anbiten, also das die User auswählen können welchen Style sie nutzen wollten ob rot, blau oder grün..

ist das zu realisieren? mit verschiedenen index dateien oderso?

1718
Mods & Plugins (Requests & Discussions) / Bilder Automatisch umwandeln
« on: April 02, 2008, 02:23:32 AM »
Hallo,

gibt eine Möglichkeit, dass wenn User z.B Bilder in dem Format bmp hochladen wollen, dass dieses Bild automatisch beim hochladen in JPG oder gif umgewandelt werden? Ist dafür dieses ImageMagick oderso zuständig?

1719
geht das auch mit der 1.7.6 ?

1720
Wie ist das denn gemeint mit ausserhalb der Gallerie?
Also nicht in dem Footer? Wo denn dann?
Kannst du mir eventuell eine kleine Hilfestellung geben?

1721
Ist es denn anders garnicht möglich?

1722
Discussion & Troubleshooting / Objekt / Flash - Neuladung unterbinden
« on: March 31, 2008, 11:39:44 PM »
Hallo zusammen,

habe auf meiner Seite in der footer.html ein mp3 Player eingebunden. Dieser wird auch ordnungsgemäß angezeigt, so wie auch spielt er die Lieder ab! Allerdings ist es aber etwas doof, wenn man durch die Seite sufrt, das der Player nach jedem Seitenaufruf neulädt. Ist es möglich das dies nicht passiert? Kann man das unterbinden? Oder muss der MP3 Player sinnvoller eingebunden werden?

1723
Mods & Plugins (Releases & Support) / Re: [Mod] User upload limits
« on: March 29, 2008, 02:48:25 AM »
Das läuft aber nicht mit der aktuellebn Version oder?

Ich habe die Dateien angepasst wie beschrieben (Und ja ich kann das, ist nur Copy&Paste und ich habe mehrere CMS System mit Plugins und Mods bestückt), dennoch klappt es nicht! Im Mysql steht das dass Limit auf 3 wäre, wenn ich aber die Install erneut ausführen will, kommt:

Quote
An unexpected error occured. Please try again later.

An unexpected error occured. Please try again later.

Was kann ich tun?

http://www.4homepages.de/forum/index.php?topic=20997.new#new

1724
Mods & Plugins (Requests & Discussions) / Re: Upload Limit
« on: March 29, 2008, 12:13:10 AM »
Das bekomme ich auch! Was kann man dagegen tun? Wäre schön wenn der Verfasser sich melden würde oder jemand anderes uns beraten kann!

Quote
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/web937/html/cbvote/member.php on line 775

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/web937/html/cbvote/member.php on line 750

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/web937/html/cbvote/member.php on line 755

Ebenso kann ich ganz normal die Bilder hochladen!

1725
Super danke, da gibt es aber ein Problem! Die Datei dort kann man nicht mehr downloaden! Was kann ich jetzt tun? Hat die jemand vieleicht?

Hab gesehen das diese auch als Anhang vorhanden ist!

Pages: 1 ... 111 112 113 114 [115] 116