PHP Classes
Icontem

File: applet.php


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of sk89q  >  Oekaki Applet  >  applet.php  
File: applet.php
Role: Example script
Content type: text/plain
Description: Example applet generator
Class: Oekaki Applet
Display and process oekaki drawing applet requests
 

Contents

Class file image Download
<?php
    
/* 
     * This is an EXAMPLE file that generates the applet
     * Please note that you need a drawings/ folder with write access for this script
    */
    
    
$applet $_GET['applet'];
    
$use_animation $_GET['useanim'] ? TRUE FALSE;
    
    if( 
$use_animation )
    {
        
$anim_status 'ENABLED (<a href="?applet=' htmlspecialchars$applet ) . '&useanim=0">disable animation</a>)';
    }
    else
    {
        
$anim_status 'DISABLED (<a href="?applet=' htmlspecialchars$applet ) . '&useanim=1">enable animation</a>)';
    }
    
    
$use_animation_query $_GET['useanim'] ? '1' '0';
    
    echo <<<EOB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<title>OekakiApplet Example</title>
</head>

<body>
<p>
    <b>Draw New Drawing:</b> <a href="?applet=shipainter&useanim=$use_animation_query">Shi-Painter</a> &middot; 
    <a href="?applet=shipainterpro&useanim=$use_animation_query">Shi-Painter Pro</a> &middot; 
    <a href="?applet=paintbbs&useanim=$use_animation_query">PaintBBS</a> &middot; 
    <a href="?applet=oekakibbs&useanim=$use_animation_query">OekakiBBS</a>
    <br />
    <b>Drawing NEW with Animation is:</b> $anim_status
</p>
EOB;

    
$dir 'drawings/';
    
$drawings = array();
        
    if( 
$handle = @opendir$dir ) ) {
        while( 
FALSE !== ( $file readdir$handle ) ) )
        { 
            if ( 
$file != '.' && $file != '..' )
            { 
                
$filetype = @filetype$dir $file );
                if( 
$filetype == 'dir' $drawings[] = $file;
            } 
            echo( 
' ' );
            
flush();
        }
        
closedir$handle ); 
    }
    else
    {
        if( 
is_dir$dir ) )
        {
            exit( 
'<p>The drawings directory cannot be read!</p></body></html>' );
        }
        else
        {
            exit( 
'<p>The drawings directory cannot be found or it is not a directory!</p></body></html>' );
        }
    }
    
    
natsort$drawings );
    
    
$drawings_html '';
    
    foreach( 
$drawings as $d )
    {
        
$drawing_applet trimfile_get_contents'drawings/' $d '/appletinfo' ) );
        
        
$drawings_html .= '<option value="' htmlspecialchars$d ) . '">' htmlspecialcharsdate'r'$d ) ) . ' (' $drawing_applet ')</option>';
    }
    
    echo <<<EOB
<form method="GET" action="?">
    <p>
        <b>Edit Existing Drawing:</b> <select size="1" name="edit">
            $drawings_html
        </select> <input type="submit" value="Edit" />
    </p>
</form>
EOB;
    
    require_once 
'OekakiApplet.php';
    
    
$OekakiApplet = new OekakiApplet;
    
    if( 
$_GET['edit'] && is_dir'drawings/' basename$_GET['edit'] ) ) )
    {
        
$save_id basename$_GET['edit'] );
        
        
$applet trimfile_get_contents'drawings/' $save_id '/appletinfo' ) );
        
        if( 
$applet == 'oekakibbs' )
        {
            
$animation_ext 'oeb';
        }
        else
        {
            
$animation_ext 'pch';
        }
    
        
// Set to URL of image to load image
        
$OekakiApplet->load_image_url 'drawings/' $save_id '/' . ( file_exists'drawings/' $save_id '/image.png' ) ? 'image.png' 'image.jpg' );
        
$OekakiApplet->load_animation_url file_exists'drawings/' $save_id '/animation.' $animation_ext ) ? 'drawings/' $save_id '/animation.' $animation_ext '';
        if( 
$OekakiApplet->load_animation_url )
        {
            
$OekakiApplet->animation TRUE;
        }
        else
        {
            
$OekakiApplet->animation FALSE;
        }
    }
    else
    {
        
$save_id time() . '-' rand1000099999 );
        
$OekakiApplet->animation $use_animation;
    }
    
    
// Important to applet!
    
$OekakiApplet->applet_id                        'oekaki';
    
    
// Applet display
    
$OekakiApplet->applet_width                     700;
    
$OekakiApplet->applet_height                    500;
    
    
// Image display
    
$OekakiApplet->canvas_width                     300;
    
$OekakiApplet->canvas_height                    300;
    
    
// Saving
    
$OekakiApplet->url_save                         'save.php?applet=' $applet '&saveid=' $save_id;
    
$OekakiApplet->url_finish                       'drawings/' $save_id '/';
    
$OekakiApplet->url_target                       '_self';
    
    
// Format to save
    
$OekakiApplet->default_format                   'png';
    
    switch( 
$applet )
    {
        case 
'shipainter':
        {
            echo 
$OekakiApplet->shipainter'./web/spainter_all.jar''./web/shipainter'FALSE );
            break;
        }
        case 
'shipainterpro':
        {
            echo 
$OekakiApplet->shipainter'./web/spainter_all.jar''./web/shipainter'TRUE );
            break;
        }
        case 
'paintbbs':
        {
            echo 
$OekakiApplet->paintbbs'./web/PaintBBS.jar''./web/shipainter' );
            break;
        }
        case 
'oekakibbs':
        {
            echo 
$OekakiApplet->oekakibbs'./web/oekakibbs.jar' );
            break;
        }
    }
    
    echo <<<EOB
</body>
</html>
EOB;
?>

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products