Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JUpdate
+ Graphe d'héritage de JUpdate:
+ Graphe de collaboration de JUpdate:

Liste de tous les membres

Fonctions membres publiques

 _startElement ($parser, $name, $attrs=array())
 _endElement ($parser, $name)
 _characterData ($parser, $data)
 loadFromXML ($url)
- Fonctions membres publiques inherited from JObject
 __construct ($properties=null)
 __toString ()
 def ($property, $default=null)
 get ($property, $default=null)
 getProperties ($public=true)
 getError ($i=null, $toString=true)
 getErrors ()
 set ($property, $value=null)
 setProperties ($properties)
 setError ($error)

Fonctions membres protégées

 _getStackLocation ()
 _getLastTag ()

Attributs protégés

 $name
 $description
 $element
 $type
 $version
 $infourl
 $client
 $group
 $downloads
 $tags
 $maintainer
 $maintainerurl
 $category
 $relationships
 $targetplatform
 $xmlParser
 $stack = array('base')
 $stateStore = array()
 $currentUpdate
 $latest
- Attributs protégés inherited from JObject
 $_errors = array()

Description détaillée

Définition à la ligne 19 du fichier update.php.


Documentation des fonctions membres

JUpdate::_characterData (   $parser,
  $data 
)

Character Parser Function

Paramètres:
object$parserParser object.
object$dataThe data.
Renvoie:
void
Note:
This is public because its called externally.
Depuis:
11.1

Définition à la ligne 330 du fichier update.php.

{
$tag = $this->_getLastTag();
// @todo remove code: if(!isset($this->$tag->_data)) $this->$tag->_data = '';
// @todo remove code: $this->$tag->_data .= $data;
// Throw the data for this item together
$tag = strtolower($tag);
if (isset($this->currentUpdate->$tag))
{
$this->currentUpdate->$tag->_data .= $data;
}
}
JUpdate::_endElement (   $parser,
  $name 
)

Callback for closing the element

Paramètres:
object$parserParser object
string$nameName of element that was closed
Renvoie:
void
Note:
This is public because it is called externally
Depuis:
11.1

Définition à la ligne 269 du fichier update.php.

Références JFilterInput\getInstance().

{
array_pop($this->stack);
switch ($name)
{
// Closing update, find the latest version and check
case 'UPDATE':
$ver = new JVersion;
$product = strtolower(JFilterInput::getInstance()->clean($ver->PRODUCT, 'cmd'));
// Check for optional min_dev_level and max_dev_level attributes to further specify targetplatform (e.g., 3.0.1)
if (isset($this->currentUpdate->targetplatform->name)
&& $product == $this->currentUpdate->targetplatform->name
&& preg_match('/' . $this->currentUpdate->targetplatform->version . '/', $ver->RELEASE)
&& ((!isset($this->currentUpdate->targetplatform->min_dev_level)) || $ver->DEV_LEVEL >= $this->currentUpdate->targetplatform->min_dev_level)
&& ((!isset($this->currentUpdate->targetplatform->max_dev_level)) || $ver->DEV_LEVEL <= $this->currentUpdate->targetplatform->max_dev_level))
{
if (isset($this->latest))
{
if (version_compare($this->currentUpdate->version->_data, $this->latest->version->_data, '>') == 1)
{
$this->latest = $this->currentUpdate;
}
}
else
{
$this->latest = $this->currentUpdate;
}
}
break;
case 'UPDATES':
// If the latest item is set then we transfer it to where we want to
if (isset($this->latest))
{
foreach (get_object_vars($this->latest) as $key => $val)
{
$this->$key = $val;
}
unset($this->latest);
unset($this->currentUpdate);
}
elseif (isset($this->currentUpdate))
{
// The update might be for an older version of j!
unset($this->currentUpdate);
}
break;
}
}

+ Voici le graphe d'appel pour cette fonction :

JUpdate::_getLastTag ( )
protected

Get the last position in stack count

Renvoie:
string
Depuis:
11.1

Définition à la ligne 200 du fichier update.php.

{
return $this->stack[count($this->stack) - 1];
}
JUpdate::_getStackLocation ( )
protected

Gets the reference to the current direct parent

Renvoie:
object
Depuis:
11.1

Définition à la ligne 188 du fichier update.php.

{
return implode('->', $this->stack);
}
JUpdate::_startElement (   $parser,
  $name,
  $attrs = array() 
)

XML Start Element callback

Paramètres:
object$parserParser object
string$nameName of the tag found
array$attrsAttributes of the tag
Renvoie:
void
Note:
This is public because it is called externally
Depuis:
11.1

Définition à la ligne 217 du fichier update.php.

{
array_push($this->stack, $name);
$tag = $this->_getStackLocation();
// Reset the data
if (isset($this->$tag))
{
$this->$tag->_data = "";
}
switch ($name)
{
// This is a new update; create a current update
case 'UPDATE':
$this->currentUpdate = new stdClass;
break;
// Don't do anything
case 'UPDATES':
break;
// For everything else there's...the default!
default:
$name = strtolower($name);
if (!isset($this->currentUpdate->$name))
{
$this->currentUpdate->$name = new stdClass;
}
$this->currentUpdate->$name->_data = '';
foreach ($attrs as $key => $data)
{
$key = strtolower($key);
$this->currentUpdate->$name->$key = $data;
}
break;
}
}
JUpdate::loadFromXML (   $url)

Loads an XML file from a URL.

Paramètres:
string$urlThe URL.
Renvoie:
boolean True on success
Depuis:
11.1

Définition à la ligne 354 du fichier update.php.

Références JLog\add(), JHttpFactory\getHttp(), JText\sprintf(), et JLog\WARNING.

{
$response = $http->get($url);
if (200 != $response->code)
{
// TODO: Add a 'mark bad' setting here somehow
JLog::add(JText::sprintf('JLIB_UPDATER_ERROR_EXTENSION_OPEN_URL', $url), JLog::WARNING, 'jerror');
return false;
}
$this->xmlParser = xml_parser_create('');
xml_set_object($this->xmlParser, $this);
xml_set_element_handler($this->xmlParser, '_startElement', '_endElement');
xml_set_character_data_handler($this->xmlParser, '_characterData');
if (!xml_parse($this->xmlParser, $response->body))
{
die(
sprintf(
"XML error: %s at line %d", xml_error_string(xml_get_error_code($this->xmlParser)),
xml_get_current_line_number($this->xmlParser)
)
);
}
xml_parser_free($this->xmlParser);
return true;
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des données membres

JUpdate::$category
protected

Définition à la ligne 123 du fichier update.php.

JUpdate::$client
protected

Définition à la ligne 75 du fichier update.php.

JUpdate::$currentUpdate
protected

Définition à la ligne 171 du fichier update.php.

JUpdate::$description
protected

Définition à la ligne 35 du fichier update.php.

JUpdate::$downloads
protected

Définition à la ligne 91 du fichier update.php.

JUpdate::$element
protected

Définition à la ligne 43 du fichier update.php.

JUpdate::$group
protected

Définition à la ligne 83 du fichier update.php.

JUpdate::$infourl
protected

Définition à la ligne 67 du fichier update.php.

JUpdate::$latest
protected

Définition à la ligne 179 du fichier update.php.

JUpdate::$maintainer
protected

Définition à la ligne 107 du fichier update.php.

JUpdate::$maintainerurl
protected

Définition à la ligne 115 du fichier update.php.

JUpdate::$name
protected

Définition à la ligne 27 du fichier update.php.

JUpdate::$relationships
protected

Définition à la ligne 131 du fichier update.php.

JUpdate::$stack = array('base')
protected

Définition à la ligne 155 du fichier update.php.

JUpdate::$stateStore = array()
protected

Définition à la ligne 163 du fichier update.php.

JUpdate::$tags
protected

Définition à la ligne 99 du fichier update.php.

JUpdate::$targetplatform
protected

Définition à la ligne 139 du fichier update.php.

JUpdate::$type
protected

Définition à la ligne 51 du fichier update.php.

JUpdate::$version
protected

Définition à la ligne 59 du fichier update.php.

JUpdate::$xmlParser
protected

Définition à la ligne 147 du fichier update.php.


La documentation de cette classe a été générée à partir du fichier suivant :