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

Liste de tous les membres

Fonctions membres publiques

 __construct (JDatabaseDriver $db)
 bind ($array, $ignore= '')
 check ()
 store ($updateNulls=false)
- Fonctions membres publiques inherited from JTableNested
 debug ($level)
 getPath ($pk=null, $diagnostic=false)
 getTree ($pk=null, $diagnostic=false)
 isLeaf ($pk=null)
 setLocation ($referenceId, $position= 'after')
 move ($delta, $where= '')
 moveByReference ($referenceId, $position= 'after', $pk=null)
 delete ($pk=null, $children=true)
 publish ($pks=null, $state=1, $userId=0)
 orderUp ($pk)
 orderDown ($pk)
 getRootId ()
 rebuild ($parentId=null, $leftId=0, $level=0, $path= '')
 rebuildPath ($pk=null)
 saveorder ($idArray=null, $lft_array=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 ()
 load ($keys=null, $reset=true)
 save ($src, $orderingFilter= '', $ignore= '')
 delete ($pk=null)
 checkOut ($userId, $pk=null)
 checkIn ($pk=null)
 hasPrimaryKey ()
 hit ($pk=null)
 isCheckedOut ($with=0, $against=null)
 getNextOrder ($where= '')
 getPrimaryKey (array $keys=array())
 reorder ($where= '')
- 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

- Attributs publics inherited from JTableNested
 $parent_id
 $level
 $lft
 $rgt
 $alias
- Fonctions membres protégées inherited from JTableNested
 _getNode ($id, $key=null)
 _getTreeRepositionData ($referenceNode, $nodeWidth, $position= 'before')
 _logtable ($showData=true, $showQuery=true)
 _runQuery ($query, $errorMessage)
- Fonctions membres protégées inherited from JTable
 _getAssetName ()
 _getAssetTitle ()
 _getAssetParentId (JTable $table=null, $id=null)
 _lock ()
 _unlock ()
- Attributs protégés inherited from JTableNested
 $_location
 $_location_id
 $_cache = array()
 $_debug = 0
- 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 menu.php.


Documentation des constructeurs et destructeur

JTableMenu::__construct ( JDatabaseDriver  $db)

Constructor

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

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

Références JFactory\getConfig().

{
parent::__construct('#__menu', 'id', $db);
// Set the default access level.
$this->access = (int) JFactory::getConfig()->get('access');
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des fonctions membres

JTableMenu::bind (   $array,
  $ignore = '' 
)

Overloaded bind function

Paramètres:
array$arrayNamed array
mixed$ignoreAn optional array or space separated list of properties to ignore while binding.
Renvoie:
mixed Null if operation was satisfactory, otherwise returns an error
Voir également:
JTable::bind()
Depuis:
11.1

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

Définition à la ligne 47 du fichier menu.php.

Références JText\_(), et JRegistry\loadArray().

{
// Verify that the default home menu is not unset
if ($this->home == '1' && $this->language == '*' && ($array['home'] == '0'))
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_CANNOT_UNSET_DEFAULT_DEFAULT'));
return false;
}
// Verify that the default home menu set to "all" languages" is not unset
if ($this->home == '1' && $this->language == '*' && ($array['language'] != '*'))
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_CANNOT_UNSET_DEFAULT'));
return false;
}
// Verify that the default home menu is not unpublished
if ($this->home == '1' && $this->language == '*' && $array['published'] != '1')
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_UNPUBLISH_DEFAULT_HOME'));
return false;
}
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
return parent::bind($array, $ignore);
}

+ Voici le graphe d'appel pour cette fonction :

JTableMenu::check ( )

Overloaded check function

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

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

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

Références JText\_(), JFolder\folders(), JFactory\getDate(), jimport(), JText\sprintf(), et JApplication\stringURLSafe().

{
// Set correct component id to ensure proper 404 messages with separator items
if ($this->type == "separator")
{
$this->component_id = 0;
}
// If the alias field is empty, set it to the title.
$this->alias = trim($this->alias);
if ((empty($this->alias)) && ($this->type != 'alias' && $this->type != 'url'))
{
$this->alias = $this->title;
}
// Make the alias URL safe.
$this->alias = JApplication::stringURLSafe($this->alias);
if (trim(str_replace('-', '', $this->alias)) == '')
{
$this->alias = JFactory::getDate()->format('Y-m-d-H-i-s');
}
// Cast the home property to an int for checking.
$this->home = (int) $this->home;
// Verify that a first level menu item alias is not 'component'.
if ($this->parent_id == 1 && $this->alias == 'component')
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_COMPONENT'));
return false;
}
// Verify that a first level menu item alias is not the name of a folder.
jimport('joomla.filesystem.folder');
if ($this->parent_id == 1 && in_array($this->alias, JFolder::folders(JPATH_ROOT)))
{
$this->setError(JText::sprintf('JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_FOLDER', $this->alias, $this->alias));
return false;
}
// Verify that the home item a component.
if ($this->home && $this->type != 'component')
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_HOME_NOT_COMPONENT'));
return false;
}
return true;
}

+ Voici le graphe d'appel pour cette fonction :

JTableMenu::store (   $updateNulls = false)

Overloaded store function

Paramètres:
boolean$updateNullsTrue to update fields even if they are null.
Renvoie:
mixed False on failure, positive integer on success.
Voir également:
JTable::store()
Depuis:
11.1

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

Définition à la ligne 157 du fichier menu.php.

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

{
// Verify that the alias is unique
$table = JTable::getInstance('Menu', 'JTable', array('dbo' => $this->getDbo()));
if ($table->load(array('alias' => $this->alias, 'parent_id' => $this->parent_id, 'client_id' => (int) $this->client_id, 'language' => $this->language))
&& ($table->id != $this->id || $this->id == 0))
{
if ($this->menutype == $table->menutype)
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_UNIQUE_ALIAS'));
}
else
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_UNIQUE_ALIAS_ROOT'));
}
return false;
}
// Verify that the home page for this language is unique
if ($this->home == '1')
{
$table = JTable::getInstance('Menu', 'JTable', array('dbo' => $this->getDbo()));
if ($table->load(array('home' => '1', 'language' => $this->language)))
{
if ($table->checked_out && $table->checked_out != $this->checked_out)
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_DEFAULT_CHECKIN_USER_MISMATCH'));
return false;
}
$table->home = 0;
$table->checked_out = 0;
$table->checked_out_time = $db->getNullDate();
$table->store();
}
// Verify that the home page for this menu is unique.
if ($table->load(array('home' => '1', 'menutype' => $this->menutype)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_HOME_NOT_UNIQUE_IN_MENU'));
return false;
}
}
if (!parent::store($updateNulls))
{
return false;
}
// Get the new path in case the node was moved
$pathNodes = $this->getPath();
$segments = array();
foreach ($pathNodes as $node)
{
// Don't include root in path
if ($node->alias != 'root')
{
$segments[] = $node->alias;
}
}
$newPath = trim(implode('/', $segments), ' /\\');
// Use new path for partial rebuild of table
// Rebuild will return positive integer on success, false on failure
return ($this->rebuild($this->{$this->_tbl_key}, $this->lft, $this->level, $newPath) > 0);
}

+ Voici le graphe d'appel pour cette fonction :


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