Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Witam

Mam problem z sprawdzaniem aktualności moda w UMI jak i zresztą w FE może najpierw pliki :

Plik wsadowy do UMI (początek) - [bN23]anty_troll.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<mod_data>
  <mod_info>
  <title>[BN23]Anty_Troll</title>
  <version>1.0</version>
  <author>B</author>
  <website>http://www.google.pl</website>
  <ipbver>2.3</ipbver>
  <version_file>http://batmanik.p2pnet.pl/batman/mod/mods.xml</version_file>
  </mod_info>

teraz plik który siedzi na serwie z powyższego adresu (dla UMI):

<?xml version="1.0" encoding="ISO-8859-1"?>
<mods>
<ipb23>
	<mod>
		<version>1.0</version>
		<file>[BN23]anty_troll</file>
	</mod>
</ipb23>

</mods>

jak można sprawdzić z powyższego adresu plik służący sprawdzeniu moda jak najbardziej jest możliwy do odczytania

W UMI mam kilka modów i część sprawdza sobie aktualizacje wiec nie jest to chyba wina serwa

Może ja czegoś nie widzę robię jakiś błąd, bo już naprawdę nie wiem.

jam_artists_button.png

  • Manager
Opublikowano

W pliku .xml z modem brakuje ( przykład mój ):

	<sections_group>
	<section>
		<conf_title_title>(DP23) Delete Warn</conf_title_title>
		<conf_title_desc></conf_title_desc>
		<conf_title_noshow>1</conf_title_noshow>
		<conf_title_keyword>dp23_delw</conf_title_keyword>
	</section>
</sections_group>

Istotny jest tutaj ten keyword dp23_delw.

Plik sprawdzający wersję:

	  <mod>
		<version>1.1</version>
		<file>dp23_delw</file>
	</mod>

I istotne - plik instalacyjny .xml moda musi mieć nazwę dp23_delw.xml. :)

Myślę, że jasno to napisałem. Ah, nie stosuj w nazwach plików tych [].

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Niestety to nie pomaga co więcej mam moda bez tego i on akurat działa :)

dobra to może inaczej mam na serwie pod adresem : http://batmanik.p2pnet.pl/batman/mod/mods.xml

Plik mods.xml o treści :

<?xml version="1.0" encoding="ISO-8859-1"?>
<mods>
<ipb23>

	<mod>
		<version>1.1</version>
		<file>test</file>
	</mod>
</ipb23>

</mods>

zrobiłem testowy plik wsadowy do umi o nazwie test.xml :

<?xml version="1.0" encoding="ISO-8859-1"?>
<mod_data>
  <mod_info>
  <title>test</title>
  <version>1.1</version>
  <author>B</author>
  <website>http://www.google.pl</website>
  <ipbver>2.3</ipbver>
  <version_file>http://batmanik.p2pnet.pl/batman/mod/mods.xml</version_file>
  </mod_info>
  <sections_group>
	<section>
		<conf_title_title>test</conf_title_title>
		<conf_title_desc></conf_title_desc>
		<conf_title_noshow>1</conf_title_noshow>
		<conf_title_keyword>test</conf_title_keyword>
	</section>
</sections_group>
  <languages_group>
	<language>
		<key>test</key>
		<text>do kasacji</text>
		<file>lang_global</file>
	</language>
</languages_group>
</mod_data>

Niestety mi to nie działa może sprawdzisz u siebie DawPi ??

jam_artists_button.png

  • Manager
Opublikowano

Tak patrząc po tym kodzie:

if ( $this->ipsclass->vars['umi_do_callbacks'] && count( $mod_files ) )
	{
		foreach ( $mod_files as $mod_file )
		{
			if ( $can_curl )
			{
				$ch = curl_init();

				curl_setopt( $ch, CURLOPT_URL, $mod_file );
				curl_setopt( $ch, CURLOPT_HEADER, 0 );
				curl_setopt( $ch, CURLOPT_TIMEOUT, 3 );

				ob_start();

				curl_exec( $ch );
				curl_close( $ch );
				$version_contents = ob_get_contents();

				ob_end_clean();
			}

			if ( !$version_contents )
			{
				$handle = @fopen( $mod_file, "r" );

				if ( $handle !== false )
				{
					@fclose( $handle );
					$version_contents = @file_get_contents( $mod_file );
				}
			}

			if ( $version_contents )
			{
				$this->ipsclass->xml->xml_parse_document( $version_contents );

				if ( !is_array( $this->ipsclass->xml->xml_array['mods']['ipb22']['mod'][0] ) )
				{
					$tmp = $this->ipsclass->xml->xml_array['mods']['ipb22']['mod'];
					unset( $this->ipsclass->xml->xml_array['mods']['ipb22']['mod'] );
					$this->ipsclass->xml->xml_array['mods']['ipb22']['mod'][0] = $tmp;
				}

				if ( !is_array( $this->ipsclass->xml->xml_array['mods']['ipb23']['mod'][0] ) )
				{
					$tmp = $this->ipsclass->xml->xml_array['mods']['ipb23']['mod'];
					unset( $this->ipsclass->xml->xml_array['mods']['ipb23']['mod'] );
					$this->ipsclass->xml->xml_array['mods']['ipb23']['mod'][0] = $tmp;
				}

				foreach ( $this->ipsclass->xml->xml_array['mods']['ipb22']['mod'] as $kk => $vv )
				{
					if ( !in_array( $vv['file']['VALUE'], array_keys( $latest_mods ) ) )
					{
						$latest_mods[22][ $vv['file']['VALUE'] ] = $vv['version']['VALUE'];
					}
				}

				foreach ( $this->ipsclass->xml->xml_array['mods']['ipb23']['mod'] as $kk => $vv )
				{
					if ( !in_array( $vv['file']['VALUE'], array_keys( $latest_mods ) ) )
					{
						$latest_mods[23][ $vv['file']['VALUE'] ] = $vv['version']['VALUE'];
					}
				}
			}
		}
	}

To może nie może otworzyć pliku do odczytu ( r )? Sprawdź prawa.. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.