Ich müsste manchmal schnell eine .t3x Datei lokal entpacken, um die PHP-Dateien einzusehen und Feedback zu geben.
Daher suche ich nach einem Entpacker, am sinnvollsten wohl als PHP-Skript. Oder nach Infos zum Schreiben eines solchen Entpackers.
Ich müsste manchmal schnell eine .t3x Datei lokal entpacken, um die PHP-Dateien einzusehen und Feedback zu geben.
Daher suche ich nach einem Entpacker, am sinnvollsten wohl als PHP-Skript. Oder nach Infos zum Schreiben eines solchen Entpackers.
Du wählst statt "Loaded Extensions" eben Install Extensions und drückst auf das + vor tt_news...
Aber warum so kompliziert? Nur weil du die Liste im EM nicht geladen bekommst, kannst du doch dennoch unter Import Extensions die .t3x Importieren...
Diese Option würde ich gerne wählen. Hab ich auch schon probiert. Aber nach einer längeren Wartezeit erscheint die Meldung:
Pfiffikus,
der auch an dieser Stelle einen Timeout vermutet
Ich hatte dasselbe Problem, mit derselben Extension.
Es scheint so zu sein, dass zwa Typo3 4.17 stabil zum laufen zu bekommen ist auf 1&1 Business jedenfalls, probleme bekomme ich immer wieder nur beim ExtManager: händisch t3x-files hochladen geht ja meistens, es sei denn, die Dateien sind so um die 1.0 MB groß. Da scheint ein Timeout daz entpacken etc zu verhindern.
Nun ist es so, dass z.B. in der tt_news (v2.5.2) die Dokumentation den größten Teil der Datei einnimmt. Wenn man sich diese auf typo3.org separat runterlädt, kann man auf diesen Teil im t3x-file gut verzichten und hat somit nur noch ca 300KB übrig. Damit funktioniert dann auch die Installation bei 1&1 problemfrei.
Um das zu bewerkstelligen hatte ich diesen Thread bzgl. Packen und Entpacken gefunden, was allerdings alles etwas umständlich für mich schien. Ganz schnelle und dreckige Lösung also:
auf nem anderen Typo3 System (zum Glück habe ich auch einige bei besseren Provider am Start...) oder eben dem lokalen System die OriginalVariante installiert, per ftp oder so, die zu große Dokumentation gelöscht,
im ExtManager die Extension wieder exportiert.
Damit habe ich nun eine Light-Version 2.5.2 von tt_news, an der GARNICHTS verändert ist, ausser, dass die Doku fehlt...
Wer's brauchen kann: [url]http://www.proszenium.com/fileadmin/tt_news-2_3_2_LIGHT.t3x[/url]
Funktioniert jetzt mit Typo3 4.5
neu: extension als standard-ordnername
<?php require('/path/to/typo3/sysext/em/classes/connection/class.tx_em_connection_ter.php'); // Usage ausgeben function printUsageAndDie(){ global $argv; print <<<EOM ------------------------------------------------------------------------------ _____ _ _ _____ | ____|_ ___ __ __ _ _ __ __| | | |_|___ /_ __ | _| \ \/ / '_ \ / _` | '_ \ / _` | | __| |_ \ \/ / | |___ > <| |_) | (_| | | | | (_| | | |_ ___) > < |_____/_/\_\ .__/ \__,_|_| |_|\__,_| \__|____/_/\_\ Version 0.2, 11.04.2011 |_| ...written by droptix and luwo. (look at http://www.typo3.net/forum) ...and Jonny007-MKD Usage: expand_t3x.php [filename.t3x] <directory> * filename.t3x = Name of your t3x-file * directory = optional directory of extraction (default=name of extension) ------------------------------------------------------------------------------ EOM; } // Wurde eine Datei angegeben? // Wurde ein Auspackverzeichnis angegeben? if ($argv[2] != '') $unpackDir=$argv[2]; // Datei aus Kommandozeile holen... $extFile=$argv[1]; else{ print "\n Datei: '$extFile' wurde leider nicht gefunden \n"; printUsageAndDie();} // Start unpacking. $ext = tx_em_Connection_Ter::decodeExchangeData($fileContent); function autocreate_subdirs($dir) { foreach ($subdirs as $subdir) { $path[] = $subdir; } else { } } } } // Unpack extension(s). foreach ($ext as $e) { if ($e["EM_CONF"]) { // Create unpack directory. } // Create directories. foreach ($dirs as $dir) { // Start in unpack directory if any. if ($unpackDir) { $dir = $unpackDir."/".$dir; } autocreate_subdirs($dir); } // Write files. foreach ($e["FILES"] as $file) { // Start in unpack directory. } else { } // Separate file name and rest path. // Create subdirs if neccessary. autocreate_subdirs($dirPath); // Write file. $path[] = $fileName; } else { } } } } ?>
[quote="Jonny007MKD"]
Funktioniert jetzt mit Typo3 4.5
neu: extension als standard-ordnername
<?php require('/path/to/typo3/sysext/em/classes/connection/class.tx_em_connection_ter.php'); // Usage ausgeben function printUsageAndDie(){ global $argv; print <<<EOM ------------------------------------------------------------------------------ _____ _ _ _____ | ____|_ ___ __ __ _ _ __ __| | | |_|___ /_ __ | _| \ \/ / '_ \ / _` | '_ \ / _` | | __| |_ \ \/ / | |___ > <| |_) | (_| | | | | (_| | | |_ ___) > < |_____/_/\_\ .__/ \__,_|_| |_|\__,_| \__|____/_/\_\ Version 0.2, 11.04.2011 |_| ...written by droptix and luwo. (look at http://www.typo3.net/forum) ...and Jonny007-MKD Usage: expand_t3x.php [filename.t3x] <directory> * filename.t3x = Name of your t3x-file * directory = optional directory of extraction (default=name of extension) ------------------------------------------------------------------------------ EOM; } // Wurde eine Datei angegeben? // Wurde ein Auspackverzeichnis angegeben? if ($argv[2] != '') $unpackDir=$argv[2]; // Datei aus Kommandozeile holen... $extFile=$argv[1]; else{ print "\n Datei: '$extFile' wurde leider nicht gefunden \n"; printUsageAndDie();} // Start unpacking. $ext = tx_em_Connection_Ter::decodeExchangeData($fileContent); function autocreate_subdirs($dir) { foreach ($subdirs as $subdir) { $path[] = $subdir; } else { } } } } // Unpack extension(s). foreach ($ext as $e) { if ($e["EM_CONF"]) { // Create unpack directory. } // Create directories. foreach ($dirs as $dir) { // Start in unpack directory if any. if ($unpackDir) { $dir = $unpackDir."/".$dir; } autocreate_subdirs($dir); } // Write files. foreach ($e["FILES"] as $file) { // Start in unpack directory. } else { } // Separate file name and rest path. // Create subdirs if neccessary. autocreate_subdirs($dirPath); // Write file. $path[] = $fileName; } else { } } } } ?>
Nach dem entpacken bekomme ich leider eine Fehlermeldung:
Notice: Uninitialized string offset: 0 in /home/srv/www/htdocs/expandt3x/expandt3x.php on line 69 Call Stack: 0.0011 76812 1. {main}() /home/srv/www/htdocs/expandt3x/expandt3x.php:0 Variables in local scope (#1): $dir = 'T3X_ch_arbeitsbeispiele-0_0_0-z-201111051804/uploads/tx_charbeitsbeispiele/' $dirPath = 'T3X_ch_arbeitsbeispiele-0_0_0-z-201111051804/res' $e = '' $extFile = 'T3X_ch_arbeitsbeispiele-0_0_0-z-201111051804.t3x' $file = array ('name' => 'res/system.css', 'size' => 7227, 'mtime' => 1318886996, 'is_executable' => FALSE, 'content' => '/****************************************************/\r/* Transitions\t \t\t\t */\r/****************************************************/\r/* ab hier bitte nicht ändern */\r\r#tx-charbeitsbeispiele-pi1 .masonry,\r#tx-charbeitsbeispiele-pi1 .masonry .masonry-brick\r{\r -webkit-transition-duration: 0.7s;\r -moz-transition-duration: 0.7s;\r -o-transition-duration: 0.7s;\r transition-duration: 0.7s;\r}\r\r#tx-charbeitsbeispiele-pi1 .masonry\r{\r -webkit-transition-property: he...', 'content_md5' => '7967aac9b453d51b96e3fbdc5563cebb') $fileContent = '22b2bef99eff8d3b56020e34a0b4e7b1:gzcompress:x???Kl,I? ?V\002??\fF:\t?\016??8\025?W????L~???d=v??\\2Y?%>NNd?\'3??\031?\021???s\020\006{?$@?\000\001\v,tZ`??.{?\026ZhF\003\b?A\v\035??\000A??\037\020t\032???GxDF~??W????j??pwsss3ssssw??V?\020???\006\037~???^?\033v?e?m??\001?\t?.?qL?\033?7???Cc?W*Xv?n?n(?\024-????\003?w???\r??:?k?\017?*k?\017? ????\016,?\by?7\032?w???w??\a??\001???@\017?\v\b?\006?Z!??|j\002?g?\033?\003?b?®??\v ??u?k?\032?\020Z\025???}???7(?\016:??????\005??P?\033A?????*??!\0378...' $fileName = 'system.css' $fullPath = 'T3X_ch_arbeitsbeispiele-0_0_0-z-201111051804/res/system.css' $handle = resource(63) of type (Unknown) $tmp = *uninitialized* $unpackDir = 'T3X_ch_arbeitsbeispiele-0_0_0-z-201111051804'
Ohne externe Abhängigkeiten gibts jetzt auch eine Benutzbarkeit für einfache Anwendung:
http://www.kopfpit.de/wordpress/goodies/
Danke!
Hi,
ich hab das expand_t3x.php Script aktualisiert, da es bei mir einige Fehler / Warnungen rausgeworfen hat:
<?php require('/path/to/typo3/sysext/em/classes/connection/class.tx_em_connection_ter.php'); // Usage ausgeben function printUsageAndDie(){ global $argv; print <<<EOM ------------------------------------------------------------------------------ _____ _ _ _____ | ____|_ ___ __ __ _ _ __ __| | | |_|___ /_ __ | _| \ \/ / '_ \ / _` | '_ \ / _` | | __| |_ \ \/ / | |___ > <| |_) | (_| | | | | (_| | | |_ ___) > < |_____/_/\_\ .__/ \__,_|_| |_|\__,_| \__|____/_/\_\ Version 0.3, 21.01.2013 |_| ...written by droptix and luwo. (look at http://www.typo3.net/forum) ...and Jonny007-MKD ...and some fixes by ViRuSTriNiTy Usage: expand_t3x.php [filename.t3x] <directory> * filename.t3x = Name of your t3x-file * directory = optional directory of extraction (default=name of extension) ------------------------------------------------------------------------------ EOM; } // Wurde eine Datei angegeben? // Wurde ein Auspackverzeichnis angegeben? if ($argv[2] != '') $unpackDir=$argv[2]; // Datei aus Kommandozeile holen... $extFile=$argv[1]; else{ print "\n Datei: '$extFile' wurde leider nicht gefunden \n"; printUsageAndDie();} // Start unpacking. $terUtility = new tx_em_Connection_Ter(null); $ext = $terUtility->decodeExchangeData($fileContent); function autocreate_subdirs($dir) { foreach ($subdirs as $subdir) { $path[] = $subdir; } else { } } } } // Unpack extension(s). foreach ($ext as $e) { // Create unpack directory. } // Create directories. foreach ($dirs as $dir) { // Start in unpack directory if any. if ($unpackDir) { $dir = $unpackDir."/".$dir; } autocreate_subdirs($dir); } // Write files. foreach ($e["FILES"] as $file) { // Start in unpack directory. } else { } // Separate file name and rest path. // Create subdirs if neccessary. autocreate_subdirs($dirPath); // Write file. $path[] = $fileName; { } else { } } } } } ?>