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 JModelLegacy
+ Graphe d'héritage de JModelLegacy:
+ Graphe de collaboration de JModelLegacy:

Liste de tous les membres

Fonctions membres publiques

 __construct ($config=array())
 getDbo ()
 getName ()
 getState ($property=null, $default=null)
 getTable ($name= '', $prefix= 'Table', $options=array())
 loadHistory ($version_id, JTable &$table)
 setDbo ($db)
 setState ($property, $value=null)
- Fonctions membres publiques inherited from JObject
 __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 publiques statiques

static addIncludePath ($path= '', $prefix= '')
static addTablePath ($path)
static getInstance ($type, $prefix= '', $config=array())

Fonctions membres protégées

 _getList ($query, $limitstart=0, $limit=0)
 _getListCount ($query)
 _createTable ($name, $prefix= 'Table', $config=array())
 populateState ()
 cleanCache ($group=null, $client_id=0)

Fonctions membres protégées statiques

static _createFileName ($type, $parts=array())

Attributs protégés

 $__state_set = null
 $_db
 $name
 $option = null
 $state
 $event_clean_cache = null
- Attributs protégés inherited from JObject
 $_errors = array()

Description détaillée

Définition à la ligne 22 du fichier legacy.php.


Documentation des constructeurs et destructeur

JModelLegacy::__construct (   $config = array())

Constructor

Paramètres:
array$configAn array of configuration options (name, state, dbo, table_path, ignore_request).
Depuis:
12.2
Exceptions:
Exception

Réimplémentée à partir de JObject.

Réimplémentée dans JModelAdmin, et JModelList.

Définition à la ligne 209 du fichier legacy.php.

Références JText\_(), et JFactory\getDbo().

{
// Guess the option from the class name (Option)Model(View).
if (empty($this->option))
{
$r = null;
if (!preg_match('/(.*)Model/i', get_class($this), $r))
{
throw new Exception(JText::_('JLIB_APPLICATION_ERROR_MODEL_GET_NAME'), 500);
}
$this->option = 'com_' . strtolower($r[1]);
}
// Set the view name
if (empty($this->name))
{
if (array_key_exists('name', $config))
{
$this->name = $config['name'];
}
else
{
$this->name = $this->getName();
}
}
// Set the model state
if (array_key_exists('state', $config))
{
$this->state = $config['state'];
}
else
{
$this->state = new JObject;
}
// Set the model dbo
if (array_key_exists('dbo', $config))
{
$this->_db = $config['dbo'];
}
else
{
$this->_db = JFactory::getDbo();
}
// Set the default view search path
if (array_key_exists('table_path', $config))
{
$this->addTablePath($config['table_path']);
}
elseif (defined('JPATH_COMPONENT_ADMINISTRATOR'))
{
$this->addTablePath(JPATH_COMPONENT_ADMINISTRATOR . '/tables');
$this->addTablePath(JPATH_COMPONENT_ADMINISTRATOR . '/table');
}
// Set the internal state marker - used to ignore setting state from the request
if (!empty($config['ignore_request']))
{
$this->__state_set = true;
}
// Set the clean cache event
if (isset($config['event_clean_cache']))
{
$this->event_clean_cache = $config['event_clean_cache'];
}
elseif (empty($this->event_clean_cache))
{
$this->event_clean_cache = 'onContentCleanCache';
}
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des fonctions membres

static JModelLegacy::_createFileName (   $type,
  $parts = array() 
)
staticprotected

Create the filename for a resource

Paramètres:
string$typeThe resource type to create the filename for.
array$partsAn associative array of filename information.
Renvoie:
string The filename
Depuis:
12.2

Définition à la ligne 144 du fichier legacy.php.

{
$filename = '';
switch ($type)
{
case 'model':
$filename = strtolower($parts['name']) . '.php';
break;
}
return $filename;
}
JModelLegacy::_createTable (   $name,
  $prefix = 'Table',
  $config = array() 
)
protected

Method to load and return a model object.

Paramètres:
string$nameThe name of the view
string$prefixThe class prefix. Optional.
array$configConfiguration settings to pass to JTable::getInstance
Renvoie:
mixed Model object or boolean false if failed
Depuis:
12.2
Voir également:
JTable::getInstance()

Définition à la ligne 349 du fichier legacy.php.

Références JTable\getInstance().

{
// Clean the model name
$name = preg_replace('/[^A-Z0-9_]/i', '', $name);
$prefix = preg_replace('/[^A-Z0-9_]/i', '', $prefix);
// Make sure we are returning a DBO object
if (!array_key_exists('dbo', $config))
{
$config['dbo'] = $this->getDbo();
}
return JTable::getInstance($name, $prefix, $config);
}

+ Voici le graphe d'appel pour cette fonction :

JModelLegacy::_getList (   $query,
  $limitstart = 0,
  $limit = 0 
)
protected

Gets an array of objects from the results of database query.

Paramètres:
string$queryThe query.
integer$limitstartOffset.
integer$limitThe number of records.
Renvoie:
array An array of results.
Depuis:
12.2
Exceptions:
RuntimeException

Définition à la ligne 298 du fichier legacy.php.

{
$this->_db->setQuery($query, $limitstart, $limit);
$result = $this->_db->loadObjectList();
return $result;
}
JModelLegacy::_getListCount (   $query)
protected

Returns a record count for the query.

Paramètres:
JDatabaseQuery | string$queryThe query.
Renvoie:
integer Number of rows for query.
Depuis:
12.2

Définition à la ligne 315 du fichier legacy.php.

Références JDatabaseQuery\group().

{
// Use fast COUNT(*) on JDatabaseQuery objects if there no GROUP BY or HAVING clause:
if ($query instanceof JDatabaseQuery
&& $query->type == 'select'
&& $query->group === null
&& $query->having === null)
{
$query = clone $query;
$query->clear('select')->clear('order')->select('COUNT(*)');
$this->_db->setQuery($query);
return (int) $this->_db->loadResult();
}
// Otherwise fall back to inefficient way of counting all results.
$this->_db->setQuery($query);
$this->_db->execute();
return (int) $this->_db->getNumRows();
}

+ Voici le graphe d'appel pour cette fonction :

static JModelLegacy::addIncludePath (   $path = '',
  $prefix = '' 
)
static

Add a directory where JModelLegacy should search for models. You may either pass a string or an array of directories.

Paramètres:
mixed$pathA path or array[sting] of paths to search.
string$prefixA prefix for models.
Renvoie:
array An array with directory elements. If prefix is equal to '', all directories are returned.
Depuis:
12.2

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

Références JPath\clean(), et jimport().

Référencé par JControllerLegacy\addModelPath().

{
static $paths;
if (!isset($paths))
{
$paths = array();
}
if (!isset($paths[$prefix]))
{
$paths[$prefix] = array();
}
if (!isset($paths['']))
{
$paths[''] = array();
}
if (!empty($path))
{
jimport('joomla.filesystem.path');
if (!in_array($path, $paths[$prefix]))
{
array_unshift($paths[$prefix], JPath::clean($path));
}
if (!in_array($path, $paths['']))
{
array_unshift($paths[''], JPath::clean($path));
}
}
return $paths[$prefix];
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

static JModelLegacy::addTablePath (   $path)
static

Adds to the stack of model table paths in LIFO order.

Paramètres:
mixed$pathThe directory as a string or directories as an array to add.
Renvoie:
void
Depuis:
12.2

Définition à la ligne 129 du fichier legacy.php.

Références JTable\addIncludePath().

+ Voici le graphe d'appel pour cette fonction :

JModelLegacy::cleanCache (   $group = null,
  $client_id = 0 
)
protected

Clean the cache

Paramètres:
string$groupThe cache group
integer$client_idThe ID of the client
Renvoie:
void
Depuis:
12.2

Définition à la ligne 557 du fichier legacy.php.

Références JFactory\getApplication(), JFactory\getConfig(), JEventDispatcher\getInstance(), et JCache\getInstance().

{
$options = array(
'defaultgroup' => ($group) ? $group : (isset($this->option) ? $this->option : JFactory::getApplication()->input->get('option')),
'cachebase' => ($client_id) ? JPATH_ADMINISTRATOR . '/cache' : $conf->get('cache_path', JPATH_SITE . '/cache'));
$cache = JCache::getInstance('callback', $options);
$cache->clean();
// Trigger the onContentCleanCache event.
$dispatcher->trigger($this->event_clean_cache, $options);
}

+ Voici le graphe d'appel pour cette fonction :

JModelLegacy::getDbo ( )

Method to get the database driver object

Renvoie:
JDatabaseDriver

Définition à la ligne 369 du fichier legacy.php.

{
return $this->_db;
}
static JModelLegacy::getInstance (   $type,
  $prefix = '',
  $config = array() 
)
static

Returns a Model object, always creating it

Paramètres:
string$typeThe model type to instantiate
string$prefixPrefix for the model class name. Optional.
array$configConfiguration array for model. Optional.
Renvoie:
mixed A model object or false on failure
Depuis:
12.2

Définition à la ligne 169 du fichier legacy.php.

Références JLog\add(), JPath\find(), jimport(), JText\sprintf(), et JLog\WARNING.

Référencé par JControllerLegacy\createModel().

{
$type = preg_replace('/[^A-Z0-9_\.-]/i', '', $type);
$modelClass = $prefix . ucfirst($type);
if (!class_exists($modelClass))
{
jimport('joomla.filesystem.path');
$path = JPath::find(self::addIncludePath(null, $prefix), self::_createFileName('model', array('name' => $type)));
if (!$path)
{
$path = JPath::find(self::addIncludePath(null, ''), self::_createFileName('model', array('name' => $type)));
}
if ($path)
{
require_once $path;
if (!class_exists($modelClass))
{
JLog::add(JText::sprintf('JLIB_APPLICATION_ERROR_MODELCLASS_NOT_FOUND', $modelClass), JLog::WARNING, 'jerror');
return false;
}
}
else
{
return false;
}
}
return new $modelClass($config);
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

JModelLegacy::getName ( )

Method to get the model name

The model name. By default parsed using the classname or it can be set by passing a $config['name'] in the class constructor

Renvoie:
string The name of the model
Depuis:
12.2
Exceptions:
Exception

Définition à la ligne 385 du fichier legacy.php.

Références JText\_().

{
if (empty($this->name))
{
$r = null;
if (!preg_match('/Model(.*)/i', get_class($this), $r))
{
throw new Exception(JText::_('JLIB_APPLICATION_ERROR_MODEL_GET_NAME'), 500);
}
$this->name = strtolower($r[1]);
}
return $this->name;
}

+ Voici le graphe d'appel pour cette fonction :

JModelLegacy::getState (   $property = null,
  $default = null 
)

Method to get model state variables

Paramètres:
string$propertyOptional parameter name
mixed$defaultOptional default value
Renvoie:
object The property where specified, the state object where omitted
Depuis:
12.2

Définition à la ligne 410 du fichier legacy.php.

Référencé par JControllerForm\loadhistory(), et JControllerForm\save().

{
if (!$this->__state_set)
{
// Protected method to auto-populate the model state.
$this->populateState();
// Set the model state set flag to true.
$this->__state_set = true;
}
return $property === null ? $this->state : $this->state->get($property, $default);
}

+ Voici le graphe des appelants de cette fonction :

JModelLegacy::getTable (   $name = '',
  $prefix = 'Table',
  $options = array() 
)

Method to get a table object, load it if necessary.

Paramètres:
string$nameThe table name. Optional.
string$prefixThe class prefix. Optional.
array$optionsConfiguration array for model. Optional.
Renvoie:
JTable A JTable object
Depuis:
12.2
Exceptions:
Exception

Définition à la ligne 436 du fichier legacy.php.

Références JText\sprintf().

Référencé par JControllerForm\loadhistory(), et JControllerForm\save().

{
if (empty($name))
{
$name = $this->getName();
}
if ($table = $this->_createTable($name, $prefix, $options))
{
return $table;
}
throw new Exception(JText::sprintf('JLIB_APPLICATION_ERROR_TABLE_NAME_NOT_SUPPORTED', $name), 0);
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

JModelLegacy::loadHistory (   $version_id,
JTable $table 
)

Method to load a row for editing from the version history table.

Paramètres:
integer$version_idKey to the version history table.
JTable&$tableContent table object being loaded.
Renvoie:
boolean False on failure or error, true otherwise.
Depuis:
12.2

Définition à la ligne 461 du fichier legacy.php.

Références JText\_(), JTable\bind(), JTable\checkIn(), JArrayHelper\fromObject(), JTable\getInstance(), JTable\getKeyName(), et JFactory\getUser().

{
// Only attempt to check the row in if it exists.
if ($version_id)
{
$user = JFactory::getUser();
// Get an instance of the row to checkout.
$historyTable = JTable::getInstance('Contenthistory');
if (!$historyTable->load($version_id))
{
$this->setError($historyTable->getError());
return false;
}
$rowArray = JArrayHelper::fromObject(json_decode($historyTable->version_data));
$typeId = JTable::getInstance('Contenttype')->getTypeId($this->typeAlias);
if ($historyTable->ucm_type_id != $typeId)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_HISTORY_ID_MISMATCH'));
$key = $table->getKeyName();
if (isset($rowArray[$key]))
{
$table->checkIn($rowArray[$key]);
}
return false;
}
}
$this->setState('save_date', $historyTable->save_date);
$this->setState('version_note', $historyTable->version_note);
return $table->bind($rowArray);
}

+ Voici le graphe d'appel pour cette fonction :

JModelLegacy::populateState ( )
protected

Method to auto-populate the model state.

This method should only be called once per instantiation and is designed to be called on the first call to the getState() method unless the model configuration flag to ignore the request is set.

Renvoie:
void
Note:
Calling getState in this method will result in recursion.
Depuis:
12.2

Réimplémentée dans JModelAdmin.

Définition à la ligne 514 du fichier legacy.php.

{
}
JModelLegacy::setDbo (   $db)

Method to set the database driver object

Paramètres:
JDatabaseDriver$dbA JDatabaseDriver based object
Renvoie:
void
Depuis:
12.2

Définition à la ligne 527 du fichier legacy.php.

{
$this->_db = $db;
}
JModelLegacy::setState (   $property,
  $value = null 
)

Method to set model state variables

Paramètres:
string$propertyThe name of the property.
mixed$valueThe value of the property to set or null.
Renvoie:
mixed The previous value of the property or null if not set.
Depuis:
12.2

Définition à la ligne 542 du fichier legacy.php.

{
return $this->state->set($property, $value);
}

Documentation des données membres

JModelLegacy::$__state_set = null
protected

Définition à la ligne 30 du fichier legacy.php.

JModelLegacy::$_db
protected

Définition à la ligne 38 du fichier legacy.php.

JModelLegacy::$event_clean_cache = null
protected

Définition à la ligne 70 du fichier legacy.php.

JModelLegacy::$name
protected

Définition à la ligne 46 du fichier legacy.php.

JModelLegacy::$option = null
protected

Définition à la ligne 54 du fichier legacy.php.

JModelLegacy::$state
protected

Définition à la ligne 62 du fichier legacy.php.


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