/**
 * This page export the game to javame for mobile phones
 * 
 * @author  bdaloukas
 * @version $Id: exportjavame.php,v 1.17 2011/08/03 20:04:32 bdaloukas Exp $
 * @package game
 **/
function game_OnExportJavaME($game, $javame)
{
    global $CFG, $DB;
    $courseid = $game->course;
    $course = $DB->get_record('course', array('id' => $courseid));
    $destdir = game_export_createtempdir();
    if ($javame->type == 'hangmanp') {
        $destmobiledir = 'hangmanp';
    } else {
        $destmobiledir = 'hangman';
    }
    $src = $CFG->dirroot . '/mod/game/export/javame/' . $destmobiledir . '/simple';
    if ($javame->filename == '') {
        $javame->filename = 'moodle' . $destmobiledir;
    }
    $handle = opendir($src);
    while (false !== ($item = readdir($handle))) {
        if ($item != '.' && $item != '..') {
            if (!is_dir($src . '/' . $item)) {
                $itemdest = $item;
                if (substr($item, -5) == '.java') {
                    continue;
                    //don't copy the java source code files
                }
                if (substr($itemdest, -8) == '-1.class') {
                    $itemdest = substr($itemdest, 0, -8) . '$1.class';
                }
                copy($src . '/' . $item, $destdir . '/' . $itemdest);
            }
        }
    }
    mkdir($destdir . '/META-INF');
    game_exportjavame_exportdata($src, $destmobiledir, $destdir, $game, $javame->maxpicturewidth, $javame->maxpictureheight);
    game_create_manifest_mf($destdir . '/META-INF', $javame, $destmobiledir);
    $filejar = game_create_jar($destdir, $course, $javame);
    if ($filejar == '') {
        $filezip = game_create_zip($destdir, $course->id, $javame->filename . '.zip');
    } else {
        $filezip = '';
    }
    if ($destdir != '') {
        remove_dir($destdir);
    }
    if ($filezip != '') {
        echo "unzip the {$filezip} in a directory and when you are in this directory use the command <br><b>jar cvfm {$javame->filename}.jar META-INF/MANIFEST.MF<br></b> to produce the jar files<br><br>";
    }
    $file = $filejar != '' ? $filejar : $filezip;
    $fullfile = "{$CFG->dataroot}/{$courseid}/export/{$file}";
    game_send_stored_file($fullfile);
}
Exemplo n.º 2
0
        if (array_key_exists($name, $strings_lang)) {
            $ret .= '$string' . "[ '{$name}'] = " . $strings_lang[$name] . "\r\n";
        }
    }
    if ($lang != 'en') {
        $untranslated = $auntranslated[$lang];
        if ($untranslated != '') {
            $ret .= "\r\n//Untranslated\r\n" . $untranslated;
        }
    }
    mkdir($destdir . '/' . $lang);
    $file = $destdir . '/' . $lang . '/game.php';
    file_put_contents($file, $ret);
}
$file_sorted = 'game_lang_sorted.zip';
$filezip = game_create_zip($destdir, $COURSE->id, $file_sorted);
remove_dir($destdir);
echo "<br><a href=\"{$CFG->wwwroot}/file.php/1/export/{$file_sorted}\">Sorted translation files</a>";
asort($en);
$sprev = '';
$keyprev = '';
$ret = '';
foreach ($en as $key => $s) {
    if ($s == $sprev) {
        $ret .= "<tr><td>{$key}</td><td>{$keyprev}</td><td>{$s}</td></tr>\r\n";
    }
    $sprev = $s;
    $keyprev = $key;
}
if ($ret != '') {
    echo '<br><center><b>Same translations<center></b><br><table border=1><tr><td><b>Word1</td><td><b>Word2</td><td><b>Translation</td></tr>' . $ret . '</table>';
function game_OnExportHTML_snakes($game, $html, $destdir)
{
    require_once "exporthtml_millionaire.php";
    global $CFG, $DB;
    if ($html->filename == '') {
        $html->filename = 'snakes';
    }
    $filename = $html->filename . '.htm';
    $ret = '';
    $board = game_snakes_get_board($game);
    if ($game->sourcemodule == 'quiz' or $game->sourcemodule == 'question') {
        $questionsM = game_millionaire_html_getquestions($game, $context, $maxquestions, $countofquestionsM, $retfeedback, $files);
    } else {
        $questionsM = array();
        $countofquestionsM = 0;
        $retfeedback = '';
    }
    $questionsS = game_exmportjavame_getanswers($game, false);
    ob_start();
    //Here is the code of hangman
    require "exporthtml_snakes.php";
    $output_string = ob_get_contents();
    ob_end_clean();
    $courseid = $game->course;
    $course = $DB->get_record('course', array('id' => $courseid));
    $filename = $html->filename . '.htm';
    file_put_contents($destdir . '/' . $filename, $ret . "\r\n" . $output_string);
    $src = $CFG->dirroot . '/mod/game/export/html/snakes';
    game_copyfiles($src, $destdir);
    mkdir($destdir . '/css');
    $src = $CFG->dirroot . '/mod/game/export/html/snakes/css';
    game_copyfiles($src, $destdir . '/css');
    mkdir($destdir . '/js');
    $src = $CFG->dirroot . '/mod/game/export/html/snakes/js';
    game_copyfiles($src, $destdir . '/js');
    mkdir($destdir . '/images');
    $destfile = $destdir . '/images/' . $board->fileboard;
    if ($game->param3 != 0) {
        //Is a standard board
        copy($board->imagesrc, $destfile);
    } else {
        $cmg = get_coursemodule_from_instance('game', $game->id, $game->course);
        $modcontext = get_context_instance(CONTEXT_MODULE, $cmg->id);
        $fs = get_file_storage();
        $files = $fs->get_area_files($modcontext->id, 'mod_game', 'snakes_board', $game->id);
        foreach ($files as $f) {
            if ($f->is_directory()) {
                continue;
            }
            break;
        }
        $f->copy_content_to($destfile);
    }
    $a = array('player1.png', 'dice1.png', 'dice2.png', 'dice3.png', 'dice4.png', 'dice5.png', 'dice6.png', 'numbers.png');
    foreach ($a as $file) {
        copy($CFG->dirroot . '/mod/game/snakes/1/' . $file, $destdir . '/images/' . $file);
    }
    $filezip = game_create_zip($destdir, $courseid, $html->filename . '.zip');
    game_send_stored_file($filezip);
}
Exemplo n.º 4
0
function game_OnExportHTML_millionaire($game, $html, $destdir)
{
    global $CFG, $DB;
    if ($html->filename == '') {
        $html->filename = 'millionaire';
    }
    $filename = $html->filename . '.htm';
    $ret = game_export_printheader($html->title, false);
    $ret .= "\r<body onload=\"Reset();\">\r";
    //Here is the code of millionaire
    require "exporthtml_millionaire.php";
    $questions = game_millionaire_html_getquestions($game, $maxquestions);
    ob_start();
    game_millionaire_html_print($game, $questions, $maxquestions);
    //End of millionaire code
    $output_string = ob_get_contents();
    ob_end_clean();
    $courseid = $game->course;
    $course = $DB->get_record('course', array('id' => $courseid));
    $filename = $html->filename . '.htm';
    file_put_contents($destdir . '/' . $filename, $ret . "\r\n" . $output_string);
    //Copy the standard pictures of Millionaire
    $src = $CFG->dirroot . '/mod/game/millionaire/1';
    $handle = opendir($src);
    while (false !== ($item = readdir($handle))) {
        if ($item != '.' && $item != '..') {
            if (!is_dir($src . '/' . $item)) {
                $itemdest = $item;
                if (strpos($item, '.') === false) {
                    continue;
                }
                copy($src . '/' . $item, $destdir . '/' . $itemdest);
            }
        }
    }
    $filezip = game_create_zip($destdir, $courseid, $html->filename . '.zip');
    game_send_stored_file($filezip);
}
/**
 * This page export the game to javame for mobile phones
 * 
 * @author  bdaloukas
 * @version $Id: exportjavame.php,v 1.9 2009/07/31 17:30:53 bdaloukas Exp $
 * @package game
 **/
function game_OnExportJavaME($gameid, $javame)
{
    global $CFG;
    $game = get_record_select('game', "id={$gameid}");
    $courseid = $game->course;
    $course = get_record_select('course', "id={$courseid}");
    $destdir = game_export_createtempdir();
    if ($javame->type == 'hangmanp') {
        $destmobiledir = 'hangmanp';
    } else {
        $destmobiledir = 'hangman';
    }
    $src = $CFG->dirroot . '/mod/game/export/javame/' . $destmobiledir . '/simple';
    if ($javame->filename == '') {
        $javame->filename = 'moodle' . $destmobiledir;
    }
    $handle = opendir($src);
    while (false !== ($item = readdir($handle))) {
        if ($item != '.' && $item != '..') {
            if (!is_dir($src . '/' . $item)) {
                $itemdest = $item;
                if (substr($item, -5) == '.java') {
                    continue;
                    //don't copy the java source code files
                }
                if (substr($itemdest, -8) == '-1.class') {
                    $itemdest = substr($itemdest, 0, -8) . '$1.class';
                }
                copy($src . '/' . $item, $destdir . '/' . $itemdest);
            }
        }
    }
    mkdir($destdir . '/META-INF');
    game_exportjavame_exportdata($src, $destmobiledir, $destdir, $game, $javame->maxpicturewidth, $javame->maxpictureheight);
    game_create_manifest_mf($destdir . '/META-INF', $javame, $destmobiledir);
    $filejar = game_create_jar($destdir, $course, $javame);
    if ($filejar == '') {
        $filezip = game_create_zip($destdir, $course->id, $javame->filename . '.zip');
    } else {
        $filezip = '';
    }
    if ($destdir != '') {
        remove_dir($destdir);
    }
    if ($filezip != '') {
        echo "unzip the {$filezip} in a directory and when you are in this directory use the command <br><b>jar cvfm {$javame->filename}.jar META-INF/MANIFEST.MF<br></b> to produce the jar files<br><br>";
    }
    $file = $filejar != '' ? $filejar : $filezip;
    ?>
        
<HTML><HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD><BODY>
<?php 
    echo "<a href=\"{$CFG->wwwroot}/file.php/{$courseid}/export/{$file}\">{$javame->name}</a>";
    ?>
</BODY>
</HTML>
<?php 
}
function game_OnExportHTML_millionaire($game, $html, $update, $destdir)
{
    global $CFG;
    if ($html->filename == '') {
        $html->filename = 'millionaire';
    }
    $filename = $html->filename . '.htm';
    $ret = game_export_printheader($html->title, false);
    $ret .= "\r<body onload=\"Reset();\">\r";
    ob_start();
    //Here is the code of millionaire
    require "exporthtml_millionaire.php";
    //End of millionaire code
    $output_string = ob_get_contents();
    ob_end_clean();
    $courseid = $game->course;
    $course = get_record_select('course', "id={$courseid}");
    $filename = $html->filename . '.htm';
    file_put_contents($destdir . '/' . $filename, $ret . "\r\n" . $output_string);
    if ($html->type != 'hangmanp') {
        //Not copy the standard pictures when we use the "Hangman with pictures"
        $src = $CFG->dirroot . '/mod/game/millionaire/1';
        $handle = opendir($src);
        while (false !== ($item = readdir($handle))) {
            if ($item != '.' && $item != '..') {
                if (!is_dir($src . '/' . $item)) {
                    $itemdest = $item;
                    if (strpos($item, '.') === false) {
                        continue;
                    }
                    copy($src . '/' . $item, $destdir . '/' . $itemdest);
                }
            }
        }
    }
    $filezip = game_create_zip($destdir, $courseid, $html->filename . '.zip');
    if ($destdir != '') {
        remove_dir($destdir);
    }
    echo "{$ret}<a href=\"{$CFG->wwwroot}/file.php/{$courseid}/export/{$filezip}\">{$filezip}</a>";
}