Joomla! Programmierung/Framework/JURI/isInternal

Aus Joomla! Dokumentation
Wechseln zu: Navigation, Suche

JURI/isInternal gibt true zurück wenn die übergebene URI als "intern" in Bezug auf die aktuelle Joomla! installation eingestuft wird.

Inhaltsverzeichnis

[Bearbeiten] Syntax

isInternal( $url )
  • @return boolean True bei Internal
  • @since Joomla 1.5
Parameter Datentyp Beschreibung Standardwert
$url string Die URI welche mit der aktuellen Joomla! Installation verglichen werden soll.

[Bearbeiten] Beispiel

In diesem Beispiel wird die Joomla! Site URI angezeigt und mit einigen Beispiel URIs verglichen.

echo 'Die Joomla! URI ist: '.JURI::base();
 
$array = array( 'http://localhost/joomla/index.php',
                'http://localhost/anotherjoomla/index.php',
                'http://localhost/joomla:8080/index.php',
                'http://localhost/joomla:80/index.php',
                'http://127.0.0.1/joomla/index.php',
                'http://localhost/joomla/administrator/index.php',
                'http://localhost/joomla/administrator/index.php?task=view&id=32#anchorthis',
                'https://localhost/joomla/index.php'
              );
foreach ($array as $key => $uri)
{
    echo ($key+1).': '.$uri.'     ist: ';
    echo JURI::isInternal( $uri ) ? 'internal' : 'external';
}

Ausgabe

Die Joomla! URI ist: http://localhost/joomla/
1: http://localhost/joomla/index.php      ist: internal
2: http://localhost/anotherjoomla/index.php      ist: external
3: http://localhost/joomla:8080/index.php      ist: external
4: http://localhost/joomla:80/index.php      ist: external
5: http://127.0.0.1/joomla/index.php      ist: external
6: http://localhost/joomla/administrator/index.php      ist: internal
7: http://localhost/joomla/administrator/index.php?task=view&id=32#anchorthis      ist: internal
8: https://localhost/joomla/index.php      ist: external

Beachten Sie das:

  1. Ist internal weil die Stamm URIs identisch sind.
  2. Ist external weil der Pfad zur Joomla! Installation anders ist.
  3. Ist external weil die Portnummern verschieden sind.
  4. Ist external weil die Portnummern verschieden sind, obgleich der Port 80 der Standardport des HTTP Protokolls ist.
  5. Ist external weil der Hostname anders ist, obgleich 127.0.0.1 nach 'localhost' aufgelöst wird.
  6. Ist internal obgleich der Pfad unterschiedlich ist.
  7. Ist internal obgleich der Pfad die Queries und Fragments unterschiedlich sind.
  8. Ist external weil das Schema unterschiedlich ist.

[Bearbeiten] Siehe auch

[Bearbeiten] Quellcode

JURI::isInternal in Joomla! 2.5.4

Folder blue.png libraries

  • Folder red.png joomla
    • Folder green.png environment
      • File php.png uri.php
  1. public static function isInternal($url)
  2. {
  3. $uri = self::getInstance($url);
  4. $base = $uri->toString(array('scheme', 'host', 'port', 'path'));
  5. $host = $uri->toString(array('scheme', 'host', 'port'));
  6. if (stripos($base, self::base()) !== 0 && !empty($host))
  7. {
  8. return false;
  9. }
  10. return true;
  11. }
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Sonstiges
Team Navigation
Werkzeuge