Jump to content
  • 0

guild emblem not showing


Feefty

Question


  • Group:  Members
  • Topic Count:  47
  • Topics Per Day:  0.01
  • Content Count:  175
  • Reputation:   14
  • Joined:  11/21/11
  • Last Seen:  

im using the code from flux and this is what i get http://prntscr.com/irc1a and im also using codeigniter

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Emblem extends CI_Model {

function __construct()
{
 parent::__construct();
}

/**
 * Code taken from https://cerescp.svn.sourceforge.net/svnroot/cerescp/emblema.php
 * under the GNU General Public license version 2.
 *
 * @license GPLv2 <http://www.gnu.org/licenses/gpl-2.0.txt>
 */
function imagecreatefrombmpstring($im) {
 $header = unpack("vtype/Vsize/v2reserved/Voffset", substr($im, 0, 14));
 $info = unpack("Vsize/Vwidth/Vheight/vplanes/vbits/Vcompression/Vimagesize/Vxres/Vyres/Vncolor/Vimportant", substr($im, 14, 40));
 extract($info);
 extract($header);
 if($type != 0x4D42)
  return false;
 $palette_size = $offset - 54;
 $ncolor = $palette_size / 4;
 $imres=imagecreatetruecolor($width, $height);
 imagealphablending($imres, false);
 imagesavealpha($imres, true);
 $pal=array();
 if($palette_size) {
  $palette = substr($im, 54, $palette_size);
  $gd_palette = "";
  $j = 0; $n = 0;
  while($j < $palette_size) {
$b = ord($palette{$j++});
$g = ord($palette{$j++});
$r = ord($palette{$j++});
$a = ord($palette{$j++});
if ( ($r & 0xf8 == 0xf8) && ($g == 0) && ($b & 0xf8 == 0xf8))
 $a = 127; // alpha = 255 on 0xFF00FF
$pal[$n++] = imagecolorallocatealpha($imres, $r, $g, $b, $a);
  }
 }
 $scan_line_size = (($bits * $width) + 7) >> 3;
 $scan_line_align = ($scan_line_size & 0x03) ? 4 - ($scan_line_size & 0x03): 0;
 for($i = 0, $l = $height - 1; $i < $height; $i++, $l--) {
  $scan_line = substr($im, $offset + (($scan_line_size + $scan_line_align) * $l), $scan_line_size);
  if($bits == 24) {
$j = 0; $n = 0;
while($j < $scan_line_size) {
 $b = ord($scan_line{$j++});
 $g = ord($scan_line{$j++});
 $r = ord($scan_line{$j++});
 $a = 0;
 if ( ($r & 0xf8 == 0xf8) && ($g == 0) && ($b & 0xf8 == 0xf8))
  $a = 127; // alpha = 255 on 0xFF00FF
 $col=imagecolorallocatealpha($imres, $r, $g, $b, $a);
 imagesetpixel($imres, $n++, $i, $col);
}
  }
  else if($bits == 8) {
$j = 0;
while($j < $scan_line_size) {
 $col = $pal[ord($scan_line{$j++})];
 imagesetpixel($imres, $j-1, $i, $col);
}
  }
  else if($bits == 4) {
$j = 0; $n = 0;
while($j < $scan_line_size) {
 $byte = ord($scan_line{$j++});
 $p1 = $byte >> 4;
 $p2 = $byte & 0x0F;
 imagesetpixel($imres, $n++, $i, $pal[$p1]);
 imagesetpixel($imres, $n++, $i, $pal[$p2]);
}
  }
  else if($bits == 1) {
$j = 0; $n = 0;
while($j < $scan_line_size) {
 $byte = ord($scan_line{$j++});
 $p1 = (int) (($byte & 0x80) != 0);
 $p2 = (int) (($byte & 0x40) != 0);
 $p3 = (int) (($byte & 0x20) != 0);
 $p4 = (int) (($byte & 0x10) != 0);
 $p5 = (int) (($byte & 0x08) != 0);
 $p6 = (int) (($byte & 0x04) != 0);
 $p7 = (int) (($byte & 0x02) != 0);
 $p8 = (int) (($byte & 0x01) != 0);
 imagesetpixel($imres, $n++, $i, $pal[$p1]);
 imagesetpixel($imres, $n++, $i, $pal[$p2]);
 imagesetpixel($imres, $n++, $i, $pal[$p3]);
 imagesetpixel($imres, $n++, $i, $pal[$p4]);
 imagesetpixel($imres, $n++, $i, $pal[$p5]);
 imagesetpixel($imres, $n++, $i, $pal[$p6]);
 imagesetpixel($imres, $n++, $i, $pal[$p7]);
 imagesetpixel($imres, $n++, $i, $pal[$p8]);
}
  }
 }
 return $imres;
}
function get_default_bmp_data()
{
 $filename = FCPATH.'assets/img/emblem/no_emblem.png';
 if (file_exists($filename)) {
  return file_get_contents($filename);
 }
}

function display_empty_emblem()
{
 $data = $this->get_default_bmp_data();
 header("Content-Type: image/bmp");
 header('Content-Length: '.strlen($data));
 echo $data;
 exit;
}

function get_emblem($guildID)
{
 if ($guildID < 0)
 $this->display_empty_emblem();
 else
 {

  $interval = 12*60;
  $dirname   = FCPATH.'assets/img/tmp/emblem';
  $filename  = "{$dirname}/{$guildID}.png";

  if (!is_dir($dirname))
 mkdir($dirname, 0700, true);
  elseif (file_exists($filename) && (time() - filemtime($filename)) < $interval) {
header("Content-Type: image/png");
header('Content-Length: '.filesize($filename));
@readfile($filename);
exit;
  }
 }

 $sql = "SELECT `emblem_len`, `emblem_data` FROM `guild` WHERE `guild_id` = ? LIMIT 1";
 $bind = array((int)$guildID);

 foreach ($this->db->query($sql,$bind)->result() as $row)
 {
  $res = $row;
  break;
 }

 if (!$res || !$res->emblem_len)
  $this->display_empty_emblem();
 else {
  $data  = @gzuncompress(pack('H*', $res->emblem_data));
  $image = $this->imagecreatefrombmpstring($data);

  header("Content-Type: image/png");

  if ($interval)
imagepng($image, $filename);

  imagepng($image);
  exit;
 }


}
}

?>

Edited by Emistry
Please use [CODEBOX] or Attachments for long contents.
Link to comment
Share on other sites

3 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  45
  • Topics Per Day:  0.01
  • Content Count:  271
  • Reputation:   7
  • Joined:  01/06/12
  • Last Seen:  

its because you don't have GD installed on your webhost

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  47
  • Topics Per Day:  0.01
  • Content Count:  175
  • Reputation:   14
  • Joined:  11/21/11
  • Last Seen:  

its because you don't have GD installed on your webhost

its already installed.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  47
  • Topics Per Day:  0.01
  • Content Count:  175
  • Reputation:   14
  • Joined:  11/21/11
  • Last Seen:  

bump.

i still need help Y_Y

- FIXED - i changed my directory chmod to 755

Edited by Feefty
Link to comment
Share on other sites

×
×
  • Create New...