• Signature image v2.3 5 0 5 1
Currently:  

Author Topic: Signature image v2.3  (Read 618769 times)

0 Members and 1 Guest are viewing this topic.

Offline x23piracy

  • Sr. Member
  • ****
  • Posts: 420
    • View Profile
    • FHG
Re: Signature image v2.3
« Reply #435 on: October 04, 2010, 06:23:02 PM »
Hi,

someone know how to set transparency to the thumb that is layered on the signature background?
I have only png's in my gallery (with transparencys & rounded corners).

If the signature image is created the transparency parts of the pngs go black, so there is always
a (border) around those icons.

Can someone tell me what to change in signature.php for getting transparency?

Example Image:


The right point in the sourcecode should be:

Code: [Select]
   $th = "imagecreatefrom".$types[$image_info[2]];
or that?:

Code: [Select]
   $temp = imagecreateTrueColor($width_end, $height_end);
    if ($image = $th($thumb))
    {
      imagecopyresampled($temp, $image, 0, 0, 0, 0, $width_end, $height_end, ImageSX($image), ImageSY($image));
    }

If have tried around with this:


suche in include/image_utils.php:
$thumb imagecreatetruecolor($width$height);
füge darunter ein:
 if (in_array("png"$types)) {
      
imagealphablending($thumbfalse);
      
imagesavealpha($thumbtrue);
    }


Maybe it's the right code but the wrong position in source?

Who knows it?


Greetz Jens
« Last Edit: October 04, 2010, 07:14:38 PM by x23piracy »

Don't trust in md5 it's unsafe change your 4i galerys password hash algorythm! second pw db field, create new hashes over some time, deny old hash. Help members that cry, send informationen mail to the rest. Camouflage new pw hash in cookie. Done!

--(◔̯◔)--

Offline Nosferatu

  • Full Member
  • ***
  • Posts: 230
    • View Profile
    • Project-Firepower
Re: Signature image v2.3
« Reply #436 on: December 11, 2010, 04:02:06 PM »
hallo,

wie kann ich bilder anzeigen lassen ??

ich hab immer dieses JPEG bild
http://www.pj-firepower.com/picgallerie/signature.php

Edit: konnte den einen Fehler beheben, aber manchmal wird eine Leere seite angeizeigt, weiß jemand warum ?

gruß Jeff
« Last Edit: December 11, 2010, 04:27:10 PM by Nosferatu »

Offline wassimo

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Signature image v2.3
« Reply #437 on: January 28, 2011, 04:08:45 PM »
thanks ,  How did u know that i love MTV logo ^-^

Offline Markus/TSC

  • Jr. Member
  • **
  • Posts: 53
    • View Profile
Re: Signature image v2.3
« Reply #438 on: August 01, 2011, 08:36:50 PM »
Works great, thank you!

Offline ciprianmp

  • Newbie
  • *
  • Posts: 29
  • Php just rocks!
    • View Profile
    • My site
Re: Signature image v2.3
« Reply #439 on: February 04, 2012, 09:23:15 AM »
V@no, do you have any idea of other OSI servers/hosts? (onlinestatus.org seems not updated for 3 years now)

Offline wallward

  • Jr. Member
  • **
  • Posts: 54
    • View Profile
Re: Signature image v2.3
« Reply #440 on: May 21, 2012, 08:02:33 PM »
not work :(
please see link:
http://www.wallward.net/signature.php

Offline Nosferatu

  • Full Member
  • ***
  • Posts: 230
    • View Profile
    • Project-Firepower
Re: Signature image v2.3
« Reply #441 on: June 17, 2012, 09:07:07 AM »
hi,

I had also some problems ;)

import is the place where yous signature.php is and the jpeg.gif and the signature.png

signature.php and jpeg.gif is in my Main directory, the signature.png is in /signature/signature.png

Thats my code:

Code: [Select]
<?php
##################################
#   signature.php version 2.3    #
# - - - - - - - - - - - - - - - -#
# Copyright © V@no 2004-ETERNiTY #
##################################
#                                #
#         TERMS OF USE           #
#                                #
#    NO PORNOGRAPHY OR ANY       #
#    OTHER PICTURES THAT COULD   #
#    BE TREATED AS OFFENSIVE     #
#    MAY BE SHOWED ON 4IMAGES    #
#    FORUM OR ANYWHERE ELSE      #
#    WHERE ITS NOT ACCEPTIBLE.   #
#                                #
#     PLEASE RESPECT OTHERS!     #
#                                #
##################################

// ------- Config -----------
$random_image 1//show random image
$random_fast 0//if your mysql account doesn't have permission to create/delete temporary tables, set this to 0
$debug 0//turning this on, will ignore expiration time, meaning every request will create a new image. change this to 0 before u publish your signature!
$expire 10//seconds before image will be expired and recompilled with new random image and information (lower this will encrease server load!)
$type "png"//image type: png or jpeg
$quality "50"//image quality when used jpeg
define('ROOT_PATH''./'); //path to your 4images root dir with trailing slash! must be ralative ( ./ or ../ or combination of these) and NOT full internet or local (http://example/4images/ or /www/blah/4images/)
$signature_template_dir "./signatures/"//directory with signature template images WITH TRAILING SLASH!!!
$signature_template "signature6.png"//default signature template image filename
$signature_template_random 0//use random template image? (0 = no | 1 = yes)
$path "/tmp/"// WRITEBLE dir (chmod 777), where compilled image will be stored (does not requere access from web)
$tmpfname $path."signature.tmp"// filename for the compilled image (extension does not metter)
$tmptname $path."signature.id"// filename for the file where some extra info will be stored in (image id)
$template "default_full"//name of the template which icons will be used, if thumbnail not found
$sitename "Project-Firepower Gallery"//signature header
$fonts_dir ""//directory with custom fonts WITH TRAILING SLASH! (leave blank if no fonts)
$fonts = array(); // an array with font names the first number is the number that u can use in $fsize variable, it must be sequenced! and first item must have number 6 or larger!
/*
//an example array:
$fonts = array(
               6  => "micross8px.gdf",
               7  => "micross9px.gdf",
               8  => "micross10px.gdf",
               9  => "micross12px.gdf"
);
*/
$fsize 2//font type (1 to 5 for build-in fonts and 6 to XX for your custom fonts (see $font array above)
$offset 7//offset from the left, right and bottom, uses for random image and the text (not used if random image disabled)
$offset2 99//extra offset from the left (place where random image will be embeded if its enabled. Not used if random image disabled)
$spacing 11//height of each line of text
$start 21//offset from top (space where header shows)
$tiny 9//an extra space at the begining of each line (needed for offset from the random image space)
$not_in_cat "0"//list of categories which should not be included for random image, separated by coma (i.e. "1,2,3,7") "0" - means disabled
$auth 0//permission level for auth_viewimage (0 = All, 2 = Members, 3 = Private or 9 = Admin) Refer in /includes/constants.php
$peruser 1//alow per user random image (images uploaded by XX user. Usage: signature.php?user=XX)
$noimage "jpeg.gif"//icon name if no random image was found
$new_cutoff 7//Days when images treated as new
$lang_images "Images: ";
$lang_users "Members: ";
$lang_cat "Categories: ";
$lang_new_user "Newest member: ";
$lang_online "Online: ";
$lang_comments "Comments: ";
// --------- End Config ----------

$peruser = ($peruser && isset($_GET['user']) && intval($_GET['user'])) ? intval($_GET['user']) : "";
$tmpfname .= $peruser;
$tmptname .= $peruser;
if (isset(
$_GET['go']) && $_GET['go'])
{
  if (
$handle = @fopen($tmptname"rb"))
  {
    while (!
feof($handle))
    {
      
$buffer fgets($handle4096);
      
$imgid intval($buffer);
    }
    
fclose($handle);
  }
  
$nozip 1;
  
define('GET_CACHES'1);
  include(
ROOT_PATH.'global.php');
  require(
ROOT_PATH.'includes/sessions.php');
  
$user_access get_permission();
  
$url $site_sess->url(ROOT_PATH."index.php""&");
  if (
$imgid && $random_image)
  {
    
$sql "SELECT cat_id
            FROM "
.IMAGES_TABLE."
            WHERE image_id = 
$imgid";
    if (
$row $site_db->query_firstrow($sql))
    {
      if (
check_permission("auth_viewcat"$row['cat_id']) || check_permission("auth_viewimage"$row['cat_id']))
      {
        
$url = (check_permission("auth_viewimage"$row['cat_id']) && check_permission("auth_viewcat"$row['cat_id'])) ? $site_sess->url(ROOT_PATH."details.php?image_id=".$imgid) : ((check_permission("auth_viewcat"$row['cat_id'])) ? $site_sess->url(ROOT_PATH."categories.php?cat_id=".$row['cat_id']) : $url);
      }
    }
  }
  if (!
function_exists("redirect"))
  {
    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;
    }
  }
  
redirect($url);
}
$imageid 0;
$time = @filemtime($tmpfname);
if (
$handle = @fopen($tmptname"r"))
{
  if (!
feof($handle))
  {
    
$buffer fgets($handle4096);
    
$imageid intval($buffer);
  }
  
fclose($handle);
}
$current_time time();
if (!
$time || (($current_time $time) > $expire || ($current_time $time) < 0) || $debug)
{
  
$show = array();
  include(
ROOT_PATH.'config.php');
  include(
ROOT_PATH.'includes/constants.php');
  include(
ROOT_PATH.'includes/db_mysql.php');
  
define('MEDIA_PATH'ROOT_PATH.MEDIA_DIR);
  
define('THUMB_PATH'ROOT_PATH.THUMB_DIR);
  
define('MEDIA_TEMP_PATH'ROOT_PATH.MEDIA_TEMP_DIR);
  
define('THUMB_TEMP_PATH'ROOT_PATH.THUMB_TEMP_DIR);
  
define('TEMPLATE_PATH'ROOT_PATH.TEMPLATE_DIR."/".$template);
  
define('ICON_PATH'ROOT_PATH.TEMPLATE_DIR."/".$template."/icons");
  include(
ROOT_PATH.'includes/functions.php');
  
$site_db = new Db($db_host$db_user$db_password$db_name);

// --- Random image -----
  
if ($random_image)
  {
    if (
$random_fast)
    {
      
mt_srand((double)microtime() * intval(session_id()));
      
$temptab "tab_".mt_rand(0,1000000);
      
$sql "CREATE TEMPORARY TABLE ".$temptab." TYPE  =  HEAP
              SELECT i.image_id, i.cat_id
              FROM "
.IMAGES_TABLE." i
              LEFT JOIN "
.CATEGORIES_TABLE." c ON c.cat_id = i.cat_id
              WHERE i.image_active = 1 AND c.auth_viewcat = 
$auth AND i.cat_id NOT IN ($not_in_cat)".(($peruser) ? " AND i.user_id = ".$peruser "").(($imageid) ? " AND i.image_id <> ".$imageid "")."
              ORDER  BY RAND()
              LIMIT 1"
;
      
$result $site_db->query($sql);
      
$sql "SELECT t.image_id, t.cat_id, i.user_id, i.image_name, i.image_media_file, i.image_thumb_file
              FROM "
.$temptab." AS t
              LEFT JOIN "
.IMAGES_TABLE." AS i ON i.image_id=t.image_id";
      
$imagedata $site_db->query_firstrow($sql);
      
$sql "DROP TABLE ".$temptab;
      
$result $site_db->query($sql);
    }
    else
    {
      
$sql "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_media_file, i.image_thumb_file
              FROM "
.IMAGES_TABLE." i
              LEFT JOIN "
.CATEGORIES_TABLE." c ON c.cat_id = i.cat_id
              WHERE i.image_active = 1 AND c.auth_viewcat = 
$auth AND i.cat_id NOT IN ($not_in_cat)".(($peruser) ? " AND i.user_id = ".$peruser "").(($imageid) ? " AND i.image_id <> ".$imageid "")."
              ORDER  BY RAND()
              LIMIT 1"
;
      
$imagedata $site_db->query_firstrow($sql);
    }
    if (empty(
$imagedata))
    {
      
$thumb ICON_PATH."/".$noimage;
    }
    elseif (!
get_file_path($imagedata['image_thumb_file'], "thumb"$imagedata['cat_id'], 00))
    {
      
$thumb ICON_PATH."/".get_file_extension($imagedata['image_media_file']).".gif";
    }
    else
    {
      
$thumb get_file_path($imagedata['image_thumb_file'], "thumb"$imagedata['cat_id'], 01);
    }
  }
  else
  {
    
$offset $offset2 0//no need any offset if random image disabled
  
}
// --- Total users -----
  
$sql "SELECT COUNT(*) AS total_users
          FROM "
.USERS_TABLE."
          WHERE user_level > "
.USER_AWAITING;
  
$row $site_db->query_firstrow($sql);
  
$show['total_users'] = $row['total_users'];

// --- Total not activated users -----
  
$sql "SELECT COUNT(*) AS total_users
          FROM "
.USERS_TABLE."
          WHERE user_level = "
.USER_AWAITING;
  
$row $site_db->query_firstrow($sql);
  
$show['total_users_awaiting'] = $row['total_users'];

// --- Lattest username -----
  
$sql "SELECT user_name
          FROM "
.USERS_TABLE."
          WHERE user_level > "
.USER_AWAITING."
          ORDER BY user_id DESC"
;
  
$row $site_db->query_firstrow($sql);
  
$show['new_user'] = stripslashes($row['user_name']);

// --- Total images -----
  
$sql "SELECT COUNT(*) AS total_images
          FROM "
.IMAGES_TABLE."
          WHERE image_active = 1"
;
  
$row $site_db->query_firstrow($sql);
  
$show['total_images'] = $row['total_images'];

// --- Total new images -----
  
$new_cutoff time() - 60 60 24 $new_cutoff;
  
$sql "SELECT COUNT(*) AS total_new_images
          FROM "
.IMAGES_TABLE."
          WHERE image_active = 1 AND image_date > "
.$new_cutoff;
  
$row $site_db->query_firstrow($sql);
  
$show['total_new_images'] = $row['total_new_images'];

// --- Total categories -----
  
$sql "SELECT COUNT(*) AS total_categories
          FROM "
.CATEGORIES_TABLE;
  
$row $site_db->query_firstrow($sql);
  
$show['total_categories'] = $row['total_categories'];

// --- Total comments -----
  
$sql "SELECT SUM(image_comments) AS sum
          FROM "
.IMAGES_TABLE;
  
$row $site_db->query_firstrow($sql);
  
$show['comments'] = $row['sum'];

// --- Online users -----
  
$time_out time() - 300;
  
$sql "SELECT session_user_id, session_ip
          FROM "
.SESSIONS_TABLE."
          WHERE session_lastaction >= 
$time_out";
  
$result $site_db->query($sql);
  
$show['guests_online'] = $show['reg_online'] = 0;
  while (
$row $site_db->fetch_array($result))
  {
    if (
$row['session_user_id'] != GUEST)
    {
      if (!isset(
$prev_user_ids[$row['session_user_id']]))
      {
        
$show['reg_online']++;
      }
      
$prev_user_ids[$row['session_user_id']] = 1;
    }
    else
    {
      if (!isset(
$prev_session_ips[$row['session_ip']]))
      {
        
$show['guests_online']++;
      }
    }
    
$prev_session_ips[$row['session_ip']] = 1;
  }
//-----------------------

  
if (!empty($fonts_dir) && count($fonts))
  {
    foreach (
$fonts as $key => $val)
    {
      
imageloadfont($fonts_dir.$val);
    }
  }
  
$total_online $show['reg_online'] + $show['guests_online'];
  
$online " (".$show['reg_online']." member".(($show['reg_online'] > || !$show['reg_online'])? "s" "")." and ".$show['guests_online']." guest".(($show['guests_online'] > || !$show['guests_online'])? "s" "").")";
  
$far $offset2+$tiny+(strlen($lang_new_user))*($fsize+4);
  
//array with data:
  //[0] - font type
  //[1] - offset
  //[2] - text
  //[3] - color (i.e. "text_color" will use $text_color variable)
  
$stats = array(
                  array(array(
$fsize$offset2+$tiny$lang_images"text_color"), array($fsize$far$show['total_images']." (".$show['total_new_images']." new)""text_color")),
                  array(array(
$fsize$offset2+$tiny$lang_cat"text_color"), array($fsize$far$show['total_categories'], "text_color")),
                  array(array(
$fsize$offset2+$tiny$lang_comments"text_color"), array($fsize$far$show['comments'], "text_color")),
                  array(array(
$fsize$offset2+$tiny$lang_users"text_color"), array($fsize$far$show['total_users'], "text_color"), array($fsize$far+strlen($show['total_users'])*($fsize+4), " and ".$show['total_users_awaiting']." not activated""text_color")),
                  array(array(
$fsize$offset2+$tiny$lang_online"text_color"), array($fsize$far$total_online"red"), array($fsize$far+strlen($total_online)*($fsize+4), $online"text_color")),
                  array(array(
$fsize$offset2+$tiny$lang_new_user"text_color"), array($fsize$far$show['new_user'], "text_color"))
  );
  if (
$signature_template_random)
  {
    if (
$dir = @opendir($signature_template_dir))
    {
      
$list = array();
      while (
$file = @readdir($dir))
      {
        if (!
is_dir($signature_template_dir.$file) && is_file($signature_template_dir.$file) && strtolower(substr(strrchr($file,"."), 1)) == "png")
        {
          
$list[] = $file;
        }
      }
      @
closedir($dir);
      
$signature_template $list[array_rand($list)];
    }
  }
  
$im ImageCreateFromPNG($signature_template_dir.$signature_template);
  
$width imagesx($im);
  
$height imagesy($im);
  
$text_color ImageColorAllocate ($im255255255);
  
$red ImageColorAllocate ($im25500);
//  ImageString($im, 3, $offset2+(($width-$offset2)/2)-(strlen($sitename)*7/2), 4, $sitename, $text_color);
  
ImageString($im3$offset2+$tiny4$sitename$text_color);
  
$i $start;
  foreach (
$stats as $key)
  {
    if (
$key[0][2] == $lang_online && !$total_online)
    {
      continue;
    }
    foreach (
$key as $val)
    {
      
ImageString($im$val[0], $val[1], $i$val[2], $$val[3]);
    }
    
$i $i $spacing;
  }
  if (
$random_image)
  {
    
$image_info getimagesize($thumb);
    
$types = array(=> "gif"=> "jpeg"=> "png");
    
$th "imagecreatefrom".$types[$image_info[2]];
    
$width_start $image_info[0];
    
$height_start $image_info[1];
    
$dimension $offset2-$offset*2;
    if (
$height $image_info[1] < $offset && $height $offset2 $offset)
    {
      
$dimension $height $offset*2;
    }
    
$width_end $dimension;
    
$height_end $dimension;
    if ((
$width_start $width_end || $height_start $height_end) && $width_start && $height_start && $width_end && $height_end)
    {
       
$ratio $width_start $height_start;
      if (
$ratio 1)
      {
        
$width_end $dimension;
        
$height_end round(($dimension/$width_start) * $height_start);
      }
      else
      {
        
$width_end round(($dimension/$height_start) * $width_start);
        
$height_end $dimension;
       }
    }
    elseif (
$width_start || $height_start)
    {
       
$width_end $width_start;
       
$height_end $height_start;
    }
    
$temp imagecreateTrueColor($width_end$height_end);
    if (
$image $th($thumb))
    {
      
imagecopyresampled($temp$image0000$width_end$height_endImageSX($image), ImageSY($image));
    }
    
$posx round(($offset2-$width_end)/2);
    
$posy round(($height-$height_end)/2);
    
imagecopymerge($im,$temp$posx$posy00$width_end$height_end100);
    
ImageRectangle($im$posx-1$posy-1$posx+$width_end-1$posy+$height_end-1$text_color);
  }
  
$function "Image".$type;
  
$function($im,$tmpfname,(($type == "png") ? $quality)); 
  
ImageDestroy($im);
  
$handle = @fopen($tmptname"wb");
  
$contents = @fwrite($handle, (($random_image) ? $imagedata['image_id'] : 0));
  @
fclose($handle);
//end compilling new image
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
header("Content-disposition: filename=signature".MD5(time()).".".$type);
header("Content-Type: image/".$type);
header("Content-Length: ".filesize($tmpfname));
readfile($tmpfname);
?>


hope it will help you

Offline Scarala

  • Jr. Member
  • **
  • Posts: 88
    • View Profile
    • www.MPS-Fotos.de - Die MPS-Fotocommunity
Re: Signature image v2.3
« Reply #442 on: August 07, 2012, 11:01:40 AM »
Is there any chance to get access to the signature.png on Windows server?
Its running with IIS and there is no effect with htaccess files (they only run with apache servers).

I hope anyone can help.

The signature.php is alreday running: http://www.mps-fotos.de/4images/signature.php

Offline PamBreeze

  • Newbie
  • *
  • Posts: 46
  • I'm Not Crazy...I'm Just Me!
    • View Profile
    • Emanon Creations
Re: Signature image v2.3
« Reply #443 on: September 03, 2013, 01:08:50 PM »
That was easy enough! Thanks!

Offline wallward

  • Jr. Member
  • **
  • Posts: 54
    • View Profile
Re: Signature image v2.3
« Reply #444 on: January 13, 2014, 08:03:53 PM »
after many try and trace code, I get 3 error
An unexpected error occured. Please try again later.
Bad SQL QueryCREATE TEMPORARY TABLE tab_448866 TYPE  =  HEAP
              SELECT i
.image_idi.cat_id
              FROM 4images_images i
              LEFT JOIN 4images_categories c ON c
.cat_id i.cat_id
              WHERE i
.image_active AND c.auth_viewcat AND i.cat_id NOT IN (0) AND i.image_id <> 2037
              ORDER  BY RAND
()
              
LIMIT 1
You have an error in your SQL syntax
check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE  =  HEAP
              SELECT i.image_id, i.cat_id
              FROM 4im' 
at line 1


An unexpected error occured. Please try again later.
Bad SQL QuerySELECT t.image_idt.cat_idi.user_idi.image_namei.image_media_filei.image_thumb_file
              FROM tab_448866 
AS t
              LEFT JOIN 4images_images 
AS i ON i.image_id=t.image_id
Table 
'ramila_wallward.tab_448866' doesn't exist


An unexpected error occured. Please try again later.
Bad SQL QueryDROP TABLE tab_448866
Unknown table 
'tab_448866'

Rembrandt

  • Guest
Re: Signature image v2.3
« Reply #445 on: January 13, 2014, 08:20:36 PM »
after many try and trace code, I get 3 error
[....
and if you "TYPE = HEAP" removing?

Offline wallward

  • Jr. Member
  • **
  • Posts: 54
    • View Profile
Re: Signature image v2.3
« Reply #446 on: January 14, 2014, 03:36:04 PM »
Thank you Rembrandt :)
Where should this code be removed?

Rembrandt

  • Guest
Re: Signature image v2.3
« Reply #447 on: January 14, 2014, 04:12:57 PM »
in this mod?  8)

Offline wallward

  • Jr. Member
  • **
  • Posts: 54
    • View Profile
Re: Signature image v2.3
« Reply #448 on: January 14, 2014, 11:17:32 PM »
no, I do not change orginal MOD code, maybe conflict with other MOD :(
Is there a way to figure out the problem?  :|
I'm sorry to take you precious time  :oops:

Rembrandt

  • Guest
Re: Signature image v2.3
« Reply #449 on: January 15, 2014, 04:46:36 AM »
search and remove in signature.php:
TYPE HEAP