eyeOS 1.6.0.3-1 Ja, es geht! :)

So, damit es auch andere mitbekommen, mach ich ma diesen Thread auf (nicht, dass man beim Suchen die Lösung übersieht).

Also, um eyeOS 1.6.0.3-1 auf bplaced.net (oder anderen freehostern)
zum Laufen zu bekommen, muss man lediglich eine Datei modifizieren.
die Datei befindet sich (nach dem installieren) im Ordner
eyeOS/eyeOSxxxxxxxxxx/system/kernel und die Datei selbst heißt compat.eyecode .
Man sucht diese stelle in der Datei:

[code]function get_tmp_dir(){
$path = ‘’;
if(!function_exists(‘sys_get_temp_dir’)){
$path = try_get_temp_dir();
}else{
$path = sys_get_temp_dir();
if(is_dir($path)){
return $path;
}else{
$path = try_get_temp_dir();
}
}
return $path;
}

function try_get_temp_dir(){
// Try to get from environment variable
if(!empty($_ENV[‘TMP’])){
$path = realpath($_ENV[‘TMP’]);
}else if(!empty($_ENV[‘TMPDIR’])){
$path = realpath( $_ENV[‘TMPDIR’] );
}else if(!empty($_ENV[‘TEMP’])){
$path = realpath($_ENV[‘TEMP’]);
}
// Detect by creating a temporary file
else{
// Try to use system’s temporary directory
// as random name shouldn’t exist
$temp_file = tempnam(md5(uniqid(rand(),TRUE)),’’);
if ($temp_file){
$temp_dir = realpath(dirname($temp_file));
unlink($temp_file);
$path = $temp_dir;
}else{
$path = EYE_ROOT.’/’.EYEOS_TMP_DIR;
}
}
return $path;
}[/code]

und ersetzt sie damit:

function get_tmp_dir(){ return EYE_ROOT.'/'.EYEOS_TMP_DIR; }

Das wars.
Oder für die ganz faulen, einfach die Datei mit dem folgendem Code ersetzen:

[code]<?php
/*
____ _____
/ __ \ / |
___ _ _ | | | | (
/ _ \ | | |/ _ \ | | |_
\
| __/ |
| | / || |
_) |
___|_
, |_|_
/|____/
/ |
|
/ 1.6

                 Web Operating System
                       eyeOS.org

         eyeOS Engineering Team - eyeOS.org/whoarewe

 eyeOS is released under the GNU Affero General Public License Version 3 (AGPL3)
        provided with this release in license.txt
         or via web at gnu.org/licenses/agpl-3.0.txt

    Copyright 2005-2008 eyeOS Team (team@eyeos.org)

/
/

this file is used to emulate php functions when it are not availables on the current php installation/version
*/

function get_tmp_dir(){
return EYE_ROOT.’/’.EYEOS_TMP_DIR;
}

function ini_get_size($sName) {
$sSize = ini_get($sName);
$sUnit = utf8_substr($sSize, -1);
$iSize = (int) utf8_substr($sSize, 0, -1);
switch (utf8_strtoupper($sUnit)){
case ‘Y’ : $iSize *= 1024; // Yotta
case ‘Z’ : $iSize *= 1024; // Zetta
case ‘E’ : $iSize *= 1024; // Exa
case ‘P’ : $iSize *= 1024; // Peta
case ‘T’ : $iSize *= 1024; // Tera
case ‘G’ : $iSize *= 1024; // Giga
case ‘M’ : $iSize *= 1024; // Mega
case ‘K’ : $iSize *= 1024; // kilo
};
return $iSize;
}

if (!function_exists(‘json_encode’)) {
function json_encode($a=false) {
if (is_null($a)) {
return ‘null’;
}
if ($a === false) {
return ‘false’;
}
if ($a === true) {
return ‘true’;
}

	if (is_scalar($a)) {
		if (is_float($a)) {
    		// Always use "." for floats.
    		return floatval(str_replace(",", ".", strval($a)));
  		}
  		if (is_string($a)) {
    		static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
    		return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
  		} else {
    		return $a;
  		}
	}
	
	$isList = true;
	for ($i = 0, reset($a); $i < count($a); $i++, next($a)) {
		if (key($a) !== $i) {
			$isList = false;
			break;
		}
	}
	
	$result = array();
	if ($isList) {
		foreach ($a as $v) $result[] = json_encode($v);
		return '[' . join(',', $result) . ']';
	} else {
		foreach ($a as $k => $v) {
			$result[] = json_encode($k).':'.json_encode($v);
		}
		return '{' . join(',', $result) . '}';
	}
}

}
?>[/code]

Ich wünsche euch viel Spaß damit.
Auf Wunsch mache ich ein preinstalled pack.
Greetz

PS: Ich hoffe, dass keiner irgendwelche einwände gegen diesen Thread hat. :slight_smile:

Ich find’ die Stelle in der Datei nicht.

Die Stelle ist unter dem folgenden Code:

[code]<?php
/*
____ _____
/ __ \ / |
___ _ _ | | | | (
/ _ \ | | |/ _ \ | | |_

| __/ |
| | / || |
_) |
___|_
, |_|_
/|____/
/ |
|
/ 1.6

                 Web Operating System
                       eyeOS.org

         eyeOS Engineering Team - eyeOS.org/whoarewe

 eyeOS is released under the GNU Affero General Public License Version 3 (AGPL3)
        provided with this release in license.txt
         or via web at gnu.org/licenses/agpl-3.0.txt

    Copyright 2005-2008 eyeOS Team (team@eyeos.org)

/
/

this file is used to emulate php functions when it are not availables on the current php installation/version
*/[/code]

danach kommt das (das man ersetzen muss):

[code]function get_tmp_dir(){
$path = ‘’;
if(!function_exists(‘sys_get_temp_dir’)){
$path = try_get_temp_dir();
}else{
$path = sys_get_temp_dir();
if(is_dir($path)){
return $path;
}else{
$path = try_get_temp_dir();
}
}
return $path;
}

function try_get_temp_dir(){
// Try to get from environment variable
if(!empty($_ENV[‘TMP’])){
$path = realpath($_ENV[‘TMP’]);
}else if(!empty($_ENV[‘TMPDIR’])){
$path = realpath( $_ENV[‘TMPDIR’] );
}else if(!empty($_ENV[‘TEMP’])){
$path = realpath($_ENV[‘TEMP’]);
}
// Detect by creating a temporary file
else{
// Try to use system’s temporary directory
// as random name shouldn’t exist
$temp_file = tempnam(md5(uniqid(rand(),TRUE)),’’);
if ($temp_file){
$temp_dir = realpath(dirname($temp_file));
unlink($temp_file);
$path = $temp_dir;
}else{
$path = EYE_ROOT.’/’.EYEOS_TMP_DIR;
}
}
return $path;
}[/code]

und dann der Rest (den man so lässt, wie er ist):

[code]
function ini_get_size($sName) {
$sSize = ini_get($sName);
$sUnit = utf8_substr($sSize, -1);
$iSize = (int) utf8_substr($sSize, 0, -1);
switch (utf8_strtoupper($sUnit)){
case ‘Y’ : $iSize *= 1024; // Yotta
case ‘Z’ : $iSize *= 1024; // Zetta
case ‘E’ : $iSize *= 1024; // Exa
case ‘P’ : $iSize *= 1024; // Peta
case ‘T’ : $iSize *= 1024; // Tera
case ‘G’ : $iSize *= 1024; // Giga
case ‘M’ : $iSize *= 1024; // Mega
case ‘K’ : $iSize *= 1024; // kilo
};
return $iSize;
}

if (!function_exists(‘json_encode’)) {
function json_encode($a=false) {
if (is_null($a)) {
return ‘null’;
}
if ($a === false) {
return ‘false’;
}
if ($a === true) {
return ‘true’;
}

  if (is_scalar($a)) {
     if (is_float($a)) {
          // Always use "." for floats.
          return floatval(str_replace(",", ".", strval($a)));
        }
        if (is_string($a)) {
          static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
          return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
        } else {
          return $a;
        }
   }
   
  $isList = true;
  for ($i = 0, reset($a); $i < count($a); $i++, next($a)) {
     if (key($a) !== $i) {
        $isList = false;
        break;
     }
  }
  
   $result = array();
   if ($isList) {
      foreach ($a as $v) $result[] = json_encode($v);
      return '[' . join(',', $result) . ']';
   } else {
      foreach ($a as $k => $v) {
         $result[] = json_encode($k).':'.json_encode($v);
      }
      return '{' . join(',', $result) . '}';
   }

}
}
?>[/code]

Ich hoffe, das ist deutlich genug :slight_smile:
Greetz

Naja ich bin doch nicht (sooo) dämlich, den Code gibt’s bei mir immer nocht nicht. :smiley:

[code]<?php
/*
____ _____
/ __ \ / |
___ _ _ | | | | (
/ _ \ | | |/ _ \ | | |_
\
| __/ |
| | / || |
_) |
___|_
, |_|_
/|____/
/ |
|
/ 1.6

                 Web Operating System
                       eyeOS.org

         eyeOS Engineering Team - eyeOS.org/whoarewe

 eyeOS is released under the GNU Affero General Public License Version 3 (AGPL3)
        provided with this release in license.txt
         or via web at gnu.org/licenses/agpl-3.0.txt

    Copyright 2005-2008 eyeOS Team (team@eyeos.org)

/
/

this file is used to emulate php functions when it are not availables on the current php installation/version
*/

function get_tmp_dir(){
$path = ‘’;
if(!function_exists(‘sys_get_temp_dir’)){
$path = try_get_temp_dir();
}else{
$path = sys_get_temp_dir();
if(is_dir($path)){
return $path;
}else{
$path = try_get_temp_dir();
}
}
return $path;
}

function try_get_temp_dir(){
// Try to get from environment variable
if(!empty($_ENV[‘TMP’])){
$path = realpath($_ENV[‘TMP’]);
}else if(!empty($_ENV[‘TMPDIR’])){
$path = realpath( $_ENV[‘TMPDIR’] );
}else if(!empty($_ENV[‘TEMP’])){
$path = realpath($_ENV[‘TEMP’]);
}
// Detect by creating a temporary file
else{
// Try to use system’s temporary directory
// as random name shouldn’t exist
$temp_file = tempnam(md5(uniqid(rand(),TRUE)),’’);
if ($temp_file){
$temp_dir = realpath(dirname($temp_file));
unlink($temp_file);
$path = $temp_dir;
}else{
$path = EYE_ROOT.’/’.EYEOS_TMP_DIR;
}
}
return $path;
}

function ini_get_size($sName) {
$sSize = ini_get($sName);
$sUnit = utf8_substr($sSize, -1);
$iSize = (int) utf8_substr($sSize, 0, -1);
switch (utf8_strtoupper($sUnit)){
case ‘Y’ : $iSize *= 1024; // Yotta
case ‘Z’ : $iSize *= 1024; // Zetta
case ‘E’ : $iSize *= 1024; // Exa
case ‘P’ : $iSize *= 1024; // Peta
case ‘T’ : $iSize *= 1024; // Tera
case ‘G’ : $iSize *= 1024; // Giga
case ‘M’ : $iSize *= 1024; // Mega
case ‘K’ : $iSize *= 1024; // kilo
};
return $iSize;
}

if (!function_exists(‘json_encode’)) {
function json_encode($a=false) {
if (is_null($a)) {
return ‘null’;
}
if ($a === false) {
return ‘false’;
}
if ($a === true) {
return ‘true’;
}

	if (is_scalar($a)) {
		if (is_float($a)) {
    		// Always use "." for floats.
    		return floatval(str_replace(",", ".", strval($a)));
  		}
  		if (is_string($a)) {
    		static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
    		return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
  		} else {
    		return $a;
  		}
	}
	
	$isList = true;
	for ($i = 0, reset($a); $i < count($a); $i++, next($a)) {
		if (key($a) !== $i) {
			$isList = false;
			break;
		}
	}
	
	$result = array();
	if ($isList) {
		foreach ($a as $v) $result[] = json_encode($v);
		return '[' . join(',', $result) . ']';
	} else {
		foreach ($a as $k => $v) {
			$result[] = json_encode($k).':'.json_encode($v);
		}
		return '{' . join(',', $result) . '}';
	}
}

}
?>[/code]

wah, ich man müsste eigentlich noch mehr ersetzen, ist aber nicht schlimm, da die nachfolgende function nicht genutzt wird, wird gleich mal aufgebessert :slight_smile:
naja, jedenfalls musst du bei dir diesen Code ersetzen

[code]function get_tmp_dir(){
$path = ‘’;
if(!function_exists(‘sys_get_temp_dir’)){
$path = try_get_temp_dir();
}else{
$path = sys_get_temp_dir();
if(is_dir($path)){
return $path;
}else{
$path = try_get_temp_dir();
}
}
return $path;
}

function try_get_temp_dir(){
// Try to get from environment variable
if(!empty($_ENV[‘TMP’])){
$path = realpath($_ENV[‘TMP’]);
}else if(!empty($_ENV[‘TMPDIR’])){
$path = realpath( $_ENV[‘TMPDIR’] );
}else if(!empty($_ENV[‘TEMP’])){
$path = realpath($_ENV[‘TEMP’]);
}
// Detect by creating a temporary file
else{
// Try to use system’s temporary directory
// as random name shouldn’t exist
$temp_file = tempnam(md5(uniqid(rand(),TRUE)),’’);
if ($temp_file){
$temp_dir = realpath(dirname($temp_file));
unlink($temp_file);
$path = $temp_dir;
}else{
$path = EYE_ROOT.’/’.EYEOS_TMP_DIR;
}
}
return $path;
}[/code]

War irgendwie nicht ganz dabei, als ich es getippt hab ^^
Greetz

edit: Hab jetz beide Posts nachgebessert :slight_smile:

Danke, und was macht der Patch genau?
Bei mir funktioniert’s trotzdem nicht, es kommt nur der Hintergrund und eine Uhr statt dem Cursor.

Bist du dir sicher, dass du dieselbe version hast und auch ne saubere installation, also keine preinstalled oder so?
Ich mach gleich mal ne eigene preinstalled, damit es auch bei anderen klappt. natürlich werde ich diese testen.
preinstalled kommt gleich :slight_smile:
Greetz

edit: mist, ftp ist überlastet, deswegen kann ich erst später testen, uploaden mach ich aber dennoch gleich
bin auf Server 5 (so zeigt es mir jetzt), gestern wars Server 6 O_o?

edit2: hier die pre uploaded.to/?id=y0s7vi habs nicht testen können, teste es sobald wie möglich

Ja, ist eine frisch heruntergeladene Verson aus dem tar.gz Installationspaket.

@Loader: Also die PreInstall in deinem Post ist die modifizierte Version von eyeOS?!

@wirwolo, dann versteh ich es nicht, versuch meine preinstalled, mit modifizierter compat.eyecode.
@Sebi, ja, sie ist modifiziert.

@all, hab vergessen root passwort zu geben ^^
aber darauf sollte jeder kommen, das passwort ist root ^^
Greetz

Thx! Es funktioniert nun wirklich auf bplaced!
Ich würde vorschlagen, dass Du es in das Wiki von bplaced postest!
(Damit alle etwas davon haben) :smiley:

Sebi…