thonynunes 0 Postado Março 11, 2012 Share Postado Março 11, 2012 Olá Dinovo, como não sei mexer em PHP queria pedir uma ajuda se possível, alguém poderia me ajudar a fazer funcionar o "signature Generator" do gesior eu nunca vi alguém consegir fazer funcionar e postar aqui no xtibia e gostaria muito que me ajudassem nessa. Link para o comentário Compartilhar em outros sites More sharing options...
AnneMotta 234 Postado Março 11, 2012 Share Postado Março 11, 2012 eu tambem queria colocar em meu site, mais ta dificil achar =| Link para o comentário Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Março 13, 2012 Share Postado Março 13, 2012 tem como vc arrumas a sgnatures, pois ele vem com instalaçao incompleta apenas! poste a sua qui para ver se eu consigo ativar ela! Aguardo! e se eu demorar pra responder mande um pm pra me lembrar! Link para o comentário Compartilhar em outros sites More sharing options...
thonynunes 0 Postado Março 16, 2012 Autor Share Postado Março 16, 2012 Eu Tenho Dois, vê ae!! <?PHP $imagename = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'radiohead'); $name = stripslashes(ucwords(strtolower(trim($_REQUEST['character'])))); $img = (int) $_REQUEST['image']; if(empty($name)) { $main_content .= '<p></p><center><form action="" method="post"><B>Enter Character Name:</B><input type="textbox" name="character"><br/><br/><B><h3><u>Select Signature:</u></B></h3><select name=image><option value="">(Select Image)</option>'; foreach($imagename as $id => $image_n) { $main_content .= '<option value="'.$id.'" onClick="this.form.submit()"'; if($id == $img) $main_content .= ' selected="selected"'; $main_content .= '>'.$image_n.'</option>'; } $main_content .= '</select><br><br> <img src="signatures/'.$imagename[$img].'.png" width="350"/><br/><br> <input type="submit" value="Create Signature"></form></center>'; } else { $main_content .= '<br><TABLE BORDER=0><TR><TD></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Signature</B></TD></TR>'; $main_content .= "<TR BGCOLOR=".$config['site']['darkborder']."><TD WIDTH=20%>Forum Link:</TD><TD><input type='text' size='70' onclick='this.select();' value='[url=http://" . $_SERVER['HTTP_HOST'] . "/?subtopic=characters&name=" .urlencode($name) . "][img=http://" . $_SERVER['HTTP_HOST'] . "/signature.php?character=" .urlencode($name) . "ℑ=" . $img . "][/url]' /></TD></TR>"; $main_content .= "<TR BGCOLOR=".$config['site']['lightborder']."><TD WIDTH=20%>Direct Link:</TD><TD><input type='text' size='60' onclick='this.select();' value='http://localhost/signature.php?character=" .urlencode($name) . "ℑ=" . $img . "' /></TD></TR>"; $main_content .= "<TR BGCOLOR=".$config['site']['darkborder']."><TD COLSPAN='2' style='text-align: center;'><a href='http://" . $_SERVER['HTTP_HOST'] . "/?subtopic=characters&name=" .urlencode($name) . "'><img src='signature.php?character=" .urlencode($name) . "ℑ=" . $img . "' /></a></TD></TR>"; $main_content .= '</TD></TR></TABLE>'; } ?> <?PHP class signature { # v-- CONFIGURATION BELOW --v # var $config = array ( 'database' => array ( "localhost" , "user" , "password" , "database" ), 'vocations' => array ( "No Vocation" , "Sorcerer" , "Druid" , "Paladin" , "Knight" , "Master Sorcerer" , "Elder Druid" , "Royal Paladin" , "Elite Knight" ), 'towns' => array ( 1 => 'Shaldoria', 2 => "Akrehmion", 3 => "Junglus City", 4 => 'Svargrond', 5 => 'Rising Isle', 6 => 'Yalahar', 7 => 'Kraza', 8 => 'Karama' ), 'groups' => array ( 2 => "Tutor" , 3 => "Senior Tutor" , 4 => "Gamemaster" , 5 => "Community Manager" , 6 => "God" ), 'hidechars' => array ( 'Account Manager' , 'Rook Sample' , 'Sorcerer Sample' , 'Druid Sample' , 'Paladin Sample' , 'Knight Sample' ), 'backgrounds' => array ( 'signatures/blue' , 'signatures/red' , 'signatures/green' ), 'color' => "#FFFFFF", 'statuscolor' => array ( "#358f0d" /* online */ , "#c40808" /* offline */ ), 'font' => "signatures/arial.ttf", 'size' => array ( 2 /* without font */ , 8 /* with font */ ) ); # ^-- CONFIGURATION ABOVE --^ # // Database functions. function connectDatabase ( $database ) { @mysql_connect ( $database[0] , $database[1] , $database[2] ); @mysql_select_db ( $database[3] ); } function query ( $query ) { return @mysql_query ( $query ); } function fetchArray ( $query ) { return @mysql_fetch_array ( $query ); } function secure ( $query ) { return @mysql_real_escape_string ( $query ); } function numRows ( $query ) { return @mysql_num_rows ( $query ); } function convertHex ( $hex ) { $hex = ereg_replace ( "#" , "" , $hex ); $color = array(); if ( strlen ( $hex ) == 6 ): $color['r'] = hexdec ( substr ( $hex , 0 , 2 ) ); $color['g'] = hexdec ( substr ( $hex , 2 , 2 ) ); $color['b'] = hexdec ( substr ( $hex , 4 , 2 ) ); endif; return $color; } // Signature functions. function character ( $character ) { // Define presets. $query = "SELECT `id` , `account_id` , `group_id` , `name` , `sex` , `promotion` , `vocation` , `town_id` , `rank_id` , `online` , `level` , `lastlogin` FROM `players` WHERE `name` = '{$character}'"; $fetchRow = $this -> fetchArray ( $this -> query ( $query ) ); $numRows = $this -> numRows ( $this -> query ( $query ) ); $rank = $this -> fetchArray ( $this -> query ( "SELECT `guild_id` , `name` FROM `guild_ranks` WHERE `id` = '{$fetchRow[rank_id]}'" ) ); $guild = $this -> fetchArray ( $this -> query ( "SELECT `name` FROM `guilds` WHERE `id` = '{$rank[guild_id]}'" ) ); $premium = $this -> fetchArray ( $this -> query ( "SELECT `premdays` FROM `accounts` WHERE `id` = '{$fetchRow[account_id]}'" ) ); // Define certain arrays into one variable. $arrays['status'] = ( $fetchRow['online'] == 1 ? ' ONLINE' : 'OFFLINE' ); $arrays['gender'] = ( $fetchRow['sex'] == 1 ? 'Male' : 'Female' ); $arrays['vocation'] = ( $fetchRow['group_id'] < 2 ) ? "Profession: " . ( $fetchRow['promotion'] != 0 ? $this -> config['vocations'][$fetchRow['vocation'] + ( 4 * $fetchRow['promotion'] )] : $this -> config['vocations'][$fetchRow['vocation']] ) . "\q" : NULL; $arrays['guild'] = ( ( $fetchRow['rank_id'] > 0 and $fetchRow['group_id'] < 2 ) ? "Guild: " . ( $fetchRow['sex'] == 1 ? 'He' : 'She' ) . " is " . $rank['name'] . " of the " . $guild['name'] . "\q" : NULL ); $arrays['position'] = ( $fetchRow['group_id'] > 1 ? "Position: " . $this -> config['groups'][$fetchRow['group_id']] . "\q" : NULL ); $arrays['lastlogin']= ( $fetchRow['lastlogin'] != 0 ? date ( "M d Y, H:i:s" , $fetchRow['lastlogin'] ) : 'Never logged in' ); $arrays['premium'] = ( ( $fetchRow['group_id'] < 2 ) ? $premium['premdays'] > 0 ? '(Premium Account)' : '(Free Account)' : NULL ); $arrays['level'] = ( $fetchRow['group_id'] < 2 ? "Level: " . $fetchRow['level'] . "\q" : NULL ); // Showable fields (\q equals new line, had to create my own shortcut as I clear all whitespaces further down in the script). $return = " Name: {$fetchRow[name]} {$arrays[premium]} \q Sex: {$arrays[gender]} \q {$arrays[level]} {$arrays[vocation]} Residence: {$this -> config[towns][$fetchRow[town_id]]} \q {$arrays[guild]} {$arrays[position]} Last Login: {$arrays[lastlogin]} "; // Make certain fields bold. $bolds = "Name: \nSex: \n" . ( $fetchRow['group_id'] < 2 ? "Level: \n" : NULL ) . ( ( $fetchRow['group_id'] < 2 ) ? "Profession: \n" : NULL ) . "Residence: \n" . ( ( $fetchRow['rank_id'] > 0 and $fetchRow['group_id'] < 2 ) ? "Guild: \n" : NULL ) . ( $fetchRow['group_id'] > 1 ? "Position: \n" : NULL ) . "Last Login:"; // Return output. if ( $numRows == 1 and !in_array ( $fetchRow['name'] , $this -> config['hidechars'] ) ) return $return . "|||" . $bolds . "|||" . $arrays['status']; else return "A character with that name does not exist."; } // Create a function to generate the signature. function generate ( $character , $background ) { // Connect to the database. $this -> connectDatabase ( $this -> config['database'] ); $split = explode ( "|||" , $this -> character ( $this -> secure ( $character ) ) ); if ( strtolower ( substr ( $split[2] , -5 , 1 ) ) == 'n' ) $statuscolor = $this -> convertHex ( $this -> config['statuscolor'][0] ); else $statuscolor = $this -> convertHex ( $this -> config['statuscolor'][1] ); header ( "Content-type: image/png" ); // Check if the background exists, if not - create one. if ( file_exists ( "{$this -> config[backgrounds][$background]}.png" ) != 1 ): $image = imagecreatetruecolor ( 500 , 120 ); imagefilledrectangle ( $image , 0 , 0 , 500 , 120 , imagecolorallocate ( $image , 255 , 255 , 255 ) ); $color = imagecolorallocate ( $image , 0 , 0 , 0 ); imagesetthickness ( $image , 1 ); imagerectangle ( $image , 0 , 0 , 499 , 119 , $color ); $split[0] = "The requested image does not exist."; $split[1] = NULL; else: $image = imagecreatefrompng ( $this -> config['backgrounds'][$background] . ".png" ); $color = $this -> convertHex ( $this -> config['color'] ); endif; $content = explode ( "\q" , str_replace ( array ( "\n" , "\r" , "\t" , "\o" , "\xOB" ) , '' , $split[0] ) ); $bolds = explode ( "\n" , str_replace ( array ( "\r" , "\t" , "\o" , "\xOB" ) , '' , $split[1] ) ); // Print text. if ( $this -> config['font'] != "" ): for ( $i = 0; $i <= count ( $content ); $i++ ): $o = ( $i == 0 ) ? 2.4 : $i + 2.4; imagettftext ( $image , $this -> config['size'][1] , 0 , 7, 12 * $o , imagecolorallocate ( $image , $color['r'] , $color['g'] , $color['b'] ) , "./{$this -> config[font]}" , " " . $content[$i] ); endfor; for ( $i = 0; $i <= count ( $bolds ); $i++ ): $o = ( $i == 0 ) ? 2.4 : $i + 2.4; imagettftext ( $image , $this -> config['size'][1] , 0 , 8, 12 * $o , imagecolorallocate ( $image , $color['r'] , $color['g'] , $color['b'] ) , "./{$this -> config[font]}" , " " . $bolds[$i] ); endfor; if ( $split[0] != "The requested image does not exist." ): imagettftext ( $image , $this -> config['size'][1] , 0 , 250 , 10+round ( ( imagesy ( $image ) / 2 ) - ( imagefontheight ( $this -> config['size'][1] ) / 2 ) ) , imagecolorallocate ( $image , 0 , 0 , 0 ) , "./{$this -> config[font]}" , $split[2] ); imagettftext ( $image , $this -> config['size'][1] , 0 , 249 , 10+round ( ( imagesy ( $image ) / 2 ) - ( imagefontheight ( $this -> config['size'][1] ) / 2 ) )-1 , imagecolorallocate ( $image , $statuscolor['r'] , $statuscolor['g'] , $statuscolor['b'] ) , "./{$this -> config[font]}" , $split[2] ); endif; else: for ( $i = 0; $i <= count ( $content ); $i++ ): $o = ( $i == 0 ) ? 1.5 : $i + 1.5; imagestring ( $image, $this -> config['size'][0] , -4, 12 * $o, " " . $content[$i], imagecolorallocate ( $image , $color['r'] , $color['g'] , $color['b'] ) ); endfor; for ( $i = 0; $i <= count ( $bolds ); $i++ ): $o = ( $i == 0 ) ? 1.5 : $i + 1.5; imagestring ( $image, $this -> config['size'][0] , -3, 12 * $o, " " . $bolds[$i], imagecolorallocate ( $image , $color['r'] , $color['g'] , $color['b'] ) ); endfor; if ( $split[0] != "The requested image does not exist." ): imagestring ( $image, $this -> config['size'][0] , 250, round ( ( imagesy ( $image ) / 2 ) - ( imagefontheight ( $this -> config['size'][1] ) / 2 ) )-1, $split[2], imagecolorallocate ( $image , 0 , 0 , 0 ) ); imagestring ( $image, $this -> config['size'][0] , 249, round ( ( imagesy ( $image ) / 2 ) - ( imagefontheight ( $this -> config['size'][1] ) / 2 ) )-2, $split[2], imagecolorallocate ( $image , $statuscolor['r'] , $statuscolor['g'] , $statuscolor['b'] ) ); endif; endif; imagepng ( $image ); imagedestroy ( $image ); } } $signature = new signature(); if ( !empty ( $_GET ) ): $signature -> generate ( $_GET['character'] , $_GET['image'] ); endif; ?> Link para o comentário Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Março 16, 2012 Share Postado Março 16, 2012 estarei vendo assim que possivel pois ja estou indo dormir! Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados