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

Liste de tous les membres

Fonctions membres publiques

 __construct (JDatabaseDriver $db)
 check ()
 store ($updateNulls=false)
 delete ($pk=null)
- Fonctions membres publiques inherited from JTable
 __construct ($table, $key, JDatabaseDriver $db)
 attachObserver (JObserverInterface $observer)
 getObserverOfClass ($observerClass)
 getFields ()
 appendPrimaryKeys ($query, $pk=null)
 getTableName ()
 getKeyName ($multiple=false)
 getDbo ()
 setDBO (JDatabaseDriver $db)
 setRules ($input)
 getRules ()
 reset ()
 bind ($src, $ignore=array())
 load ($keys=null, $reset=true)
 save ($src, $orderingFilter= '', $ignore= '')
 checkOut ($userId, $pk=null)
 checkIn ($pk=null)
 hasPrimaryKey ()
 hit ($pk=null)
 isCheckedOut ($with=0, $against=null)
 getNextOrder ($where= '')
 getPrimaryKey (array $keys=array())
 reorder ($where= '')
 move ($delta, $where= '')
 publish ($pks=null, $state=1, $userId=0)
- 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)

Additional Inherited Members

- Fonctions membres publiques statiques inherited from JTable
static getInstance ($type, $prefix= 'JTable', $config=array())
static addIncludePath ($path=null)
- Fonctions membres protégées inherited from JTable
 _getAssetName ()
 _getAssetTitle ()
 _getAssetParentId (JTable $table=null, $id=null)
 _lock ()
 _unlock ()
- Attributs protégés inherited from JTable
 $_tbl = ''
 $_tbl_key = ''
 $_tbl_keys = array()
 $_db
 $_trackAssets = false
 $_rules
 $_locked = false
 $_autoincrement = true
 $_observers
- Attributs protégés inherited from JObject
 $_errors = array()

Description détaillée

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


Documentation des constructeurs et destructeur

JTableMenuType::__construct ( JDatabaseDriver  $db)

Constructor

Paramètres:
JDatabaseDriver$dbDatabase driver object.
Depuis:
11.1

Définition à la ligne 28 du fichier type.php.

{
parent::__construct('#__menu_types', 'id', $db);
}

Documentation des fonctions membres

JTableMenuType::check ( )

Overloaded check function

Renvoie:
boolean True on success, false on failure
Voir également:
JTable::check()
Depuis:
11.1

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

Définition à la ligne 41 du fichier type.php.

Références JText\_(), JText\sprintf(), et JApplication\stringURLSafe().

{
$this->menutype = JApplication::stringURLSafe($this->menutype);
if (empty($this->menutype))
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENUTYPE_EMPTY'));
return false;
}
// Sanitise data.
if (trim($this->title) == '')
{
$this->title = $this->menutype;
}
// Check for unique menutype.
$query = $this->_db->getQuery(true)
->select('COUNT(id)')
->from($this->_db->quoteName('#__menu_types'))
->where($this->_db->quoteName('menutype') . ' = ' . $this->_db->quote($this->menutype))
->where($this->_db->quoteName('id') . ' <> ' . (int) $this->id);
$this->_db->setQuery($query);
if ($this->_db->loadResult())
{
$this->setError(JText::sprintf('JLIB_DATABASE_ERROR_MENUTYPE_EXISTS', $this->menutype));
return false;
}
return true;
}

+ Voici le graphe d'appel pour cette fonction :

JTableMenuType::delete (   $pk = null)

Method to delete a row from the database table by primary key value.

Paramètres:
mixed$pkAn optional primary key value to delete. If not set the instance property value is used.
Renvoie:
boolean True on success.

11.1

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

Définition à la ligne 172 du fichier type.php.

Références JText\_(), JTable\getInstance(), JFactory\getUser(), et JText\sprintf().

{
$pk = (is_null($pk)) ? $this->$k : $pk;
// If no primary key is given, return false.
if ($pk !== null)
{
// Get the user id
$userId = JFactory::getUser()->id;
// Get the old value of the table
$table = JTable::getInstance('Menutype', 'JTable');
$table->load($pk);
// Verify that no items are checked out
$query = $this->_db->getQuery(true)
->select('id')
->from('#__menu')
->where('menutype=' . $this->_db->quote($table->menutype))
->where('client_id=0')
->where('(checked_out NOT IN (0,' . (int) $userId . ') OR home=1 AND language=' . $this->_db->quote('*') . ')');
$this->_db->setQuery($query);
if ($this->_db->loadRowList())
{
$this->setError(JText::sprintf('JLIB_DATABASE_ERROR_DELETE_FAILED', get_class($this), JText::_('JLIB_DATABASE_ERROR_MENUTYPE')));
return false;
}
// Verify that no module for this menu are checked out
$query->clear()
->select('id')
->from('#__modules')
->where('module=' . $this->_db->quote('mod_menu'))
->where('params LIKE ' . $this->_db->quote('%"menutype":' . json_encode($table->menutype) . '%'))
->where('checked_out !=' . (int) $userId)
->where('checked_out !=0');
$this->_db->setQuery($query);
if ($this->_db->loadRowList())
{
$this->setError(JText::sprintf('JLIB_DATABASE_ERROR_DELETE_FAILED', get_class($this), JText::_('JLIB_DATABASE_ERROR_MENUTYPE')));
return false;
}
// Delete the menu items
$query->clear()
->delete('#__menu')
->where('menutype=' . $this->_db->quote($table->menutype))
->where('client_id=0');
$this->_db->setQuery($query);
$this->_db->execute();
// Update the module items
$query->clear()
->delete('#__modules')
->where('module=' . $this->_db->quote('mod_menu'))
->where('params LIKE ' . $this->_db->quote('%"menutype":' . json_encode($table->menutype) . '%'));
$this->_db->setQuery($query);
$this->_db->execute();
}
return parent::delete($pk);
}

+ Voici le graphe d'appel pour cette fonction :

JTableMenuType::store (   $updateNulls = false)

Method to store a row in the database from the JTable instance properties. If a primary key value is set the row with that primary key value will be updated with the instance property values. If no primary key value is set a new row will be inserted into the database with the properties from the JTable instance.

Paramètres:
boolean$updateNullsTrue to update fields even if they are null.
Renvoie:
boolean True on success.

11.1

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

Définition à la ligne 90 du fichier type.php.

Références JText\_(), JTable\getInstance(), JFactory\getUser(), et JText\sprintf().

{
if ($this->id)
{
// Get the user id
$userId = JFactory::getUser()->id;
// Get the old value of the table
$table = JTable::getInstance('Menutype', 'JTable');
$table->load($this->id);
// Verify that no items are checked out
$query = $this->_db->getQuery(true)
->select('id')
->from('#__menu')
->where('menutype=' . $this->_db->quote($table->menutype))
->where('checked_out !=' . (int) $userId)
->where('checked_out !=0');
$this->_db->setQuery($query);
if ($this->_db->loadRowList())
{
$this->setError(
JText::sprintf('JLIB_DATABASE_ERROR_STORE_FAILED', get_class($this), JText::_('JLIB_DATABASE_ERROR_MENUTYPE_CHECKOUT'))
);
return false;
}
// Verify that no module for this menu are checked out
$query->clear()
->select('id')
->from('#__modules')
->where('module=' . $this->_db->quote('mod_menu'))
->where('params LIKE ' . $this->_db->quote('%"menutype":' . json_encode($table->menutype) . '%'))
->where('checked_out !=' . (int) $userId)
->where('checked_out !=0');
$this->_db->setQuery($query);
if ($this->_db->loadRowList())
{
$this->setError(
JText::sprintf('JLIB_DATABASE_ERROR_STORE_FAILED', get_class($this), JText::_('JLIB_DATABASE_ERROR_MENUTYPE_CHECKOUT'))
);
return false;
}
// Update the menu items
$query->clear()
->update('#__menu')
->set('menutype=' . $this->_db->quote($this->menutype))
->where('menutype=' . $this->_db->quote($table->menutype));
$this->_db->setQuery($query);
$this->_db->execute();
// Update the module items
$query->clear()
->update('#__modules')
->set(
'params=REPLACE(params,' . $this->_db->quote('"menutype":' . json_encode($table->menutype)) . ',' .
$this->_db->quote('"menutype":' . json_encode($this->menutype)) . ')'
);
$query->where('module=' . $this->_db->quote('mod_menu'))
->where('params LIKE ' . $this->_db->quote('%"menutype":' . json_encode($table->menutype) . '%'));
$this->_db->setQuery($query);
$this->_db->execute();
}
return parent::store($updateNulls);
}

+ Voici le graphe d'appel pour cette fonction :


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